summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--coverage.xml1288
-rw-r--r--vnftest/common/utils.py20
2 files changed, 667 insertions, 641 deletions
diff --git a/coverage.xml b/coverage.xml
index 250900c..1542bad 100644
--- a/coverage.xml
+++ b/coverage.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" ?>
-<coverage branch-rate="0.2669" branches-covered="237" branches-valid="888" complexity="0" line-rate="0.5156" lines-covered="2118" lines-valid="4108" timestamp="1552890843293" version="4.4.2">
+<coverage branch-rate="0.2662" branches-covered="238" branches-valid="894" complexity="0" line-rate="0.5148" lines-covered="2125" lines-valid="4128" timestamp="1554966701600" version="4.4.2">
<!-- Generated by coverage.py: https://coverage.readthedocs.io -->
<!-- Based on https://raw.githubusercontent.com/cobertura/web/master/htdocs/xml/coverage-04.dtd -->
<sources>
@@ -525,7 +525,7 @@
</class>
</classes>
</package>
- <package branch-rate="0.5726" complexity="0" line-rate="0.584" name="common">
+ <package branch-rate="0.572" complexity="0" line-rate="0.5857" name="common">
<classes>
<class branch-rate="1" complexity="0" filename="common/__init__.py" line-rate="1" name="__init__.py">
<methods/>
@@ -1101,7 +1101,7 @@
<line hits="0" number="72"/>
</lines>
</class>
- <class branch-rate="0.6241" complexity="0" filename="common/utils.py" line-rate="0.6695" name="utils.py">
+ <class branch-rate="0.6224" complexity="0" filename="common/utils.py" line-rate="0.6722" name="utils.py">
<methods/>
<lines>
<line hits="1" number="17"/>
@@ -1368,74 +1368,74 @@
<line hits="1" number="423"/>
<line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="425" number="424"/>
<line hits="0" number="425"/>
- <line branch="true" condition-coverage="100% (2/2)" hits="1" number="426"/>
- <line hits="1" number="427"/>
+ <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="427" number="426"/>
+ <line hits="0" number="427"/>
<line branch="true" condition-coverage="100% (2/2)" hits="1" number="428"/>
<line hits="1" number="429"/>
- <line hits="1" number="430"/>
+ <line branch="true" condition-coverage="100% (2/2)" hits="1" number="430"/>
<line hits="1" number="431"/>
- <line branch="true" condition-coverage="100% (2/2)" hits="1" number="432"/>
+ <line hits="1" number="432"/>
<line hits="1" number="433"/>
<line branch="true" condition-coverage="100% (2/2)" hits="1" number="434"/>
- <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="434" number="435"/>
- <line hits="1" number="436"/>
- <line hits="1" number="437"/>
+ <line hits="1" number="435"/>
+ <line branch="true" condition-coverage="100% (2/2)" hits="1" number="436"/>
+ <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="436" number="437"/>
<line hits="1" number="438"/>
- <line branch="true" condition-coverage="100% (2/2)" hits="1" number="440"/>
- <line hits="1" number="441"/>
- <line hits="1" number="442"/>
+ <line hits="1" number="439"/>
+ <line hits="1" number="440"/>
+ <line branch="true" condition-coverage="100% (2/2)" hits="1" number="442"/>
+ <line hits="1" number="443"/>
+ <line hits="1" number="444"/>
<line hits="1" number="445"/>
<line hits="1" number="446"/>
- <line hits="1" number="449"/>
- <line hits="1" number="450"/>
- <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="452" number="451"/>
- <line hits="0" number="452"/>
- <line hits="1" number="453"/>
- <line branch="true" condition-coverage="100% (2/2)" hits="1" number="454"/>
+ <line hits="1" number="447"/>
+ <line hits="1" number="448"/>
+ <line hits="1" number="451"/>
+ <line hits="1" number="452"/>
<line hits="1" number="455"/>
<line hits="1" number="456"/>
- <line branch="true" condition-coverage="100% (2/2)" hits="1" number="457"/>
- <line hits="1" number="458"/>
- <line branch="true" condition-coverage="100% (2/2)" hits="1" number="459"/>
- <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="464" number="460"/>
+ <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="458" number="457"/>
+ <line hits="0" number="458"/>
+ <line hits="1" number="459"/>
+ <line branch="true" condition-coverage="100% (2/2)" hits="1" number="460"/>
<line hits="1" number="461"/>
+ <line hits="1" number="462"/>
+ <line branch="true" condition-coverage="100% (2/2)" hits="1" number="463"/>
<line hits="1" number="464"/>
- <line hits="1" number="466"/>
- <line hits="1" number="468"/>
- <line hits="1" number="469"/>
- <line hits="1" number="471"/>
- <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="473" number="472"/>
- <line hits="0" number="473"/>
+ <line branch="true" condition-coverage="100% (2/2)" hits="1" number="465"/>
+ <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="470" number="466"/>
+ <line hits="1" number="467"/>
+ <line hits="1" number="470"/>
+ <line hits="1" number="472"/>
+ <line hits="1" number="474"/>
<line hits="1" number="475"/>
<line hits="1" number="477"/>
- <line hits="1" number="480"/>
- <line hits="0" number="481"/>
- <line hits="0" number="482"/>
- <line hits="1" number="485"/>
+ <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="479" number="478"/>
+ <line hits="0" number="479"/>
+ <line hits="1" number="481"/>
+ <line hits="1" number="483"/>
<line hits="1" number="486"/>
- <line hits="1" number="487"/>
+ <line hits="0" number="487"/>
<line hits="0" number="488"/>
- <line hits="0" number="489"/>
- <line hits="0" number="490"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="492,493" number="491"/>
- <line hits="0" number="492"/>
- <line hits="0" number="493"/>
- <line hits="1" number="496"/>
- <line hits="0" number="497"/>
+ <line hits="1" number="491"/>
+ <line hits="1" number="492"/>
+ <line hits="1" number="493"/>
+ <line hits="0" number="494"/>
+ <line hits="0" number="495"/>
+ <line hits="0" number="496"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="498,499" number="497"/>
<line hits="0" number="498"/>
<line hits="0" number="499"/>
- <line hits="0" number="500"/>
- <line hits="0" number="501"/>
- <line hits="0" number="502"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="504,505" number="503"/>
+ <line hits="1" number="502"/>
+ <line hits="0" number="503"/>
<line hits="0" number="504"/>
<line hits="0" number="505"/>
- <line hits="1" number="508"/>
- <line branch="true" condition-coverage="100% (2/2)" hits="1" number="509"/>
- <line hits="1" number="510"/>
- <line branch="true" condition-coverage="100% (2/2)" hits="1" number="511"/>
- <line hits="1" number="512"/>
- <line hits="1" number="513"/>
+ <line hits="0" number="506"/>
+ <line hits="0" number="507"/>
+ <line hits="0" number="508"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="510,511" number="509"/>
+ <line hits="0" number="510"/>
+ <line hits="0" number="511"/>
<line hits="1" number="514"/>
<line branch="true" condition-coverage="100% (2/2)" hits="1" number="515"/>
<line hits="1" number="516"/>
@@ -1443,24 +1443,30 @@
<line hits="1" number="518"/>
<line hits="1" number="519"/>
<line hits="1" number="520"/>
- <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="522" number="521"/>
- <line hits="0" number="522"/>
+ <line branch="true" condition-coverage="100% (2/2)" hits="1" number="521"/>
+ <line hits="1" number="522"/>
+ <line branch="true" condition-coverage="100% (2/2)" hits="1" number="523"/>
<line hits="1" number="524"/>
<line hits="1" number="525"/>
- <line branch="true" condition-coverage="100% (2/2)" hits="1" number="526"/>
- <line branch="true" condition-coverage="100% (2/2)" hits="1" number="528"/>
- <line hits="1" number="529"/>
+ <line hits="1" number="526"/>
+ <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="528" number="527"/>
+ <line hits="0" number="528"/>
+ <line hits="1" number="530"/>
<line hits="1" number="531"/>
- <line hits="1" number="532"/>
- <line hits="1" number="533"/>
- <line hits="0" number="534"/>
- <line hits="0" number="535"/>
- <line hits="0" number="536"/>
- <line hits="0" number="537"/>
- <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="541" number="538"/>
+ <line branch="true" condition-coverage="100% (2/2)" hits="1" number="532"/>
+ <line branch="true" condition-coverage="100% (2/2)" hits="1" number="534"/>
+ <line hits="1" number="535"/>
+ <line hits="1" number="537"/>
+ <line hits="1" number="538"/>
<line hits="1" number="539"/>
+ <line hits="0" number="540"/>
<line hits="0" number="541"/>
- <line hits="1" number="542"/>
+ <line hits="0" number="542"/>
+ <line hits="0" number="543"/>
+ <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="547" number="544"/>
+ <line hits="1" number="545"/>
+ <line hits="0" number="547"/>
+ <line hits="1" number="548"/>
</lines>
</class>
<class branch-rate="0.5" complexity="0" filename="common/yaml_loader.py" line-rate="0.8" name="yaml_loader.py">
@@ -1480,7 +1486,7 @@
</class>
</classes>
</package>
- <package branch-rate="0.05076" complexity="0" line-rate="0.2749" name="contexts">
+ <package branch-rate="0.05076" complexity="0" line-rate="0.2744" name="contexts">
<classes>
<class branch-rate="1" complexity="0" filename="contexts/__init__.py" line-rate="1" name="__init__.py">
<methods/>
@@ -1573,24 +1579,21 @@
<line hits="1" number="32"/>
<line hits="0" number="33"/>
<line hits="1" number="35"/>
- <line hits="0" number="37"/>
- <line hits="1" number="39"/>
- <line hits="0" number="41"/>
+ <line hits="0" number="36"/>
+ <line hits="1" number="38"/>
+ <line hits="0" number="40"/>
</lines>
</class>
- <class branch-rate="0" complexity="0" filename="contexts/heat.py" line-rate="0.1538" name="heat.py">
+ <class branch-rate="0" complexity="0" filename="contexts/heat.py" line-rate="0.1534" name="heat.py">
<methods/>
<lines>
- <line hits="1" number="14"/>
- <line hits="1" number="15"/>
- <line hits="1" number="16"/>
<line hits="1" number="17"/>
<line hits="1" number="18"/>
+ <line hits="1" number="19"/>
<line hits="1" number="20"/>
<line hits="1" number="21"/>
<line hits="1" number="23"/>
<line hits="1" number="24"/>
- <line hits="1" number="25"/>
<line hits="1" number="26"/>
<line hits="1" number="27"/>
<line hits="1" number="28"/>
@@ -1601,18 +1604,18 @@
<line hits="1" number="33"/>
<line hits="1" number="34"/>
<line hits="1" number="35"/>
+ <line hits="1" number="36"/>
<line hits="1" number="37"/>
- <line hits="1" number="39"/>
+ <line hits="1" number="38"/>
+ <line hits="1" number="40"/>
<line hits="1" number="42"/>
- <line hits="0" number="43"/>
- <line hits="1" number="46"/>
- <line hits="0" number="47"/>
- <line hits="1" number="50"/>
+ <line hits="1" number="45"/>
+ <line hits="0" number="46"/>
+ <line hits="1" number="49"/>
+ <line hits="0" number="50"/>
<line hits="1" number="53"/>
- <line hits="1" number="55"/>
- <line hits="0" number="56"/>
- <line hits="0" number="57"/>
- <line hits="0" number="58"/>
+ <line hits="1" number="56"/>
+ <line hits="1" number="58"/>
<line hits="0" number="59"/>
<line hits="0" number="60"/>
<line hits="0" number="61"/>
@@ -1635,322 +1638,325 @@
<line hits="0" number="78"/>
<line hits="0" number="79"/>
<line hits="0" number="80"/>
- <line hits="1" number="82"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="85,99" number="84"/>
- <line hits="0" number="85"/>
- <line hits="0" number="86"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,89" number="88"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="91,98" number="89"/>
- <line hits="0" number="91"/>
- <line hits="0" number="92"/>
- <line hits="0" number="93"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="96,98" number="94"/>
+ <line hits="0" number="81"/>
+ <line hits="0" number="82"/>
+ <line hits="0" number="83"/>
+ <line hits="1" number="85"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="88,102" number="87"/>
+ <line hits="0" number="88"/>
+ <line hits="0" number="89"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,92" number="91"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="94,101" number="92"/>
+ <line hits="0" number="94"/>
+ <line hits="0" number="95"/>
<line hits="0" number="96"/>
- <line hits="0" number="98"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="99,101" number="97"/>
<line hits="0" number="99"/>
- <line hits="1" number="101"/>
- <line hits="0" number="103"/>
- <line hits="0" number="105"/>
+ <line hits="0" number="101"/>
+ <line hits="0" number="102"/>
+ <line hits="1" number="104"/>
<line hits="0" number="106"/>
<line hits="0" number="108"/>
- <line hits="0" number="110"/>
+ <line hits="0" number="109"/>
<line hits="0" number="111"/>
<line hits="0" number="113"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="115,118" number="114"/>
- <line hits="0" number="115"/>
+ <line hits="0" number="114"/>
<line hits="0" number="116"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="118,121" number="117"/>
<line hits="0" number="118"/>
- <line hits="0" number="120"/>
- <line hits="0" number="122"/>
- <line hits="0" number="124"/>
- <line hits="0" number="126"/>
- <line hits="0" number="128"/>
- <line hits="0" number="132"/>
- <line hits="0" number="138"/>
- <line hits="0" number="139"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="142,146" number="141"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,146" number="142"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="147,150" number="146"/>
- <line hits="0" number="147"/>
- <line hits="0" number="148"/>
+ <line hits="0" number="119"/>
+ <line hits="0" number="121"/>
+ <line hits="0" number="123"/>
+ <line hits="0" number="125"/>
+ <line hits="0" number="127"/>
+ <line hits="0" number="129"/>
+ <line hits="0" number="131"/>
+ <line hits="0" number="135"/>
+ <line hits="0" number="141"/>
+ <line hits="0" number="142"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="145,149" number="144"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,149" number="145"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="150,153" number="149"/>
<line hits="0" number="150"/>
- <line hits="1" number="152"/>
+ <line hits="0" number="151"/>
<line hits="0" number="153"/>
- <line hits="0" number="154"/>
- <line hits="0" number="155"/>
+ <line hits="1" number="155"/>
<line hits="0" number="156"/>
<line hits="0" number="157"/>
<line hits="0" number="158"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="160,163" number="159"/>
+ <line hits="0" number="159"/>
<line hits="0" number="160"/>
<line hits="0" number="161"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="163,166" number="162"/>
<line hits="0" number="163"/>
- <line hits="1" number="165"/>
- <line hits="0" number="168"/>
- <line hits="1" number="170"/>
- <line hits="0" number="173"/>
- <line hits="1" number="175"/>
- <line hits="0" number="178"/>
- <line hits="1" number="180"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="184,192" number="183"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="185,192" number="184"/>
- <line hits="0" number="185"/>
- <line hits="0" number="186"/>
- <line hits="0" number="187"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="194,216" number="192"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="195,196" number="194"/>
- <line hits="0" number="195"/>
- <line hits="0" number="196"/>
- <line hits="0" number="202"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="192,208" number="207"/>
- <line hits="0" number="208"/>
+ <line hits="0" number="164"/>
+ <line hits="0" number="166"/>
+ <line hits="1" number="168"/>
+ <line hits="0" number="171"/>
+ <line hits="1" number="173"/>
+ <line hits="0" number="176"/>
+ <line hits="1" number="178"/>
+ <line hits="0" number="181"/>
+ <line hits="1" number="183"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="187,195" number="186"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="188,195" number="187"/>
+ <line hits="0" number="188"/>
+ <line hits="0" number="189"/>
+ <line hits="0" number="190"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="197,219" number="195"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="198,199" number="197"/>
+ <line hits="0" number="198"/>
+ <line hits="0" number="199"/>
+ <line hits="0" number="205"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="195,211" number="210"/>
<line hits="0" number="211"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,224" number="216"/>
- <line hits="0" number="224"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="226,231" number="225"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="225,227" number="226"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="226,228" number="227"/>
- <line hits="0" number="228"/>
- <line hits="0" number="229"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="232,239" number="231"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="231,233" number="232"/>
- <line hits="0" number="233"/>
- <line hits="0" number="234"/>
- <line hits="0" number="235"/>
+ <line hits="0" number="214"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,227" number="219"/>
+ <line hits="0" number="227"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="229,234" number="228"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="228,230" number="229"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="229,231" number="230"/>
+ <line hits="0" number="231"/>
+ <line hits="0" number="232"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="235,242" number="234"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="234,236" number="235"/>
<line hits="0" number="236"/>
+ <line hits="0" number="237"/>
+ <line hits="0" number="238"/>
<line hits="0" number="239"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="241,265" number="240"/>
- <line hits="0" number="241"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="243,246" number="242"/>
- <line hits="0" number="243"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="247,259" number="246"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="248,253" number="247"/>
- <line hits="0" number="248"/>
- <line hits="0" number="249"/>
- <line hits="0" number="253"/>
- <line hits="0" number="255"/>
- <line hits="0" number="259"/>
+ <line hits="0" number="242"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="244,268" number="243"/>
+ <line hits="0" number="244"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="246,249" number="245"/>
+ <line hits="0" number="246"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="250,262" number="249"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="251,256" number="250"/>
+ <line hits="0" number="251"/>
+ <line hits="0" number="252"/>
+ <line hits="0" number="256"/>
+ <line hits="0" number="258"/>
<line hits="0" number="262"/>
<line hits="0" number="265"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="267,273" number="266"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="266,268" number="267"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="267,269" number="268"/>
- <line hits="0" number="269"/>
- <line hits="0" number="270"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="274,284" number="273"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="275,276" number="274"/>
- <line hits="0" number="275"/>
- <line hits="0" number="276"/>
+ <line hits="0" number="268"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="270,276" number="269"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="269,271" number="270"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="270,272" number="271"/>
+ <line hits="0" number="272"/>
+ <line hits="0" number="273"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="277,287" number="276"/>
<line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="278,279" number="277"/>
<line hits="0" number="278"/>
<line hits="0" number="279"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="281,282" number="280"/>
<line hits="0" number="281"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="285,288" number="284"/>
- <line hits="0" number="285"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,290" number="288"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="288,291" number="290"/>
- <line hits="0" number="291"/>
- <line hits="0" number="293"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="295,296" number="294"/>
- <line hits="0" number="295"/>
+ <line hits="0" number="282"/>
+ <line hits="0" number="284"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="288,291" number="287"/>
+ <line hits="0" number="288"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,293" number="291"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="291,294" number="293"/>
+ <line hits="0" number="294"/>
<line hits="0" number="296"/>
- <line hits="1" number="300"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="302,304" number="301"/>
- <line hits="0" number="302"/>
- <line hits="0" number="304"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,306" number="305"/>
- <line branch="true" condition-coverage="0% (0/3)" hits="0" missing-branches="exit,305,307" number="306"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="298,299" number="297"/>
+ <line hits="0" number="298"/>
+ <line hits="0" number="299"/>
+ <line hits="1" number="303"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="305,307" number="304"/>
+ <line hits="0" number="305"/>
<line hits="0" number="307"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,309" number="308"/>
+ <line branch="true" condition-coverage="0% (0/3)" hits="0" missing-branches="exit,308,310" number="309"/>
<line hits="0" number="310"/>
- <line hits="0" number="311"/>
- <line hits="1" number="313"/>
+ <line hits="0" number="313"/>
<line hits="0" number="314"/>
- <line hits="0" number="315"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="318,319" number="317"/>
+ <line hits="1" number="316"/>
+ <line hits="0" number="317"/>
<line hits="0" number="318"/>
- <line hits="0" number="319"/>
- <line hits="0" number="320"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="321,322" number="320"/>
+ <line hits="0" number="321"/>
<line hits="0" number="322"/>
- <line hits="1" number="324"/>
+ <line hits="0" number="323"/>
<line hits="0" number="325"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="327,329" number="326"/>
- <line hits="0" number="327"/>
- <line hits="0" number="329"/>
+ <line hits="1" number="327"/>
+ <line hits="0" number="328"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="330,332" number="329"/>
<line hits="0" number="330"/>
- <line hits="1" number="332"/>
- <line hits="0" number="334"/>
- <line hits="0" number="346"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="352,354" number="351"/>
- <line hits="0" number="352"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="356,361" number="354"/>
- <line hits="0" number="356"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="358,364" number="357"/>
+ <line hits="0" number="332"/>
+ <line hits="0" number="333"/>
+ <line hits="1" number="335"/>
+ <line hits="0" number="337"/>
+ <line hits="0" number="348"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="354,356" number="353"/>
+ <line hits="0" number="354"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="358,363" number="356"/>
<line hits="0" number="358"/>
- <line hits="0" number="361"/>
- <line hits="0" number="364"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="368,377" number="367"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="369,370" number="368"/>
- <line hits="0" number="369"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="371,373" number="370"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="360,366" number="359"/>
+ <line hits="0" number="360"/>
+ <line hits="0" number="363"/>
+ <line hits="0" number="366"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="370,379" number="369"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="371,372" number="370"/>
<line hits="0" number="371"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="367,374" number="373"/>
- <line hits="0" number="374"/>
- <line hits="0" number="377"/>
- <line hits="1" number="379"/>
- <line hits="0" number="381"/>
- <line hits="0" number="382"/>
- <line hits="1" number="384"/>
- <line hits="0" number="386"/>
- <line hits="0" number="387"/>
- <line hits="1" number="389"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,391" number="390"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="390,392" number="391"/>
- <line hits="0" number="392"/>
- <line hits="0" number="393"/>
- <line hits="0" number="394"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="373,375" number="372"/>
+ <line hits="0" number="373"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="369,376" number="375"/>
+ <line hits="0" number="376"/>
+ <line hits="0" number="379"/>
+ <line hits="0" number="380"/>
+ <line hits="1" number="382"/>
+ <line hits="0" number="384"/>
+ <line hits="0" number="385"/>
+ <line hits="1" number="387"/>
+ <line hits="0" number="389"/>
+ <line hits="0" number="390"/>
+ <line hits="1" number="392"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,394" number="393"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="393,395" number="394"/>
<line hits="0" number="395"/>
- <line hits="1" number="397"/>
+ <line hits="0" number="396"/>
+ <line hits="0" number="397"/>
<line hits="0" number="398"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="400,410" number="399"/>
- <line hits="0" number="400"/>
+ <line hits="1" number="400"/>
<line hits="0" number="401"/>
- <line hits="0" number="402"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="403,413" number="402"/>
<line hits="0" number="403"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="406,407" number="404"/>
+ <line hits="0" number="404"/>
+ <line hits="0" number="405"/>
<line hits="0" number="406"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="399,408" number="407"/>
- <line hits="0" number="408"/>
- <line hits="0" number="410"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,412" number="411"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="411,414" number="412"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="415,416" number="414"/>
- <line hits="0" number="415"/>
- <line hits="0" number="416"/>
- <line hits="0" number="420"/>
- <line hits="1" number="422"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="409,410" number="407"/>
+ <line hits="0" number="409"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="402,411" number="410"/>
+ <line hits="0" number="411"/>
+ <line hits="0" number="413"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,415" number="414"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="414,417" number="415"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="418,419" number="417"/>
+ <line hits="0" number="418"/>
+ <line hits="0" number="419"/>
<line hits="0" number="423"/>
- <line hits="0" number="424"/>
+ <line hits="1" number="425"/>
<line hits="0" number="426"/>
- <line hits="0" number="430"/>
+ <line hits="0" number="427"/>
+ <line hits="0" number="429"/>
<line hits="0" number="433"/>
- <line hits="1" number="452"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,454" number="453"/>
- <line hits="0" number="454"/>
- <line hits="0" number="455"/>
- <line hits="0" number="456"/>
+ <line hits="0" number="436"/>
+ <line hits="1" number="455"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,457" number="456"/>
<line hits="0" number="457"/>
<line hits="0" number="458"/>
- <line hits="1" number="461"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="464,467" number="463"/>
- <line hits="0" number="464"/>
- <line hits="0" number="465"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="468,475" number="467"/>
+ <line hits="0" number="459"/>
+ <line hits="0" number="460"/>
+ <line hits="0" number="461"/>
+ <line hits="1" number="464"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="467,470" number="466"/>
+ <line hits="0" number="467"/>
<line hits="0" number="468"/>
- <line hits="0" number="469"/>
- <line hits="0" number="470"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="471,478" number="470"/>
<line hits="0" number="471"/>
+ <line hits="0" number="472"/>
<line hits="0" number="473"/>
- <line hits="0" number="475"/>
- <line hits="1" number="477"/>
- <line hits="0" number="479"/>
- <line hits="0" number="489"/>
- <line hits="1" number="491"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="497,509" number="496"/>
- <line hits="0" number="497"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="499,502" number="498"/>
- <line hits="0" number="499"/>
+ <line hits="0" number="474"/>
+ <line hits="0" number="476"/>
+ <line hits="0" number="478"/>
+ <line hits="1" number="480"/>
+ <line hits="0" number="482"/>
+ <line hits="0" number="492"/>
+ <line hits="1" number="494"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="500,512" number="499"/>
+ <line hits="0" number="500"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="502,505" number="501"/>
<line hits="0" number="502"/>
- <line hits="0" number="503"/>
+ <line hits="0" number="505"/>
<line hits="0" number="506"/>
<line hits="0" number="509"/>
- <line hits="0" number="510"/>
- <line hits="0" number="511"/>
<line hits="0" number="512"/>
<line hits="0" number="513"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="515,517" number="514"/>
+ <line hits="0" number="514"/>
<line hits="0" number="515"/>
- <line hits="0" number="517"/>
+ <line hits="0" number="516"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="518,520" number="517"/>
+ <line hits="0" number="518"/>
<line hits="0" number="520"/>
- <line hits="0" number="522"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="536,538" number="535"/>
- <line hits="0" number="536"/>
- <line hits="0" number="538"/>
- <line hits="1" number="540"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="542,546" number="541"/>
- <line hits="0" number="542"/>
- <line hits="0" number="546"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="548,549" number="547"/>
- <line hits="0" number="548"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,550" number="549"/>
- <line hits="0" number="550"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="553,555" number="552"/>
+ <line hits="0" number="523"/>
+ <line hits="0" number="525"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="539,541" number="538"/>
+ <line hits="0" number="539"/>
+ <line hits="0" number="541"/>
+ <line hits="1" number="543"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="545,549" number="544"/>
+ <line hits="0" number="545"/>
+ <line hits="0" number="549"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="551,552" number="550"/>
+ <line hits="0" number="551"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,553" number="552"/>
<line hits="0" number="553"/>
- <line hits="0" number="555"/>
- <line hits="0" number="561"/>
- <line hits="1" number="563"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="556,558" number="555"/>
+ <line hits="0" number="556"/>
+ <line hits="0" number="558"/>
<line hits="0" number="564"/>
<line hits="1" number="566"/>
<line hits="0" number="567"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="569,571" number="568"/>
- <line hits="0" number="569"/>
- <line hits="0" number="571"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="573,575" number="572"/>
- <line hits="0" number="573"/>
- <line hits="0" number="575"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="579,588" number="578"/>
- <line hits="0" number="579"/>
- <line hits="0" number="580"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="583,588" number="582"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="582,584" number="583"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="582,585" number="584"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="584,586" number="585"/>
- <line hits="0" number="586"/>
- <line hits="0" number="588"/>
+ <line hits="1" number="569"/>
+ <line hits="0" number="570"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="572,574" number="571"/>
+ <line hits="0" number="572"/>
+ <line hits="0" number="574"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="576,578" number="575"/>
+ <line hits="0" number="576"/>
+ <line hits="0" number="578"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="582,591" number="581"/>
+ <line hits="0" number="582"/>
+ <line hits="0" number="583"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="586,591" number="585"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="585,587" number="586"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="585,588" number="587"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="587,589" number="588"/>
+ <line hits="0" number="589"/>
+ <line hits="0" number="591"/>
</lines>
</class>
<class branch-rate="0" complexity="0" filename="contexts/model.py" line-rate="0.27" name="model.py">
<methods/>
<lines>
- <line hits="1" number="15"/>
- <line hits="1" number="18"/>
- <line hits="1" number="20"/>
+ <line hits="1" number="16"/>
+ <line hits="1" number="19"/>
<line hits="1" number="21"/>
- <line hits="1" number="23"/>
+ <line hits="1" number="22"/>
<line hits="1" number="24"/>
- <line hits="1" number="26"/>
- <line hits="1" number="29"/>
- <line hits="1" number="32"/>
- <line hits="1" number="37"/>
- <line hits="0" number="39"/>
+ <line hits="1" number="25"/>
+ <line hits="1" number="27"/>
+ <line hits="1" number="30"/>
+ <line hits="1" number="33"/>
+ <line hits="1" number="38"/>
<line hits="0" number="40"/>
- <line hits="0" number="43"/>
+ <line hits="0" number="41"/>
<line hits="0" number="44"/>
- <line hits="1" number="46"/>
- <line hits="0" number="49"/>
- <line hits="1" number="52"/>
- <line hits="1" number="57"/>
- <line hits="1" number="59"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="61,63" number="60"/>
- <line hits="0" number="61"/>
- <line hits="0" number="63"/>
+ <line hits="0" number="45"/>
+ <line hits="1" number="47"/>
+ <line hits="0" number="50"/>
+ <line hits="1" number="53"/>
+ <line hits="1" number="58"/>
+ <line hits="1" number="60"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="62,64" number="61"/>
+ <line hits="0" number="62"/>
<line hits="0" number="64"/>
<line hits="0" number="65"/>
<line hits="0" number="66"/>
<line hits="0" number="67"/>
- <line hits="1" number="69"/>
- <line hits="0" number="70"/>
- <line hits="1" number="72"/>
- <line hits="0" number="74"/>
- <line hits="1" number="102"/>
- <line hits="1" number="105"/>
- <line hits="0" number="106"/>
- <line hits="0" number="108"/>
+ <line hits="0" number="68"/>
+ <line hits="1" number="70"/>
+ <line hits="0" number="71"/>
+ <line hits="1" number="73"/>
+ <line hits="0" number="75"/>
+ <line hits="1" number="103"/>
+ <line hits="1" number="106"/>
+ <line hits="0" number="107"/>
<line hits="0" number="109"/>
<line hits="0" number="110"/>
- <line hits="1" number="113"/>
- <line hits="1" number="115"/>
- <line hits="1" number="117"/>
- <line hits="0" number="118"/>
+ <line hits="0" number="111"/>
+ <line hits="1" number="114"/>
+ <line hits="1" number="116"/>
+ <line hits="1" number="118"/>
<line hits="0" number="119"/>
<line hits="0" number="120"/>
<line hits="0" number="121"/>
@@ -1964,58 +1970,59 @@
<line hits="0" number="129"/>
<line hits="0" number="130"/>
<line hits="0" number="131"/>
- <line hits="0" number="133"/>
+ <line hits="0" number="132"/>
<line hits="0" number="134"/>
- <line hits="0" number="136"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="140,142" number="139"/>
- <line hits="0" number="140"/>
- <line hits="0" number="142"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="144,148" number="143"/>
- <line hits="0" number="144"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,146" number="145"/>
- <line hits="0" number="146"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="149,151" number="148"/>
- <line hits="0" number="149"/>
- <line hits="0" number="151"/>
- <line hits="1" number="153"/>
- <line hits="0" number="154"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="156,157" number="155"/>
- <line hits="0" number="156"/>
+ <line hits="0" number="135"/>
+ <line hits="0" number="137"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="141,143" number="140"/>
+ <line hits="0" number="141"/>
+ <line hits="0" number="143"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="145,149" number="144"/>
+ <line hits="0" number="145"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,147" number="146"/>
+ <line hits="0" number="147"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="150,152" number="149"/>
+ <line hits="0" number="150"/>
+ <line hits="0" number="152"/>
+ <line hits="1" number="154"/>
+ <line hits="0" number="155"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="157,158" number="156"/>
<line hits="0" number="157"/>
- <line hits="1" number="159"/>
- <line hits="0" number="160"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="162,163" number="161"/>
- <line hits="0" number="162"/>
+ <line hits="0" number="158"/>
+ <line hits="1" number="160"/>
+ <line hits="0" number="161"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="163,164" number="162"/>
<line hits="0" number="163"/>
- <line hits="1" number="165"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="168,169" number="167"/>
- <line hits="0" number="168"/>
+ <line hits="0" number="164"/>
+ <line hits="1" number="166"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="169,170" number="168"/>
<line hits="0" number="169"/>
- <line hits="1" number="171"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,175" number="174"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="174,176" number="175"/>
- <line hits="0" number="176"/>
- <line hits="1" number="178"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="184,186" number="183"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="183,185" number="184"/>
- <line hits="0" number="185"/>
+ <line hits="0" number="170"/>
+ <line hits="1" number="172"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,176" number="175"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="175,177" number="176"/>
+ <line hits="0" number="177"/>
+ <line hits="1" number="179"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="185,187" number="184"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="184,186" number="185"/>
<line hits="0" number="186"/>
- <line hits="1" number="415"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="420,425" number="419"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="421,423" number="420"/>
- <line hits="0" number="421"/>
- <line hits="0" number="423"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="426,428" number="425"/>
- <line hits="0" number="426"/>
- <line hits="0" number="428"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,431" number="430"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="430,432" number="431"/>
- <line hits="0" number="432"/>
+ <line hits="0" number="187"/>
+ <line hits="1" number="416"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="421,426" number="420"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="422,424" number="421"/>
+ <line hits="0" number="422"/>
+ <line hits="0" number="424"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="427,429" number="426"/>
+ <line hits="0" number="427"/>
+ <line hits="0" number="429"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,432" number="431"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="431,433" number="432"/>
+ <line hits="0" number="433"/>
</lines>
</class>
</classes>
</package>
- <package branch-rate="0.5227" complexity="0" line-rate="0.7617" name="core">
+ <package branch-rate="0.4792" complexity="0" line-rate="0.7419" name="core">
<classes>
<class branch-rate="1" complexity="0" filename="core/__init__.py" line-rate="1" name="__init__.py">
<methods/>
@@ -2194,7 +2201,7 @@
<line hits="1" number="22"/>
</lines>
</class>
- <class branch-rate="0.4412" complexity="0" filename="core/task.py" line-rate="0.6883" name="task.py">
+ <class branch-rate="0.3947" complexity="0" filename="core/task.py" line-rate="0.6467" name="task.py">
<methods/>
<lines>
<line hits="1" number="17"/>
@@ -2214,7 +2221,7 @@
<line hits="1" number="34"/>
<line hits="1" number="35"/>
<line hits="1" number="37"/>
- <line hits="1" number="38"/>
+ <line hits="1" number="39"/>
<line hits="1" number="40"/>
<line hits="1" number="41"/>
<line hits="1" number="42"/>
@@ -2228,129 +2235,142 @@
<line hits="1" number="50"/>
<line hits="1" number="51"/>
<line hits="1" number="52"/>
- <line hits="1" number="53"/>
+ <line hits="1" number="54"/>
<line hits="1" number="55"/>
- <line hits="1" number="56"/>
- <line hits="1" number="334"/>
- <line hits="1" number="335"/>
- <line hits="1" number="336"/>
- <line hits="1" number="337"/>
- <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="339" number="338"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="340,342" number="339"/>
- <line hits="0" number="340"/>
- <line hits="0" number="341"/>
- <line hits="1" number="342"/>
- <line hits="1" number="343"/>
- <line branch="true" condition-coverage="100% (2/2)" hits="1" number="344"/>
- <line hits="1" number="345"/>
+ <line hits="1" number="338"/>
+ <line hits="1" number="339"/>
+ <line hits="1" number="340"/>
+ <line hits="1" number="341"/>
+ <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="343" number="342"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="344,346" number="343"/>
+ <line hits="0" number="344"/>
+ <line hits="0" number="345"/>
<line hits="1" number="346"/>
<line hits="1" number="347"/>
- <line hits="1" number="503"/>
- <line hits="1" number="505"/>
- <line hits="1" number="506"/>
+ <line branch="true" condition-coverage="100% (2/2)" hits="1" number="348"/>
+ <line hits="1" number="349"/>
+ <line hits="1" number="350"/>
+ <line hits="1" number="351"/>
<line hits="1" number="507"/>
- <line hits="1" number="508"/>
<line hits="1" number="509"/>
<line hits="1" number="510"/>
<line hits="1" number="511"/>
<line hits="1" number="512"/>
<line hits="1" number="513"/>
+ <line hits="1" number="514"/>
<line hits="1" number="515"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,517" number="516"/>
- <line hits="0" number="517"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="519,522" number="518"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="518,520" number="519"/>
- <line hits="0" number="520"/>
- <line hits="0" number="521"/>
+ <line hits="1" number="516"/>
+ <line hits="1" number="517"/>
+ <line hits="1" number="518"/>
+ <line hits="1" number="520"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,522" number="521"/>
<line hits="0" number="522"/>
- <line hits="0" number="523"/>
- <line hits="1" number="525"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="524,527" number="523"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="523,525" number="524"/>
+ <line hits="0" number="525"/>
<line hits="0" number="526"/>
<line hits="0" number="527"/>
- <line hits="1" number="529"/>
- <line hits="0" number="530"/>
+ <line hits="0" number="528"/>
+ <line hits="1" number="530"/>
<line hits="0" number="531"/>
<line hits="0" number="532"/>
<line hits="1" number="534"/>
- <line hits="1" number="535"/>
- <line hits="1" number="536"/>
- <line hits="1" number="537"/>
+ <line hits="0" number="535"/>
+ <line hits="0" number="536"/>
+ <line hits="0" number="537"/>
<line hits="1" number="539"/>
<line hits="1" number="540"/>
- <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="exit" number="541"/>
+ <line hits="1" number="541"/>
<line hits="1" number="542"/>
- <line branch="true" condition-coverage="100% (2/2)" hits="1" number="543"/>
- <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="545" number="544"/>
- <line hits="0" number="545"/>
- <line hits="0" number="546"/>
+ <line hits="1" number="544"/>
+ <line hits="1" number="545"/>
+ <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="exit" number="546"/>
<line hits="1" number="547"/>
- <line hits="1" number="548"/>
- <line hits="1" number="550"/>
- <line hits="1" number="551"/>
+ <line branch="true" condition-coverage="100% (2/2)" hits="1" number="548"/>
+ <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="550" number="549"/>
+ <line hits="0" number="550"/>
+ <line hits="0" number="551"/>
<line hits="1" number="552"/>
<line hits="1" number="553"/>
- <line hits="1" number="554"/>
<line hits="1" number="555"/>
<line hits="1" number="556"/>
<line hits="1" number="557"/>
+ <line hits="1" number="558"/>
<line hits="1" number="559"/>
<line hits="1" number="560"/>
<line hits="1" number="561"/>
- <line hits="1" number="563"/>
+ <line hits="1" number="562"/>
<line hits="1" number="564"/>
<line hits="1" number="565"/>
- <line branch="true" condition-coverage="100% (2/2)" hits="1" number="566"/>
- <line hits="1" number="567"/>
- <line branch="true" condition-coverage="100% (2/2)" hits="1" number="573"/>
- <line hits="1" number="574"/>
- <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="577" number="576"/>
- <line hits="0" number="577"/>
- <line hits="0" number="578"/>
+ <line hits="1" number="566"/>
+ <line hits="1" number="568"/>
+ <line hits="1" number="569"/>
+ <line hits="1" number="570"/>
+ <line branch="true" condition-coverage="100% (2/2)" hits="1" number="571"/>
+ <line hits="1" number="572"/>
+ <line branch="true" condition-coverage="100% (2/2)" hits="1" number="578"/>
<line hits="1" number="579"/>
- <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="581" number="580"/>
- <line hits="0" number="581"/>
- <line hits="1" number="583"/>
+ <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="582" number="581"/>
+ <line hits="0" number="582"/>
+ <line hits="0" number="583"/>
<line hits="1" number="584"/>
- <line hits="1" number="586"/>
- <line hits="1" number="587"/>
- <line hits="1" number="590"/>
+ <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="586" number="585"/>
+ <line hits="0" number="586"/>
+ <line hits="1" number="588"/>
+ <line hits="1" number="589"/>
+ <line hits="1" number="591"/>
<line hits="0" number="592"/>
<line hits="0" number="593"/>
<line hits="0" number="594"/>
<line hits="0" number="595"/>
- <line hits="0" number="597"/>
- <line hits="0" number="598"/>
+ <line hits="0" number="596"/>
+ <line hits="1" number="598"/>
<line hits="0" number="599"/>
<line hits="0" number="600"/>
- <line hits="0" number="602"/>
- <line hits="1" number="605"/>
- <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="607" number="606"/>
- <line hits="0" number="607"/>
- <line hits="1" number="609"/>
- <line hits="1" number="612"/>
- <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="614" number="613"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="602,604" number="601"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="603,604" number="602"/>
+ <line hits="0" number="603"/>
+ <line hits="0" number="604"/>
+ <line hits="1" number="606"/>
+ <line hits="1" number="607"/>
+ <line hits="1" number="610"/>
+ <line hits="0" number="612"/>
+ <line hits="0" number="613"/>
<line hits="0" number="614"/>
<line hits="0" number="615"/>
- <line hits="1" number="616"/>
- <line hits="1" number="617"/>
- <line hits="1" number="618"/>
- <line hits="1" number="621"/>
+ <line hits="0" number="617"/>
+ <line hits="0" number="618"/>
+ <line hits="0" number="619"/>
+ <line hits="0" number="620"/>
<line hits="0" number="622"/>
- <line hits="1" number="626"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="628,630" number="627"/>
- <line hits="0" number="628"/>
- <line hits="0" number="630"/>
- <line hits="0" number="631"/>
- <line hits="0" number="632"/>
- <line hits="0" number="633"/>
+ <line hits="1" number="625"/>
+ <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="627" number="626"/>
+ <line hits="0" number="627"/>
+ <line hits="1" number="629"/>
+ <line hits="1" number="632"/>
+ <line branch="true" condition-coverage="50% (1/2)" hits="1" missing-branches="634" number="633"/>
<line hits="0" number="634"/>
<line hits="0" number="635"/>
- <line hits="0" number="637"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="640,644" number="639"/>
- <line hits="0" number="640"/>
- <line hits="0" number="641"/>
- <line hits="0" number="643"/>
- <line hits="0" number="644"/>
+ <line hits="1" number="636"/>
+ <line hits="1" number="637"/>
+ <line hits="1" number="638"/>
+ <line hits="1" number="641"/>
+ <line hits="0" number="642"/>
+ <line hits="1" number="646"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="648,650" number="647"/>
+ <line hits="0" number="648"/>
+ <line hits="0" number="650"/>
+ <line hits="0" number="651"/>
+ <line hits="0" number="652"/>
+ <line hits="0" number="653"/>
+ <line hits="0" number="654"/>
+ <line hits="0" number="655"/>
+ <line hits="0" number="657"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="660,664" number="659"/>
+ <line hits="0" number="660"/>
+ <line hits="0" number="661"/>
+ <line hits="0" number="663"/>
+ <line hits="0" number="664"/>
</lines>
</class>
<class branch-rate="1" complexity="0" filename="core/testcase.py" line-rate="0.7869" name="testcase.py">
@@ -2832,8 +2852,7 @@
<class branch-rate="0" complexity="0" filename="orchestrator/heat.py" line-rate="0.2227" name="heat.py">
<methods/>
<lines>
- <line hits="1" number="15"/>
- <line hits="1" number="17"/>
+ <line hits="1" number="16"/>
<line hits="1" number="18"/>
<line hits="1" number="19"/>
<line hits="1" number="20"/>
@@ -2843,233 +2862,234 @@
<line hits="1" number="24"/>
<line hits="1" number="25"/>
<line hits="1" number="26"/>
- <line hits="1" number="28"/>
+ <line hits="1" number="27"/>
<line hits="1" number="29"/>
<line hits="1" number="30"/>
- <line hits="1" number="32"/>
+ <line hits="1" number="31"/>
<line hits="1" number="33"/>
<line hits="1" number="34"/>
<line hits="1" number="35"/>
- <line hits="1" number="38"/>
- <line hits="1" number="41"/>
- <line hits="1" number="43"/>
- <line hits="1" number="46"/>
- <line hits="1" number="49"/>
- <line hits="0" number="50"/>
+ <line hits="1" number="36"/>
+ <line hits="1" number="39"/>
+ <line hits="1" number="42"/>
+ <line hits="1" number="44"/>
+ <line hits="1" number="47"/>
+ <line hits="1" number="50"/>
<line hits="0" number="51"/>
<line hits="0" number="52"/>
<line hits="0" number="53"/>
<line hits="0" number="54"/>
- <line hits="1" number="56"/>
- <line hits="0" number="57"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,60" number="58"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,61" number="60"/>
- <line hits="0" number="61"/>
- <line hits="1" number="63"/>
- <line hits="0" number="65"/>
+ <line hits="0" number="55"/>
+ <line hits="1" number="57"/>
+ <line hits="0" number="58"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,61" number="59"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,62" number="61"/>
+ <line hits="0" number="62"/>
+ <line hits="1" number="64"/>
<line hits="0" number="66"/>
<line hits="0" number="67"/>
<line hits="0" number="68"/>
- <line hits="0" number="72"/>
- <line hits="1" number="74"/>
- <line hits="0" number="75"/>
- <line hits="1" number="78"/>
- <line hits="0" number="84"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="86,88" number="85"/>
- <line hits="0" number="86"/>
- <line hits="0" number="88"/>
+ <line hits="0" number="69"/>
+ <line hits="0" number="73"/>
+ <line hits="1" number="75"/>
+ <line hits="0" number="76"/>
+ <line hits="1" number="79"/>
+ <line hits="0" number="85"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="87,89" number="86"/>
+ <line hits="0" number="87"/>
<line hits="0" number="89"/>
- <line hits="1" number="91"/>
- <line hits="0" number="94"/>
- <line hits="1" number="96"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="99,101" number="98"/>
- <line hits="0" number="99"/>
- <line hits="0" number="101"/>
+ <line hits="0" number="90"/>
+ <line hits="1" number="92"/>
+ <line hits="0" number="95"/>
+ <line hits="1" number="97"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="100,102" number="99"/>
+ <line hits="0" number="100"/>
<line hits="0" number="102"/>
<line hits="0" number="103"/>
- <line hits="0" number="107"/>
- <line hits="0" number="109"/>
+ <line hits="0" number="104"/>
+ <line hits="0" number="108"/>
<line hits="0" number="110"/>
<line hits="0" number="111"/>
- <line hits="1" number="113"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,117" number="116"/>
- <line hits="0" number="117"/>
- <line hits="1" number="119"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,123" number="122"/>
- <line hits="0" number="123"/>
- <line hits="1" number="125"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,129" number="128"/>
- <line hits="0" number="129"/>
- <line hits="1" number="132"/>
- <line hits="1" number="135"/>
- <line hits="1" number="141"/>
+ <line hits="0" number="112"/>
+ <line hits="1" number="114"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,118" number="117"/>
+ <line hits="0" number="118"/>
+ <line hits="1" number="120"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,124" number="123"/>
+ <line hits="0" number="124"/>
+ <line hits="1" number="126"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,130" number="129"/>
+ <line hits="0" number="130"/>
+ <line hits="1" number="133"/>
+ <line hits="1" number="136"/>
<line hits="1" number="142"/>
- <line hits="1" number="144"/>
- <line hits="0" number="145"/>
+ <line hits="1" number="143"/>
+ <line hits="1" number="145"/>
<line hits="0" number="146"/>
- <line hits="0" number="159"/>
- <line hits="1" number="161"/>
- <line hits="0" number="163"/>
+ <line hits="0" number="147"/>
+ <line hits="0" number="160"/>
+ <line hits="1" number="162"/>
<line hits="0" number="164"/>
<line hits="0" number="165"/>
<line hits="0" number="166"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="171,173" number="170"/>
- <line hits="0" number="171"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="174,180" number="173"/>
- <line hits="0" number="174"/>
+ <line hits="0" number="167"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="172,174" number="171"/>
+ <line hits="0" number="172"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="175,181" number="174"/>
<line hits="0" number="175"/>
<line hits="0" number="176"/>
<line hits="0" number="177"/>
<line hits="0" number="178"/>
- <line hits="0" number="180"/>
- <line hits="0" number="182"/>
- <line hits="1" number="184"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="189,190" number="188"/>
- <line hits="0" number="189"/>
+ <line hits="0" number="179"/>
+ <line hits="0" number="181"/>
+ <line hits="0" number="183"/>
+ <line hits="1" number="185"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="190,191" number="189"/>
<line hits="0" number="190"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="197,199" number="196"/>
- <line hits="0" number="197"/>
- <line hits="0" number="199"/>
- <line hits="0" number="213"/>
- <line hits="1" number="218"/>
- <line hits="0" number="220"/>
- <line hits="0" number="222"/>
- <line hits="0" number="228"/>
- <line hits="1" number="233"/>
- <line hits="0" number="235"/>
- <line hits="0" number="237"/>
+ <line hits="0" number="191"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="198,200" number="197"/>
+ <line hits="0" number="198"/>
+ <line hits="0" number="200"/>
+ <line hits="0" number="214"/>
+ <line hits="1" number="219"/>
+ <line hits="0" number="221"/>
+ <line hits="0" number="223"/>
+ <line hits="0" number="229"/>
+ <line hits="1" number="234"/>
+ <line hits="0" number="236"/>
<line hits="0" number="238"/>
<line hits="0" number="239"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,246" number="245"/>
- <line hits="0" number="246"/>
- <line hits="1" number="248"/>
- <line hits="0" number="251"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="253,260" number="252"/>
- <line hits="0" number="253"/>
- <line hits="0" number="260"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="269,274" number="268"/>
- <line hits="0" number="269"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="271,274" number="270"/>
- <line hits="0" number="271"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,275" number="274"/>
- <line hits="0" number="275"/>
- <line hits="1" number="287"/>
- <line hits="0" number="290"/>
- <line hits="0" number="292"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="303,304" number="302"/>
- <line hits="0" number="303"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="305,307" number="304"/>
- <line hits="0" number="305"/>
- <line hits="0" number="307"/>
- <line hits="0" number="311"/>
- <line hits="0" number="315"/>
- <line hits="1" number="320"/>
- <line hits="0" number="322"/>
+ <line hits="0" number="240"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,247" number="246"/>
+ <line hits="0" number="247"/>
+ <line hits="1" number="249"/>
+ <line hits="0" number="252"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="254,261" number="253"/>
+ <line hits="0" number="254"/>
+ <line hits="0" number="261"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="270,275" number="269"/>
+ <line hits="0" number="270"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="272,275" number="271"/>
+ <line hits="0" number="272"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="exit,276" number="275"/>
+ <line hits="0" number="276"/>
+ <line hits="1" number="288"/>
+ <line hits="0" number="291"/>
+ <line hits="0" number="293"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="304,305" number="303"/>
+ <line hits="0" number="304"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="306,308" number="305"/>
+ <line hits="0" number="306"/>
+ <line hits="0" number="308"/>
+ <line hits="0" number="312"/>
+ <line hits="0" number="316"/>
+ <line hits="1" number="321"/>
<line hits="0" number="323"/>
- <line hits="1" number="334"/>
- <line hits="0" number="336"/>
- <line hits="0" number="338"/>
- <line hits="1" number="347"/>
- <line hits="0" number="351"/>
+ <line hits="0" number="324"/>
+ <line hits="1" number="335"/>
+ <line hits="0" number="337"/>
+ <line hits="0" number="339"/>
+ <line hits="1" number="348"/>
<line hits="0" number="352"/>
<line hits="0" number="353"/>
- <line hits="0" number="355"/>
- <line hits="0" number="357"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="369,372" number="368"/>
- <line hits="0" number="369"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="373,377" number="372"/>
- <line hits="0" number="373"/>
+ <line hits="0" number="354"/>
+ <line hits="0" number="356"/>
+ <line hits="0" number="358"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="370,373" number="369"/>
+ <line hits="0" number="370"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="374,378" number="373"/>
<line hits="0" number="374"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="378,381" number="377"/>
- <line hits="0" number="378"/>
- <line hits="0" number="381"/>
- <line hits="0" number="383"/>
- <line hits="0" number="387"/>
- <line hits="0" number="391"/>
- <line hits="0" number="395"/>
- <line hits="0" number="399"/>
- <line hits="1" number="404"/>
- <line hits="0" number="409"/>
- <line hits="0" number="412"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="421,423" number="420"/>
- <line hits="0" number="421"/>
- <line hits="0" number="423"/>
- <line hits="1" number="428"/>
- <line hits="0" number="431"/>
- <line hits="0" number="434"/>
- <line hits="1" number="443"/>
- <line hits="0" number="445"/>
+ <line hits="0" number="375"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="379,382" number="378"/>
+ <line hits="0" number="379"/>
+ <line hits="0" number="382"/>
+ <line hits="0" number="384"/>
+ <line hits="0" number="388"/>
+ <line hits="0" number="392"/>
+ <line hits="0" number="396"/>
+ <line hits="0" number="400"/>
+ <line hits="1" number="405"/>
+ <line hits="0" number="410"/>
+ <line hits="0" number="413"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="422,424" number="421"/>
+ <line hits="0" number="422"/>
+ <line hits="0" number="424"/>
+ <line hits="1" number="429"/>
+ <line hits="0" number="432"/>
+ <line hits="0" number="435"/>
+ <line hits="1" number="444"/>
<line hits="0" number="446"/>
- <line hits="1" number="460"/>
- <line hits="0" number="462"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="464,466" number="463"/>
- <line hits="0" number="464"/>
- <line hits="0" number="466"/>
- <line hits="0" number="474"/>
- <line hits="1" number="479"/>
- <line hits="0" number="481"/>
+ <line hits="0" number="447"/>
+ <line hits="1" number="461"/>
+ <line hits="0" number="463"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="465,467" number="464"/>
+ <line hits="0" number="465"/>
+ <line hits="0" number="467"/>
+ <line hits="0" number="475"/>
+ <line hits="1" number="480"/>
<line hits="0" number="482"/>
- <line hits="0" number="484"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="539,542" number="538"/>
- <line hits="0" number="539"/>
+ <line hits="0" number="483"/>
+ <line hits="0" number="485"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="540,543" number="539"/>
<line hits="0" number="540"/>
- <line hits="0" number="542"/>
- <line hits="0" number="544"/>
- <line hits="0" number="553"/>
- <line hits="1" number="558"/>
- <line hits="0" number="562"/>
- <line hits="0" number="565"/>
- <line hits="0" number="570"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="577,579" number="576"/>
- <line hits="0" number="577"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="580,583" number="579"/>
- <line hits="0" number="580"/>
+ <line hits="0" number="541"/>
+ <line hits="0" number="543"/>
+ <line hits="0" number="545"/>
+ <line hits="0" number="554"/>
+ <line hits="1" number="559"/>
+ <line hits="0" number="563"/>
+ <line hits="0" number="566"/>
+ <line hits="0" number="571"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="578,580" number="577"/>
+ <line hits="0" number="578"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="581,584" number="580"/>
<line hits="0" number="581"/>
- <line hits="0" number="583"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="586,588" number="585"/>
- <line hits="0" number="586"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="589,592" number="588"/>
- <line hits="0" number="589"/>
+ <line hits="0" number="582"/>
+ <line hits="0" number="584"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="587,589" number="586"/>
+ <line hits="0" number="587"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="590,593" number="589"/>
<line hits="0" number="590"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="593,599" number="592"/>
- <line hits="0" number="593"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="595,599" number="594"/>
- <line hits="0" number="595"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="600,609" number="599"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="601,609" number="600"/>
- <line hits="0" number="601"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="600,603" number="602"/>
- <line hits="0" number="603"/>
+ <line hits="0" number="591"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="594,600" number="593"/>
+ <line hits="0" number="594"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="596,600" number="595"/>
+ <line hits="0" number="596"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="601,610" number="600"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="602,610" number="601"/>
+ <line hits="0" number="602"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="601,604" number="603"/>
<line hits="0" number="604"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="610,612" number="609"/>
- <line hits="0" number="610"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="613,615" number="612"/>
- <line hits="0" number="613"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="616,619" number="615"/>
- <line hits="0" number="616"/>
+ <line hits="0" number="605"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="611,613" number="610"/>
+ <line hits="0" number="611"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="614,616" number="613"/>
+ <line hits="0" number="614"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="617,620" number="616"/>
<line hits="0" number="617"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="620,624" number="619"/>
- <line hits="0" number="620"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="622,624" number="621"/>
- <line hits="0" number="622"/>
- <line hits="0" number="624"/>
- <line hits="0" number="626"/>
- <line hits="0" number="628"/>
- <line hits="1" number="633"/>
- <line hits="0" number="641"/>
- <line hits="0" number="643"/>
+ <line hits="0" number="618"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="621,625" number="620"/>
+ <line hits="0" number="621"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="623,625" number="622"/>
+ <line hits="0" number="623"/>
+ <line hits="0" number="625"/>
+ <line hits="0" number="627"/>
+ <line hits="0" number="629"/>
+ <line hits="1" number="634"/>
+ <line hits="0" number="642"/>
<line hits="0" number="644"/>
<line hits="0" number="645"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="648,652" number="647"/>
- <line hits="0" number="648"/>
- <line hits="0" number="650"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="653,658" number="652"/>
- <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="654,655" number="653"/>
- <line hits="0" number="654"/>
+ <line hits="0" number="646"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="649,653" number="648"/>
+ <line hits="0" number="649"/>
+ <line hits="0" number="651"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="654,659" number="653"/>
+ <line branch="true" condition-coverage="0% (0/2)" hits="0" missing-branches="655,656" number="654"/>
<line hits="0" number="655"/>
<line hits="0" number="656"/>
- <line hits="0" number="658"/>
- <line hits="0" number="660"/>
+ <line hits="0" number="657"/>
+ <line hits="0" number="659"/>
+ <line hits="0" number="661"/>
</lines>
</class>
</classes>
diff --git a/vnftest/common/utils.py b/vnftest/common/utils.py
index b3f0c05..81dc8d7 100644
--- a/vnftest/common/utils.py
+++ b/vnftest/common/utils.py
@@ -420,26 +420,32 @@ def deep_dotdict(obj):
return obj
-def normalize_data_struct(obj):
+def normalize_data_struct(obj, cache={}):
if obj is None:
return None
+ if id(obj) in cache.keys():
+ return cache[id(obj)]
if isinstance(obj, list):
- nomalized_list = []
+ normalized_list = []
for element in obj:
- element = normalize_data_struct(element)
- nomalized_list.append(element)
- return nomalized_list
+ element = normalize_data_struct(element, cache)
+ normalized_list.append(element)
+ return normalized_list
if isinstance(obj, dict):
normalized_dict = {}
for k, v in obj.items():
if isinstance(k, basestring) and not k.startswith('_'):
- v = normalize_data_struct(v)
+ v = normalize_data_struct(v, cache)
normalized_dict[k] = v
return normalized_dict
# return obj if it is string, integer, bool ect.
if not hasattr(obj, '__dict__'):
return obj
- return normalize_data_struct(obj.__dict__)
+ obj_as_dict = {}
+ cache[id(obj)] = obj_as_dict
+ normalized = normalize_data_struct(obj.__dict__, cache)
+ obj_as_dict.update(normalized)
+ return obj_as_dict
def xml_to_dict(xml_str):