X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=system%2FTestMain.py;h=ff6098f73646c62ade15b9f5ad25e9dcb420084a;hb=de7d5e8f60adaa9fc3d16efa80eee4968546c839;hp=f3d38fcdbf5d704bec1443df7246fc6ebd40d694;hpb=3ddfdefd278472fe3d807a36449c27a0da9bc6fa;p=tests.git diff --git a/system/TestMain.py b/system/TestMain.py index f3d38fc..ff6098f 100755 --- a/system/TestMain.py +++ b/system/TestMain.py @@ -286,7 +286,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 +299,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 @@ -441,7 +442,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 +474,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 +521,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 +538,5 @@ 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() + sys.exit(exit_code)