import pytest import plugins.agl_test_log as log from plugins.agl_test_ptest_base import PTESTBase class GLIB2Base(PTESTBase): def __init__(self): super().__init__(test_name="glib-2.0") def log_process(self): log_file = self.get_logfile() self.case_info_list = log.log_process_gnome_desktop_testing(log_file) self.init_case_status() @pytest.fixture(scope='module') def testbase(): #init instance for test instance = GLIB2Base() #run test scripts #the "test_name" should be the name of test set in ptest instance.run_test_fun() #parser log instance.log_process() yield instance #package log files and make report file instance.log_report() def setup_module(testbase: GLIB2Base): print("setup function start") def precheck(): instance = GLIB2Base() return instance.precheck() skip_msg = "The current environment does not match the test requirements." pytestmark = pytest.mark.skipif(precheck() == False, reason = skip_msg) @pytest.mark.oss_default def test_timeloop_closure(testbase: GLIB2Base): name = "glib/timeloop-closure.test" testbase.run_case(name) @pytest.mark.oss_default def test_contenttype(testbase: GLIB2Base): name = "glib/contenttype.test" testbase.run_case(name) @pytest.mark.oss_default def test_string(testbase: GLIB2Base): name = "glib/string.test" testbase.run_case(name) #TODO:Completion test cases if __name__ == '__main__': pytest.main("-s run_tests")