for (scope,steps) in scopes:
print '--------------------',scope
for step in [step for step in steps if TestPlc.valid_step(step)]:
+ try: (step,qualifier)=step.split('@')
+ except: pass
stepname=step
- if step.find("force_") == 0:
- stepname=step.replace("force_","")
- force=True
+ for special in ['force']:
+ stepname = stepname.replace(special+'_',"")
print '*',step,"\r",4*"\t",
try:
- print testplc_method_dict[stepname].__doc__
+ doc=testplc_method_dict[stepname].__doc__
except:
- print "*** no doc found"
+ doc=None
+ if doc: print doc
+ else: print "*** no doc found"
def run (self):
self.init_steps()
parser.add_option("-k","--keep-going",action="store",dest="keep_going",default=False,
help="proceeds even if some steps are failing")
parser.add_option("-D","--dbname",action="store",dest="dbname",default=None,
- help="Used by db_dump and db_restore")
+ help="Used by plc_db_dump and plc_db_restore")
parser.add_option("-v","--verbose", action="store_true", dest="verbose", default=False,
help="Run in verbose mode")
parser.add_option("-i","--interactive",action="store_true",dest="interactive",default=False,
parser.add_option("-n","--dry-run", action="store_true", dest="dry_run", default=False,
help="Show environment and exits")
parser.add_option("-r","--restart-nm", action="store_true", dest="forcenm", default=False,
- help="Force the NM to restart in check_slices step")
+ help="Force the NM to restart in ssh_slices step")
parser.add_option("-t","--trace", action="store", dest="trace_file", default=None,
#default="logs/trace-@TIME@.txt",
help="Trace file location")
names.sort()
all_step_infos += [ ("%s.%s"%(step,name),module_dict[name],force,cross,qualifier) for name in names ]
except :
- print '********** step %s NOT FOUND -- ignored'%(step)
+ utils.header("********** FAILED step %s (NOT FOUND) -- won't be run"%step)
traceback.print_exc()
overall_result = False
# do all steps on all plcs
TIME_FORMAT="%H-%M-%S"
- TRACE_FORMAT="TRACE: beg=%(beg)s end=%(end)s status=%(status)s step=%(stepname)s plc=%(plcname)s force=%(force)s\n"
+ TRACE_FORMAT="TRACE: %(plc_counter)d %(beg)s->%(end)s status=%(status)s step=%(stepname)s plc=%(plcname)s force=%(force)s\n"
for (stepname,method,force,cross,qualifier) in all_step_infos:
plc_counter=0
for (spec,plc_obj) in all_plcs:
continue
try:
force_msg=""
- if force and spec['failed_step']: force_msg=" (forced after %s has failed)"
+ if force and spec['failed_step']: force_msg=" (forced after %s has failed)"%spec['failed_step']
utils.header("********** %d RUNNING step %s%s on plc %s"%(plc_counter,stepname,force_msg,plcname))
if not cross: step_result = method(plc_obj)
else: step_result = method(plc_obj,across_plcs)