xref: /aosp_15_r20/external/autotest/tko/parsers/test/templates/base.py (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
1*9c5db199SXin Li#!/usr/bin/python3
2*9c5db199SXin Li"""
3*9c5db199SXin LiThis is not meant to be executed unless copied into a
4*9c5db199SXin Liscenario package and renamed with a _unittest suffix.
5*9c5db199SXin Li"""
6*9c5db199SXin Li
7*9c5db199SXin Liimport os, unittest
8*9c5db199SXin Lifrom os import path
9*9c5db199SXin Liimport common
10*9c5db199SXin Lifrom autotest_lib.tko.parsers.test import scenario_base
11*9c5db199SXin Li
12*9c5db199SXin LiGOLDEN = 'golden'
13*9c5db199SXin Li
14*9c5db199SXin Li
15*9c5db199SXin Liclass ParserScenerioTestCase(scenario_base.BaseScenarioTestCase):
16*9c5db199SXin Li    def test_regression(self):
17*9c5db199SXin Li        """We want to ensure that result matches the golden.
18*9c5db199SXin Li
19*9c5db199SXin Li        This test is enabled if there is a golden entry
20*9c5db199SXin Li        in the parser_result_store.
21*9c5db199SXin Li        """
22*9c5db199SXin Li        self.skipIf(
23*9c5db199SXin Li            GOLDEN not in self.parser_result_store,
24*9c5db199SXin Li            'No golden data to test against')
25*9c5db199SXin Li
26*9c5db199SXin Li        golden = self.parser_result_store[GOLDEN]
27*9c5db199SXin Li        fresh_parser_result = self.harness.execute()
28*9c5db199SXin Li        fresh_copy = scenario_base.copy_parser_result(
29*9c5db199SXin Li            fresh_parser_result)
30*9c5db199SXin Li        self.assertEquals(golden, fresh_copy)
31*9c5db199SXin Li
32*9c5db199SXin Li
33*9c5db199SXin Liif __name__ == '__main__':
34*9c5db199SXin Li    unittest.main()
35