Only import reference module when needed. Some reference modules generate bad imports and cannot be loaded.

This commit is contained in:
boukeversteegh 2020-05-24 19:53:14 +02:00
parent 074448c996
commit 24d44898f4

View File

@ -45,14 +45,16 @@ def test_data(request):
sys.path.append(reference_module_root) sys.path.append(reference_module_root)
yield TestData( yield (
plugin_module=importlib.import_module( TestData(
f"{plugin_output_package}.{test_case_name}.{test_case_name}" plugin_module=importlib.import_module(
), f"{plugin_output_package}.{test_case_name}.{test_case_name}"
reference_module=importlib.import_module( ),
f"{reference_output_package}.{test_case_name}.{test_case_name}_pb2" reference_module=lambda: importlib.import_module(
), f"{reference_output_package}.{test_case_name}.{test_case_name}_pb2"
json_data=get_test_case_json_data(test_case_name), ),
json_data=get_test_case_json_data(test_case_name),
)
) )
sys.path.remove(reference_module_root) sys.path.remove(reference_module_root)
@ -85,7 +87,7 @@ def test_message_json(repeat, test_data: TestData) -> None:
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
reference_instance = Parse(json_data, reference_module.Test()) reference_instance = Parse(json_data, reference_module().Test())
reference_binary_output = reference_instance.SerializeToString() reference_binary_output = reference_instance.SerializeToString()
for _ in range(repeat): for _ in range(repeat):