blob: b37f5fc5ca38a534a7009d1caa079c6dabb3bb66 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
import pytest
import pathlib
import plugins.agl_test_log as log
from plugins.agl_test_ptest_base import PTESTBase
class BashBase(PTESTBase):
def __init__(self):
super().__init__(test_name="bash")
def log_process(self):
log_file = self.get_logfile()
self.case_info_list = log.log_process_gnu(log_file)
def precheck(self):
path_bash = pathlib.Path("/usr/bin/bash")
return super().precheck() and path_bash.is_file()
def get_para(self):
#Due to the bug of "ptest-runner", the test case "run-read" may fail
xfail_list = ["run-read"]
return self.set_xfail_case(xfail_list)
def set_xfail_case(self, xfail_list):
para = list(self.case_info_list.keys())
for test_case in xfail_list:
para.remove(test_case)
para.append(pytest.param(test_case, marks=pytest.mark.xfail))
if(self.case_info_list[test_case][1] == "PASS"):
self.case_info_list[test_case][2] = "xpassed"
else:
self.case_info_list[test_case][2] = "xfailed"
return para
instance = BashBase()
instance.run_ptest()
@pytest.fixture(scope='module')
def testbase():
yield instance
#package log files and make report file
instance.log_report()
@pytest.mark.parametrize('case_name', instance.get_para())
def test_bash(testbase: BashBase, case_name):
testbase.run_case(case_name)
if __name__ == '__main__':
pytest.main("-s run_tests")
|