aboutsummaryrefslogtreecommitdiffstats
path: root/glib2/rootfs-scripts/run_tests.py
blob: 2387b95d7fbbcbdea47c47bc6982ef17ae05cdb8 (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
55
56
import pytest
import subprocess

import plugins.agl_test_conf as agl_test_conf
import plugins.agl_test_utils as agl_test_utils

import glib2.parser as parser
import glib2.report as report

TMP_LOGS_DIR = agl_test_conf.TMP_LOGS_DIR

THIS_TEST = "glib2"
test_cases_values_and_status = []

def setup_module():
    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)
    with open(log_file,'w') as log_f:
        subprocess.run(['ptest-runner','glib-2.0'],stdout=log_f,stderr=log_f)
    log_f.close()

def check_status(test_name):
    global test_cases_values_and_status
    for item in test_cases_values_and_status:
        if(item[0]==test_name):
            if(item[1] == "PASS"):
                item[2] = "passed"
                return 1
            if(item[1] == "FAIL"):
                item[2] = "failed"
                return 0

def test_glib2_gdbus_names():
    assert check_status("glib/gdbus-names.test")

def test_glib2_rand():
    assert check_status("glib/rand.test")

def test_glib2_base64():
    assert check_status("glib/base64.test")

#TODO
#Complete all test cases

#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("run_tests")