From 24d44898f4597481a57b2deb1ef2581252ca0452 Mon Sep 17 00:00:00 2001 From: boukeversteegh Date: Sun, 24 May 2020 19:53:14 +0200 Subject: [PATCH] Only import reference module when needed. Some reference modules generate bad imports and cannot be loaded. --- betterproto/tests/test_inputs.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/betterproto/tests/test_inputs.py b/betterproto/tests/test_inputs.py index 8c4f8d4..18700ad 100644 --- a/betterproto/tests/test_inputs.py +++ b/betterproto/tests/test_inputs.py @@ -45,14 +45,16 @@ def test_data(request): sys.path.append(reference_module_root) - yield TestData( - 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" - ), - json_data=get_test_case_json_data(test_case_name), + yield ( + TestData( + plugin_module=importlib.import_module( + f"{plugin_output_package}.{test_case_name}.{test_case_name}" + ), + 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), + ) ) 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: 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() for _ in range(repeat):