diff options
author | Moshe <moshehoa@amdocs.com> | 2019-04-04 11:56:48 +0300 |
---|---|---|
committer | Moshe <moshehoa@amdocs.com> | 2019-04-11 10:15:38 +0300 |
commit | 3b9d9e7d03186f8925548b0ce6db5d80e2dfcb8f (patch) | |
tree | 49b7b9989a5cdbfd0c53867e6822103283a1984b | |
parent | c9cdbfc69226a34447f7e5be99a8727ac1ece278 (diff) |
fix s-overflow caused by cyclic reference
Issue-ID: VNFSDK-350
Change-Id: I23c53a7e614841abc54d7e35ddf97cfffaa23a4a
Signed-off-by: Moshe <moshehoa@amdocs.com>
fix test
Issue-ID: VNFSDK-350
Change-Id: I5b3e67c2a595ef9048d6e6fc7181ae3f0248c8d4
Signed-off-by: Moshe <moshehoa@amdocs.com>
coverage report
Issue-ID: VNFSDK-350
Change-Id: I685ba57fd23df551c747efeecd2061fabe825535
Signed-off-by: Moshe <moshehoa@amdocs.com>
-rw-r--r-- | coverage.xml | 1288 | ||||
-rw-r--r-- | vnftest/common/utils.py | 20 |
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): |