X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=system%2FTestMain.py;h=3fa68163ba0a65a54fa9f88e085d617ec0668576;hb=8980ce2087e5dc37a815e6fca78d881bdb22521c;hp=f3d38fcdbf5d704bec1443df7246fc6ebd40d694;hpb=3ddfdefd278472fe3d807a36449c27a0da9bc6fa;p=tests.git diff --git a/system/TestMain.py b/system/TestMain.py index f3d38fc..3fa6816 100755 --- a/system/TestMain.py +++ b/system/TestMain.py @@ -90,7 +90,8 @@ class TestMain: subversion_id = "Now using git -- version tracker broken" default_config = [ 'default' ] - default_rspec_styles = [ 'pl', 'pg' ] +# default_rspec_styles = [ 'pl', 'pg' ] + default_rspec_styles = [ 'pg' ] default_build_url = "git://git.onelab.eu/tests" @@ -173,10 +174,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 +225,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 +282,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 +295,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 +333,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 @@ -346,7 +342,7 @@ steps refer to a method in TestPlc or to a step_* module ips_bplc_file.close() ips_vplc_file=open('arg-ips-vplc','w') for plc_spec in all_plc_specs: - ips_vplc_file.write("%s\n"%plc_spec['PLC_API_HOST']) + ips_vplc_file.write("%s\n"%plc_spec['settings']['PLC_API_HOST']) ips_vplc_file.close() # ditto for nodes ips_bnode_file=open('arg-ips-bnode','w') @@ -441,7 +437,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 +469,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 +516,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 +533,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)