| % Regression tests for automotive scanner configuration |
| |
| + Load general modules |
| |
| = Load contribution layer |
| |
| from scapy.contrib.automotive.scanner.test_case import AutomotiveTestCase |
| from scapy.contrib.automotive.scanner.configuration import AutomotiveTestCaseExecutorConfiguration |
| from scapy.contrib.automotive.scanner.staged_test_case import StagedAutomotiveTestCase |
| |
| + Basic checks |
| |
| = Definition of Test classes |
| |
| class MyTestCase1(AutomotiveTestCase): |
| _description = "MyTestCase1" |
| def supported_responses(self): |
| return [] |
| |
| |
| class MyTestCase2(AutomotiveTestCase): |
| _description = "MyTestCase2" |
| def supported_responses(self): |
| return [] |
| |
| class MyTestCase3(AutomotiveTestCase): |
| _description = "MyTestCase3" |
| def supported_responses(self): |
| return [] |
| |
| class MyTestCase4(AutomotiveTestCase): |
| _description = "MyTestCase4" |
| def supported_responses(self): |
| return [] |
| |
| = creation of config with classes |
| |
| config = AutomotiveTestCaseExecutorConfiguration( |
| [MyTestCase1, MyTestCase2, MyTestCase3, MyTestCase4]) |
| |
| assert len(config.test_cases) == 4 |
| assert len(config.test_case_clss) == 4 |
| assert len(config.stages) == 0 |
| assert len(config.staged_test_cases) == 0 |
| assert config.verbose == False |
| assert config.debug == False |
| |
| |
| = creation of config with instances |
| |
| config = AutomotiveTestCaseExecutorConfiguration( |
| [MyTestCase1(), MyTestCase2(), MyTestCase3(), MyTestCase4()]) |
| |
| assert len(config.test_cases) == 4 |
| assert len(config.test_case_clss) == 4 |
| assert len(config.stages) == 0 |
| assert len(config.staged_test_cases) == 0 |
| assert config.verbose == False |
| assert config.debug == False |
| |
| |
| = creation of config with instances and classes |
| |
| config = AutomotiveTestCaseExecutorConfiguration( |
| [MyTestCase2(), MyTestCase2(), MyTestCase3, MyTestCase4]) |
| |
| assert len(config.test_cases) == 4 |
| assert len(config.test_case_clss) == 3 |
| assert len(config.stages) == 0 |
| assert len(config.staged_test_cases) == 0 |
| assert config.verbose == False |
| assert config.debug == False |
| |
| |
| = creation of config with instances and classes and global configuration and local configuration |
| |
| config = AutomotiveTestCaseExecutorConfiguration( |
| [MyTestCase2(), MyTestCase2(), MyTestCase3, MyTestCase4], |
| global_config=42, verbose=True, MyTestCase2_kwargs={"local_config": 41}) |
| |
| assert len(config.test_cases) == 4 |
| assert len(config.test_case_clss) == 3 |
| assert len(config.stages) == 0 |
| assert len(config.staged_test_cases) == 0 |
| assert config.verbose == True |
| assert config.debug == False |
| assert config["MyTestCase2"]["global_config"] == 42 |
| assert config["MyTestCase2"]["local_config"] == 41 |
| assert config["MyTestCase2"]["verbose"] == True |
| try: |
| print(config["MyTestCase1"]["global_config"]) |
| raise AssertionError |
| except KeyError: |
| pass |
| |
| assert len(config["MyTestCase3"]) == 3 |
| assert len(config["MyTestCase2"]) == 4 |
| |
| try: |
| print(config["MyTestCase3"]["local_config"]) |
| raise AssertionError |
| except KeyError: |
| pass |
| |
| |
| = creation of config with stages |
| |
| st = StagedAutomotiveTestCase([MyTestCase1(), MyTestCase2()]) |
| |
| config = AutomotiveTestCaseExecutorConfiguration( |
| [MyTestCase2(), MyTestCase2, MyTestCase3, MyTestCase4, st]) |
| |
| assert len(config.test_cases) == 5 |
| assert len(config.test_case_clss) == 5 |
| assert len(config.stages) == 1 |
| assert len(config.staged_test_cases) == 2 |
| assert config.verbose == False |
| assert config.debug == False |
| assert config.staged_test_cases[0].__class__ == MyTestCase1 |
| assert config.staged_test_cases[1].__class__ == MyTestCase2 |
| assert config.stages[0].__class__ == StagedAutomotiveTestCase |
| |
| = creation of config with stages class |
| |
| class myStagedTestCase(StagedAutomotiveTestCase): |
| def __init__(self): |
| # type: () -> None |
| super(myStagedTestCase, self).__init__( |
| [MyTestCase1(), MyTestCase2()], |
| None) |
| |
| |
| config = AutomotiveTestCaseExecutorConfiguration( |
| [MyTestCase2(), MyTestCase2, MyTestCase3, MyTestCase4, myStagedTestCase]) |
| |
| assert len(config.test_cases) == 5 |
| assert len(config.test_case_clss) == 5 |
| assert len(config.stages) == 1 |
| assert len(config.staged_test_cases) == 2 |
| assert config.staged_test_cases[0].__class__ == MyTestCase1 |
| assert config.staged_test_cases[1].__class__ == MyTestCase2 |
| assert config.stages[0].__class__ == myStagedTestCase |
| assert config.verbose == False |
| assert config.debug == False |