import pytest import subprocess import plugins.agl_test_utils as agl_test_utils import plugins.agl_test_conf as agl_test_conf import rpm.parser as parser import rpm.report as report WORK_DIR = agl_test_conf.WORK_DIR TMP_LOGS_DIR = agl_test_conf.TMP_LOGS_DIR THIS_TEST = "rpm" test_cases_values_and_status = [] def setup_module(): agl_test_utils.find_cmd("rpm") agl_test_utils.create_dir(THIS_TEST) run_test_fun() global test_cases_values_and_status test_cases_values_and_status = parser.log_process(TMP_LOGS_DIR,THIS_TEST) #Run test, and redirect the log into the file of THIS_TEST.log under TMP_LOGS_DIR/THIS_TEST/ def run_test_fun(): log_file = agl_test_conf.get_log_file(THIS_TEST) cwd = WORK_DIR + THIS_TEST + "/resource/" with open(log_file,'w') as log_f: subprocess.run(['sh','rpm_test.sh'],cwd=cwd,stdout=log_f,stderr=log_f) log_f.close() @pytest.mark.oss_default def test_rpm01(): global test_cases_values_and_status assert test_cases_values_and_status[1][1] == "TEST-PASS" test_cases_values_and_status[1][2] = "passed" @pytest.mark.oss_default def test_rpm02(): global test_cases_values_and_status assert test_cases_values_and_status[2][1] == "TEST-PASS" test_cases_values_and_status[2][2] = "passed" @pytest.mark.oss_default def test_rpm03(): global test_cases_values_and_status assert test_cases_values_and_status[3][1] == "TEST-PASS" test_cases_values_and_status[3][2] = "passed" #Pack the log file and count the test results def teardown_module(): report.log_report(test_cases_values_and_status,THIS_TEST) if __name__ == '__main__': pytest.main("-s run_tests")