Skip to content

Commit 3116186

Browse files
committed
PR Feedback 4
1 parent f960ebe commit 3116186

3 files changed

Lines changed: 17 additions & 24 deletions

File tree

sqlmesh/core/test/result.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,6 @@ def addFailure(self, test: unittest.TestCase, err: ErrorType) -> None:
5555
def addError(self, test: unittest.TestCase, err: ErrorType) -> None:
5656
"""Called when the test case test signals an error.
5757
58-
The traceback is suppressed because it is redundant and not useful.
59-
6058
Args:
6159
test: The test case.
6260
err: A tuple of the form returned by sys.exc_info(), i.e., (type, value, traceback).

sqlmesh/core/test/runner.py

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,16 @@ def __init__(
4545
)
4646

4747

48-
def create_test_engine_adapters(
48+
def create_test_engine_adapters_for_tests(
4949
model_test_metadata: list[ModelTestMetadata],
5050
config: C,
5151
default_gateway: str,
52-
testing_adapter_by_gateway: t.Dict[str, EngineAdapter],
5352
default_catalog: str | None = None,
5453
default_catalog_dialect: str = "",
55-
) -> list[EngineAdapter]:
56-
engine_adapters = []
54+
) -> t.Dict[ModelTestMetadata, EngineAdapter]:
55+
testing_adapter_by_gateway: t.Dict[str, EngineAdapter] = {}
56+
metadata_to_adapter = {}
57+
5758
for metadata in model_test_metadata:
5859
gateway = metadata.body.get("gateway") or default_gateway
5960
test_connection = config.get_test_connection(
@@ -76,9 +77,9 @@ def create_test_engine_adapters(
7677
register_comments_override=False
7778
)
7879

79-
engine_adapters.append(adapter or testing_adapter_by_gateway[gateway])
80+
metadata_to_adapter[metadata] = adapter or testing_adapter_by_gateway[gateway]
8081

81-
return engine_adapters
82+
return metadata_to_adapter
8283

8384

8485
def run_tests(
@@ -101,7 +102,6 @@ def run_tests(
101102
verbosity: The verbosity level.
102103
preserve_fixtures: Preserve the fixture tables in the testing database, useful for debugging.
103104
"""
104-
testing_adapter_by_gateway: t.Dict[str, EngineAdapter] = {}
105105
default_gateway = gateway or config.default_gateway_name
106106

107107
default_test_connection = config.get_test_connection(
@@ -118,13 +118,12 @@ def run_tests(
118118
descriptions=True,
119119
)
120120

121-
engine_adapters = create_test_engine_adapters(
122-
model_test_metadata,
123-
config,
124-
default_gateway,
125-
testing_adapter_by_gateway,
126-
default_catalog,
127-
default_catalog_dialect,
121+
metadata_to_adapter = create_test_engine_adapters_for_tests(
122+
model_test_metadata=model_test_metadata,
123+
config=config,
124+
default_gateway=default_gateway,
125+
default_catalog=default_catalog,
126+
default_catalog_dialect=default_catalog_dialect,
128127
)
129128

130129
def _run_single_test(
@@ -168,20 +167,16 @@ def _run_single_test(
168167
with ThreadPoolExecutor(max_workers=num_workers) as pool:
169168
futures = [
170169
pool.submit(_run_single_test, metadata=metadata, engine_adapter=engine_adapter)
171-
for metadata, engine_adapter in zip(model_test_metadata, engine_adapters)
170+
for metadata, engine_adapter in metadata_to_adapter.items()
172171
]
173172

174173
for future in concurrent.futures.as_completed(futures):
175174
test_results.append(future.result())
176175
finally:
177-
closed_adapters: t.Set[int] = set()
178-
179-
for engine_adapter in engine_adapters:
176+
for engine_adapter in set(metadata_to_adapter.values()):
180177
# The engine adapters list might have duplicates, so we ensure that we close each adapter once
181-
hashed_adapter = hash(engine_adapter)
182-
if engine_adapter and hashed_adapter not in closed_adapters:
178+
if engine_adapter:
183179
engine_adapter.close()
184-
closed_adapters.add(hashed_adapter)
185180

186181
end_time = time.perf_counter()
187182

tests/core/test_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2132,7 +2132,7 @@ def test_test_with_resolve_template_macro(tmp_path: Path):
21322132
_check_successful_or_raise(context.test())
21332133

21342134

2135-
def test_test_generation_report(tmp_path: Path) -> None:
2135+
def test_test_output(tmp_path: Path) -> None:
21362136
init_example_project(tmp_path, dialect="duckdb")
21372137

21382138
original_test_file = tmp_path / "tests" / "test_full_model.yaml"

0 commit comments

Comments
 (0)