X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=system%2FTestMain.py;h=92a87e0a04903e622bc218fb668d5eaf48484b5c;hb=161ead318cbbb6c79437f209052e8a938cce7ec7;hp=f3d38fcdbf5d704bec1443df7246fc6ebd40d694;hpb=3ddfdefd278472fe3d807a36449c27a0da9bc6fa;p=tests.git diff --git a/system/TestMain.py b/system/TestMain.py index f3d38fc..92a87e0 100755 --- a/system/TestMain.py +++ b/system/TestMain.py @@ -173,10 +173,6 @@ steps refer to a method in TestPlc or to a step_* module help="Specify the set of hostnames for the boxes that host the nodes") parser.add_option("-N","--nodes",action="append", dest="ips_vnode", default=[], help="Specify the set of hostname/IP's to use for vnodes") - parser.add_option ('-X', "--lxc",action='store_true',dest='plcs_use_lxc',default=True, - help='use lxc-enabled plc boxes instead of vs-enabled ones') - parser.add_option ('-S', "--vs",action='store_false',dest='plcs_use_lxc', - help='use lxc-enabled plc boxes instead of vs-enabled ones') parser.add_option("-s","--size",action="store",type="int",dest="size",default=1, help="sets test size in # of plcs - default is 1") parser.add_option("-q","--qualifier",action="store",type="int",dest="qualifier",default=None, @@ -228,7 +224,6 @@ steps refer to a method in TestPlc or to a step_* module ('personality','arg-personality',"linux64",None), ('pldistro','arg-pldistro',"onelab",None), ('fcdistro','arg-fcdistro','f14',None), - ('plcs_use_lxc','arg-plcs-use-lxc',False,None), ) : # print 'handling',recname path=filename @@ -286,7 +281,7 @@ steps refer to a method in TestPlc or to a step_* module if self.options.list_steps: self.init_steps() self.list_steps() - return True + return 'SUCCESS' # steps if not self.options.steps: @@ -299,6 +294,7 @@ steps refer to a method in TestPlc or to a step_* module self.options.exclude = [ step.replace('-','_') for step in self.options.exclude ] self.options.ignore = [ step.replace('-','_') for step in self.options.ignore ] + # technicality, decorate known steps to produce the '_ignore' version TestPlc.create_ignore_steps() # exclude @@ -336,7 +332,6 @@ steps refer to a method in TestPlc or to a step_* module raise # provision on local substrate - if self.options.plcs_use_lxc: LocalSubstrate.local_substrate.rescope (plcs_on_vs=False, plcs_on_lxc=True) all_plc_specs = LocalSubstrate.local_substrate.provision(all_plc_specs,self.options) # remember substrate IP address(es) for next run @@ -441,7 +436,7 @@ steps refer to a method in TestPlc or to a step_* module skip_step=True elif answer in ['q','b']: # quit/bye print 'Exiting' - return + return 'FAILURE' elif answer in ['d']: # dry_run dry_run=self.options.dry_run self.options.dry_run=True @@ -473,7 +468,9 @@ steps refer to a method in TestPlc or to a step_* module msg="OK" else: msg="KO" - overall_result='IGNORED' + # do not overwrite if FAILURE + if overall_result=='SUCCESS': + overall_result='IGNORED' utils.header('********** %d IGNORED (%s) step %s on %s'%(plc_counter,msg,stepname,plcname)) status="%s[I]"%msg elif step_result: @@ -518,15 +515,15 @@ steps refer to a method in TestPlc or to a step_* module # wrapper to run, returns a shell-compatible result # retcod: # 0: SUCCESS - # 1: SUCCESS but some ignored steps failed - # 2: FAILED STEP + # 1: FAILURE + # 2: SUCCESS but some ignored steps failed # 3: OTHER ERROR def main(self): try: success=self.run() if success == 'SUCCESS': return 0 - elif success == 'IGNORED': return 1 - else: return 2 + elif success == 'IGNORED': return 2 + else: return 1 except SystemExit: print 'Caught SystemExit' return 3 @@ -535,4 +532,6 @@ steps refer to a method in TestPlc or to a step_* module return 3 if __name__ == "__main__": - sys.exit(TestMain().main()) + exit_code = TestMain().main() + print "TestMain exit code",exit_code + sys.exit(exit_code)