コード例 #1
0
ファイル: ut_runner.py プロジェクト: try-dash-now/idash
    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)
コード例 #2
0
ファイル: ut_runner.py プロジェクト: try-dash-now/idash
    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)
コード例 #3
0
ファイル: ut_runner.py プロジェクト: try-dash-now/idash
    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)
コード例 #4
0
ファイル: ut_runner.py プロジェクト: try-dash-now/idash
    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)
コード例 #5
0
ファイル: ut_parser.py プロジェクト: try-dash-now/idash
    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)
コード例 #6
0
ファイル: ut_parser.py プロジェクト: try-dash-now/idash
    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)
コード例 #7
0
    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)
コード例 #8
0
ファイル: ut_PowerShell.py プロジェクト: try-dash-now/idash
    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
コード例 #9
0
ファイル: ut_PowerShell.py プロジェクト: try-dash-now/idash
    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
コード例 #10
0
ファイル: sr.py プロジェクト: try-dash-now/idash
                    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
コード例 #11
0
ファイル: cr.py プロジェクト: try-dash-now/idash
            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)
コード例 #12
0
ファイル: ut_runner.py プロジェクト: try-dash-now/idash
 def test_createLogDir(self):
     from runner import createLogDir
     logpath ='./log'
     if not os.path.exists(logpath):
         os.mkdir(logpath)
     casefolder = createLogDir('case1',logpath)
コード例 #13
0
ファイル: sr.py プロジェクト: try-dash-now/idash
                    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
コード例 #14
0
ファイル: cr.py プロジェクト: try-dash-now/idash
            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 = {}
コード例 #15
0
ファイル: ut_runner.py プロジェクト: try-dash-now/idash
 def test_createLogDir(self):
     from runner import createLogDir
     logpath = './log'
     if not os.path.exists(logpath):
         os.mkdir(logpath)
     casefolder = createLogDir('case1', logpath)