From 2a22826c58d581c9b41a0a931394be9fb628ca8d Mon Sep 17 00:00:00 2001 From: Matthew Treinish Date: Wed, 18 Nov 2015 10:14:10 -0500 Subject: [PATCH] Fail if no tests were successfully executed This commit adds another sanity check to ensure we didn't have a test run with just skipped tests. Change-Id: Ie4bd185c209d9e9230ca8a3f54e8a433e82d9c14 --- os_testr/subunit_trace.py | 6 ++++++ .../tests/sample_streams/all_skips.subunit | Bin 0 -> 2453 bytes .../tests/sample_streams/successful.subunit | Bin 0 -> 12563 bytes os_testr/tests/test_subunit_trace.py | 20 ++++++++++++++++++ 4 files changed, 26 insertions(+) create mode 100644 os_testr/tests/sample_streams/all_skips.subunit create mode 100644 os_testr/tests/sample_streams/successful.subunit diff --git a/os_testr/subunit_trace.py b/os_testr/subunit_trace.py index 315d850..1e9b51d 100755 --- a/os_testr/subunit_trace.py +++ b/os_testr/subunit_trace.py @@ -354,6 +354,12 @@ def main(): print_fails(sys.stdout) if not args.no_summary: print_summary(sys.stdout, elapsed_time) + + # NOTE(mtreinish): Ideally this should live in testtools streamSummary + # this is just in place until the behavior lands there (if it ever does) + if count_tests('status', '^success$') == 0: + print("\nNo tests were successful during the run") + exit(1) exit(0 if summary.wasSuccessful() else 1) diff --git a/os_testr/tests/sample_streams/all_skips.subunit b/os_testr/tests/sample_streams/all_skips.subunit new file mode 100644 index 0000000000000000000000000000000000000000..54156b5945c9fe6f598e9a788f470e5ead04d8e9 GIT binary patch literal 2453 zcmdn2&Eyah=Dp_J?d1^-4xYuSC7}h*If=!^3K}J;xdo}kC3=YknR+RSC5iC`Mfu68 z#l@L<>3StViFmMJaeiqLP*l$as3I854gtz(8YV2Bv{}2rVHyq07B5MyDA6y-NzBZ% zPR>Xy0y^5Zv?R@fttd6II6qG+I1wnAs8C#5P>^3#qL5jvP?TC&npu>Z@;m$Ixy{_MyYgT?zv7T3c5;z=P=IVxk!m*7C zW|1Fm(bsdlLE#og1y>-#>HO@OCqUr@j*aKHR$XuiCMlqjb4rU#Qj6k22{k7Xm?ZU_ zAtE7A0dNSmOyrjXh2R2^+i7MC`C+@>w)`F_Yzt`WK6t1bPrhTJ2nzLVkbPfgX)`!P zkQC~`sRR e6q=2VP|{EU literal 0 HcmV?d00001 diff --git a/os_testr/tests/sample_streams/successful.subunit b/os_testr/tests/sample_streams/successful.subunit new file mode 100644 index 0000000000000000000000000000000000000000..6f3b6641252484c5f40d630d4a28ac08208ba2bf GIT binary patch literal 12563 zcmeI2d2ka|9LEczh!vb7j>s?!3uyhLq%s4ihwX2QcgvIVNkBY0$QLj98-<~kz?c%6@9;#G>cA$)nwC4GSf_w?*4x7 z_xt?5@BQ*#DkECc$)j3_XPyE5lizct$thTtguB&Z_&+g`~YVjxKdv1p(?I^J=(}h4l7B6)~Pa+ z%f?ZX%14UhsWGO!Ec|40xEW`@o0Apf;@m7XICW5bN@`NN9Su!NO~?wR{`SDvOKdJ% zMA;G&6EdkcD3eKKlspQqMQJuPB*~T#Z%?z0Cja6EQw}FPh1Xe$vL|4ZNki%}C`zoN zjIX=F^Nx&6RvjwODdaT_u%3Hmw@`?)TX(bfExAL?aXiSW7XY~vW8oM#xyvc=PF0dv z-Z`GiNVBCR*wX89tMUrxHn|witxBxNo5b;oi7j%v)f_e})RW^l3g=yr;wVPSRSQ^N z!Rhk&ilcZzp>PS{;pb3=98TeV*VI)<=!q{fUdH7?yMtUFf~tg^94L;cjF?W_1NPOb zZJ{9Lvy!QA;Vk=sN-UIN#OC7lWidWc{9B=r;@EUPuPw-=JF)ZIwoE_m=!<0ILy>p| zkELE$hYc>BtBRtcz*F*8TyRvW*G=&Tu=)HWHR*j`zpx97N93hByV48e-uQL z1Qt()NJX*#RV3bN@6P3@aGy#}z0zr|zlQW>vf-gjnt)8a+;v6by)N`dOz{9vNj|Bx zpcM$nWXq=u?t)Cx19he8Wa+RCyFn+ziOJlE%mKPOvEtsuF4&-B@$_WS;vk+WV9Qs> z#6v0sVoW;naUjNY^%62;)TZeTK>grZOsdB_MAf3~3r82>^7;+c@<9+3Xz&@I2< z;QuIOn2vhx9JmptqvI`wvZlzL+p=mjMamIn1{E+?nuav7Pe2t_@$=Es54cH zR-O~D8#To=T0r`W9C?@}t(IpJYVje1A`2#3NRQ`HWD5vcQ{?4G!{>k^=aR{0N?0ac zY{(jk*FL`#IYQuBd@FtkGrBGWX>BDVD>+osWJad1k&3Ezh0Ss7Q0z;Jvch2bS<>Y4 zeqYrxw#iVnyT}-4w=1L9`CGO4G!BtQu0gvx+|;2pKZI06kz61_lqVi-jzQ>aVRYKz z;uanz$cDWz?KH^d`{qnjQ`kFgug%sJHn+DC#o3@u4Q|p<_T_GewbJ_}a+oeisxrhfEktqr>PK0k2^Jc3rS4Jz*)^3dOXA z3~NmnYttB(z6!3)`v@ObG_!$2T_5VRdlA(2;--~xtx|t~Dy9l5^;JB;?3x<7f=;Qg zQuUAaJlmG|NYC@j49~{p%C9O)fZG%Z|6(u89Yd|_*Uh{gsjC~yKj2@+b=?E_^MVq; zk7Cr%`%hg1idjJM#P&`Vbh3XG>keqW#|Y${w!BwaEhKR=1aax$loBJ2>od&ybAS6r zat{cZj0NKWVQw&@_Yv&#W9iv4AeapVPm0s3=;8hm{HG4RCqWy+CoF?3PJ=Kmx0&>; z!S?kz-rO<||JI>Q4H+^WEuN?Mop;(0MoxB$nhEYF(euxAS`^H