def test_case_runner_init_dut_failed(self): from runner import case_runner, initDUT, createLogDir logpath = './log' if not os.path.exists(logpath): os.mkdir(logpath) logpath += '/ut_runner' logger = createLogger('runner_logger', logpath) casename = 'test_case_runner_2_duts' casefolder = createLogDir(casename, logpath) from common import bench2dict benchfile = './bench.csv' benchfile = './home.csv' bench = bench2dict(benchfile) from Parser import caseParser mode = 'full' cs = caseParser(casename, mode, casefolder) casefile = './runner_case.csv' sdut, lvar, lsetup, lrun, ltear = cs.load(casefile) ldut = list(sdut) ldut[0] = 'N1wrong' errormessage = [] #duts= initDUT(errormessage,bench,ldut,logger, casefolder)#['lnx1', 'lnx2'] self.assertRaises(Exception, initDUT, errormessage, bench, ldut, logger, casefolder)
def test_case_runner_init_dut_failed(self): from runner import case_runner, initDUT, createLogDir logpath ='./log' if not os.path.exists(logpath): os.mkdir(logpath) logpath+='/ut_runner' logger = createLogger('runner_logger', logpath) casename = 'test_case_runner_2_duts' casefolder = createLogDir(casename,logpath) from common import bench2dict benchfile = './bench.csv' benchfile= './home.csv' bench =bench2dict(benchfile) from Parser import caseParser mode = 'full' cs = caseParser(casename, mode, casefolder) casefile = './runner_case.csv' sdut, lvar, lsetup, lrun, ltear =cs.load(casefile) ldut = list(sdut) ldut[0]='N1wrong' errormessage =[] #duts= initDUT(errormessage,bench,ldut,logger, casefolder)#['lnx1', 'lnx2'] self.assertRaises(Exception, initDUT,errormessage,bench, ldut,logger, casefolder)
def test_suiteLoad(self): from runner import case_runner, initDUT, createLogDir logpath ='./log' if not os.path.exists(logpath): os.mkdir(logpath) logpath+='/ut_runner' logger = createLogger('runner_logger', logpath) casename = 'test_suiteLoad' casefolder = createLogDir(casename,logpath) from common import bench2dict where= 'home' benchfile = './bench.csv' casefile = './suite_parser.csv' if where=='home': benchfile= './home.csv' casefile = './suite1.csv' bench =bench2dict(benchfile) from Parser import suiteParser suite = suiteParser(casename, casefolder) st =suite.load(casefile) for i in st: print(i)
def test_suiteLoad(self): from runner import case_runner, initDUT, createLogDir logpath = './log' if not os.path.exists(logpath): os.mkdir(logpath) logpath += '/ut_runner' logger = createLogger('runner_logger', logpath) casename = 'test_suiteLoad' casefolder = createLogDir(casename, logpath) from common import bench2dict where = 'home' benchfile = './bench.csv' casefile = './suite_parser.csv' if where == 'home': benchfile = './home.csv' casefile = './suite1.csv' bench = bench2dict(benchfile) from Parser import suiteParser suite = suiteParser(casename, casefolder) st = suite.load(casefile) for i in st: print(i)
def test_suiteParser(self): from Parser import suiteParser from runner import createLogDir suitefile = './suite_parser.csv' name = 'suite1_parser' logpath = './log' logpath = createLogDir(name, logpath) st = suiteParser(name, logpath) suite = st.load(suitefile, [], 'all') from runner import concurrent parseResult = '' for i in suite: if i[2][0] != concurrent: print(i) parseResult += '%d, %s, %s, %s\n' % ( i[0], i[1], i[2][0].func_name, ' ,'.join( [str(x) for x in i[2][1:]])) else: print(i) for ii in i[2][1]: print('\t' + str(i[0]) + ' ' + str(ii)) parseResult += '\t%d, %s, %s, %s\n' % ( i[0], i[2][0].func_name, ii[0].func_name, ' ,'.join( [str(x) for x in ii[1:]])) expectResult = '''2, continue, run_case_in_suite, rc.py1 home_case.csv home.csv full 3, break, run_case_in_suite, rc.py2 home_case.csv home.csv full 4, continue, loop, 2 ,no_stop ,rc.py3 home_case1.csv home.csv full 5, continue, loop, 2 ,stop_at_fail ,rc.py4 home_case.csv home.csv full 6, concurrent, loop, 2 ,no_stop ,rc.py5 home_case.csv home.csv full 8, concurrent, run_case_in_suite, rc.py6 home_case.csv home.csv full 8, concurrent, run_case_in_suite, rc.py7 home_case.csv home.csv full 9, continue, run_case_in_suite, rc.py8 home_case.csv home.csv full ''' print(parseResult) self.assertEqual(expectResult, parseResult) suite = st.load(suitefile, [], [1, 4, 6]) from runner import concurrent parseResult = '' for i in suite: if i[2][0] != concurrent: print(i) parseResult += '%d, %s, %s, %s\n' % ( i[0], i[1], i[2][0].func_name, ' ,'.join( [str(x) for x in i[2][1:]])) else: print(i) for ii in i[2][1]: print('\t' + str(i[0]) + ' ' + str(ii)) parseResult += '\t%d, %s, %s, %s\n' % ( i[0], i[2][0].func_name, ii[0].func_name, ' ,'.join( [str(x) for x in ii[1:]])) expectResult = '''3, break, run_case_in_suite, rc.py2 home_case.csv home.csv full 9, concurrent, loop, 2 ,no_stop ,rc.py5 home_case.csv home.csv full 9, concurrent, run_case_in_suite, rc.py7 home_case.csv home.csv full ''' print(parseResult) self.assertEqual(expectResult, parseResult)
def test_suiteParser(self): from Parser import suiteParser from runner import createLogDir suitefile = './suite_parser.csv' name = 'suite1_parser' logpath = './log' logpath = createLogDir(name, logpath) st = suiteParser(name, logpath) suite= st.load(suitefile , [], 'all') from runner import concurrent parseResult = '' for i in suite: if i[2][0]!=concurrent: print(i) parseResult+='%d, %s, %s, %s\n'%(i[0], i[1], i[2][0].func_name, ' ,'.join([str(x) for x in i[2][1:]])) else: print(i) for ii in i[2][1]: print('\t'+str(i[0])+' '+str(ii)) parseResult+='\t%d, %s, %s, %s\n'%(i[0],i[2][0].func_name,ii[0].func_name, ' ,'.join([str(x) for x in ii[1:]]) ) expectResult = '''2, continue, run_case_in_suite, rc.py1 home_case.csv home.csv full 3, break, run_case_in_suite, rc.py2 home_case.csv home.csv full 4, continue, loop, 2 ,no_stop ,rc.py3 home_case1.csv home.csv full 5, continue, loop, 2 ,stop_at_fail ,rc.py4 home_case.csv home.csv full 6, concurrent, loop, 2 ,no_stop ,rc.py5 home_case.csv home.csv full 8, concurrent, run_case_in_suite, rc.py6 home_case.csv home.csv full 8, concurrent, run_case_in_suite, rc.py7 home_case.csv home.csv full 9, continue, run_case_in_suite, rc.py8 home_case.csv home.csv full ''' print(parseResult) self.assertEqual(expectResult, parseResult) suite= st.load(suitefile , [], [1,4,6]) from runner import concurrent parseResult = '' for i in suite: if i[2][0]!=concurrent: print(i) parseResult+='%d, %s, %s, %s\n'%(i[0], i[1], i[2][0].func_name, ' ,'.join([str(x) for x in i[2][1:]])) else: print(i) for ii in i[2][1]: print('\t'+str(i[0])+' '+str(ii)) parseResult+='\t%d, %s, %s, %s\n'%(i[0],i[2][0].func_name,ii[0].func_name, ' ,'.join([str(x) for x in ii[1:]]) ) expectResult = '''3, break, run_case_in_suite, rc.py2 home_case.csv home.csv full 9, concurrent, loop, 2 ,no_stop ,rc.py5 home_case.csv home.csv full 9, concurrent, run_case_in_suite, rc.py7 home_case.csv home.csv full ''' print(parseResult) self.assertEqual(expectResult, parseResult)
def __init__(self, name=None, bench=None, log_folder=None, dry_run =False): self.name = name if name else 'case' self.log_dir = '../../log' if log_folder is None else log_folder if not os.path.exists(self.log_dir ): os.mkdir(self.log_dir ) self.log_dir = createLogDir(self.name, self.log_dir) self.logger = createLogger(name, self.log_dir) self.load_bench(bench) self.error_message='' self.duts={} self.dut_names =[] self.share_data = {} self.set_dry_run(dry_run)
def test_PowerShell(self): from runner import case_runner, initDUT, createLogDir, createLogger logpath ='./log' if not os.path.exists(logpath): os.mkdir(logpath) logpath+='/PowerShell' logger = createLogger('PowerShell', logpath) casename = 'PowerShell_1' casefolder = createLogDir(casename,logpath) from common import bench2dict where= 'nohome' benchfile = './bench.csv' casefile = './powershell.csv' if where=='home': benchfile= './home.csv' casefile = './home_case.csv' bench =bench2dict(benchfile) from Parser import caseParser mode = 'full' cs = caseParser(casename, mode, casefolder) sdut, lvar, lsetup, lrun, ltear =cs.load(casefile) ldut = list(sdut) errormessage =[] duts= initDUT(errormessage,bench,ldut,logger, casefolder)#['lnx1', 'lnx2'] seq = [cs.seqSetup, cs.seqRun, cs.seqTeardown] case= case_runner(casename,duts,seq, mode) print(duts) for name in duts.keys(): dut = duts[name] if dut : dut.SessionAlive=False
def test_PowerShell(self): from runner import case_runner, initDUT, createLogDir, createLogger logpath = './log' if not os.path.exists(logpath): os.mkdir(logpath) logpath += '/PowerShell' logger = createLogger('PowerShell', logpath) casename = 'PowerShell_1' casefolder = createLogDir(casename, logpath) from common import bench2dict where = 'nohome' benchfile = './bench.csv' casefile = './powershell.csv' if where == 'home': benchfile = './home.csv' casefile = './home_case.csv' bench = bench2dict(benchfile) from Parser import caseParser mode = 'full' cs = caseParser(casename, mode, casefolder) sdut, lvar, lsetup, lrun, ltear = cs.load(casefile) ldut = list(sdut) errormessage = [] duts = initDUT(errormessage, bench, ldut, logger, casefolder) #['lnx1', 'lnx2'] seq = [cs.seqSetup, cs.seqRun, cs.seqTeardown] case = case_runner(casename, duts, seq, mode) print(duts) for name in duts.keys(): dut = duts[name] if dut: dut.SessionAlive = False
s, e = str(i).split('-') i = list(range(int(s) - 1, int(e))) else: i = [int(i) - 1] drange = drange + i caserange = sorted(drange) CaseRange = caserange return CaseRange suitelogdir = '../../log' rangelist = sys.argv[2] arglist = sys.argv[3:] if not os.path.exists(suitelogdir): os.mkdir(suitelogdir) suitelogdir = createLogDir(name, suitelogdir, add_time=False) st = suiteParser(name, suitelogdir) lstRange = GetRange(rangelist) statsTotalCase, suite = st.load(suitefile, arglist, lstRange) benchfile = '' benchinfo = {} from runner import createLogger suite_logger = createLogger('suite.txt', suitelogdir) suite_logger.info('suite name\t%s' % (sys.argv[1])) suite_logger.info('suite range\t%s' % (sys.argv[2])) index = 1 for i in sys.argv[3:]: suite_logger.info('arg%d\t%s' % (index, i)) index += 1
benchfile: the test bench file, full path, otherwise in ./ segment: segment of case, not case sensitive, it's one of [full, setup, run, teardown, nosetup, noteardown, f, s, r , t, ns, nr, nt] argX : argment(s) for substituting in case file logpath: full path name for log, default is ./log/ ''' print(errormessage) from runner import case_runner, initDUT, createLogDir ,createLogger if os.path.exists(sys.argv[-1]): pass else: sys.argv.append(defaultlogdir) if not os.path.exists(defaultlogdir): os.mkdir(defaultlogdir) defaultlogdir=sys.argv[-1] basename_casename = os.path.basename(sys.argv[1]) casefolder = createLogDir(basename_casename,defaultlogdir) logger = createLogger(basename_casename, casefolder) from common import bench2dict benchfile = sys.argv[2] bench =bench2dict(benchfile) from Parser import caseParser mode = sys.argv[3] case_file_name =os.path.abspath(sys.argv[1]) cs = caseParser(case_file_name, mode, casefolder) casefile = case_file_name sdut, lvar, lsetup, lrun, ltear =cs.load(casefile, sys.argv) ldut = list(sdut)
def test_createLogDir(self): from runner import createLogDir logpath ='./log' if not os.path.exists(logpath): os.mkdir(logpath) casefolder = createLogDir('case1',logpath)
s,e =str(i).split('-') i = list(range(int(s)-1,int(e))) else: i =[int(i)-1] drange =drange+i caserange= sorted(drange) CaseRange=caserange return CaseRange suitelogdir = '../../log' rangelist = sys.argv[2] arglist = sys.argv[3:] if not os.path.exists(suitelogdir): os.mkdir(suitelogdir) suitelogdir = createLogDir(name, suitelogdir, add_time=False) st = suiteParser(name, suitelogdir) lstRange = GetRange(rangelist ) statsTotalCase, suite= st.load(suitefile, arglist, lstRange) benchfile ='' benchinfo ={} from runner import createLogger suite_logger = createLogger('suite.txt', suitelogdir) suite_logger.info('suite name\t%s' % (sys.argv[1])) suite_logger.info('suite range\t%s' % (sys.argv[2])) index = 1 for i in sys.argv[3:]: suite_logger.info('arg%d\t%s' % (index, i)) index+=1
benchfile: the test bench file, full path, otherwise in ./ segment: segment of case, not case sensitive, it's one of [full, setup, run, teardown, nosetup, noteardown, f, s, r , t, ns, nr, nt] argX : argment(s) for substituting in case file logpath: full path name for log, default is ./log/ ''' print(errormessage) from runner import case_runner, initDUT, createLogDir, createLogger if os.path.exists(sys.argv[-1]): pass else: sys.argv.append(defaultlogdir) if not os.path.exists(defaultlogdir): os.mkdir(defaultlogdir) defaultlogdir = sys.argv[-1] basename_casename = os.path.basename(sys.argv[1]) casefolder = createLogDir(basename_casename, defaultlogdir) logger = createLogger(basename_casename, casefolder) from common import bench2dict benchfile = sys.argv[2] bench = bench2dict(benchfile) from Parser import caseParser mode = sys.argv[3] case_file_name = os.path.abspath(sys.argv[1]) cs = caseParser(case_file_name, mode, casefolder) casefile = case_file_name sdut, lvar, lsetup, lrun, ltear = cs.load(casefile, sys.argv) ldut = list(sdut) errormessage = [] sharedata = {}
def test_createLogDir(self): from runner import createLogDir logpath = './log' if not os.path.exists(logpath): os.mkdir(logpath) casefolder = createLogDir('case1', logpath)