if self.options.list_steps:
self.init_steps()
self.list_steps()
- return True
+ return 'SUCCESS'
# steps
if not self.options.steps:
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
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
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:
# 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()
+ print 'run has returned %s'%success
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
if __name__ == "__main__":
exit_code = TestMain().main()
print 'run_log is exiting',exit_code
- sys.exit(TestMain().main())
+ sys.exit(exit_code)