"""Tests for the sage.data package boundary.""" from __future__ import annotations import json import subprocess import sys import textwrap def _run_python(script: str) -> str: result = subprocess.run( [sys.executable, "-c", textwrap.dedent(script)], check=True, capture_output=True, text=True, ) return result.stdout.strip() def test_import_sage_data_is_lightweight(): output = _run_python( """ import json import sys import sage.data roots = { root: sum( 1 for name in sys.modules if name == root or name.startswith(root + ".") ) for root in ("pandas", "numpy", "requests", "tqdm") } print(json.dumps(roots, sort_keys=True)) """ ) assert json.loads(output) == { "numpy": 0, "pandas": 0, "requests": 0, "tqdm": 0, } def test_data_root_has_no_convenience_exports(): output = _run_python( """ import sage.data print(sage.data.__all__) print("load_eval_cases" in dir(sage.data)) print("prepare_data" in dir(sage.data)) print(hasattr(sage.data, "load_eval_cases")) """ ) assert output.splitlines() == [ "[]", "False", "False", "False", ] def test_public_helpers_live_on_owning_modules(): output = _run_python( """ from sage.data.eval import load_eval_cases from sage.data.loader import prepare_data from sage.data.query_bank.sources.boundary import ( DEFAULT_MANUAL_BOUNDARY_SELECTION_POLICY_VERSION, EVALUATION_SURFACE_RUNTIME_E2E, ) print(load_eval_cases.__module__) print(prepare_data.__module__) print(DEFAULT_MANUAL_BOUNDARY_SELECTION_POLICY_VERSION) print(EVALUATION_SURFACE_RUNTIME_E2E) """ ) assert output.splitlines() == [ "sage.data.eval", "sage.data.loader", "required_boundary_slice_v2", "runtime_e2e", ]