Check that config.xfail contains valid test case names

This commit is contained in:
boukeversteegh 2020-05-29 16:46:04 +02:00
parent 62fc421d60
commit f5ce1b7108

View File

@ -30,6 +30,10 @@ class TestCases:
test for test in _messages if get_test_case_json_data(test) test for test in _messages if get_test_case_json_data(test)
} }
unknown_xfail_tests = xfail - _all
if unknown_xfail_tests:
raise Exception(f"Unknown test(s) in config.py: {unknown_xfail_tests}")
self.all = self.apply_xfail_marks(_all, xfail) self.all = self.apply_xfail_marks(_all, xfail)
self.services = self.apply_xfail_marks(_services, xfail) self.services = self.apply_xfail_marks(_services, xfail)
self.messages = self.apply_xfail_marks(_messages, xfail) self.messages = self.apply_xfail_marks(_messages, xfail)
@ -110,7 +114,7 @@ def test_message_json(repeat, test_data: TestData) -> None:
message.from_json(json_data) message.from_json(json_data)
message_json = message.to_json(0) message_json = message.to_json(0)
assert json.loads(json_data) == json.loads(message_json) assert json.loads(message_json) == json.loads(json_data)
@pytest.mark.parametrize("test_data", test_cases.services, indirect=True) @pytest.mark.parametrize("test_data", test_cases.services, indirect=True)
@ -119,6 +123,7 @@ def test_service_can_be_instantiated(test_data: TestData) -> None:
plugin_module.TestStub(MockChannel()) plugin_module.TestStub(MockChannel())
@pytest.mark.skip
@pytest.mark.parametrize("test_data", test_cases.messages_with_json, indirect=True) @pytest.mark.parametrize("test_data", test_cases.messages_with_json, indirect=True)
def test_binary_compatibility(repeat, test_data: TestData) -> None: def test_binary_compatibility(repeat, test_data: TestData) -> None:
plugin_module, reference_module, json_data = test_data plugin_module, reference_module, json_data = test_data