summaryrefslogtreecommitdiffstats
path: root/rpm/rootfs-scripts/run_tests.py
blob: 8b085c67b2218745cfde7b404a0e2421331ce28e (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
49
50
51
52
53
54
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")