Download tests/test_bundle.py from windows2t2/cad-bench: direct link, hf CLI and curl.
- Browser
- Download file 2.5 kB
-
https://huggingface.co/windows2t2/cad-bench/resolve/main/tests/test_bundle.py
- Command line
-
hf download hf://windows2t2/cad-bench/tests/test_bundle.py
-
curl -L -o test_bundle.py https://huggingface.co/windows2t2/cad-bench/resolve/main/tests/test_bundle.py
2.5 kB
| from __future__ import annotations | |
| import os | |
| import subprocess | |
| import sys | |
| from pathlib import Path | |
| import pytest | |
| from autocad_bench.bundle import ( | |
| BUNDLE_FILENAME, | |
| BUNDLE_VERSION, | |
| BundleError, | |
| export_bundle, | |
| validate_bundle, | |
| ) | |
| from autocad_bench.common.paths import BENCHMARK_ROOT | |
| from autocad_bench.common.runtime_contract import DEFAULT_EVALUATOR_VERSION | |
| from autocad_bench.tasks.manifest import load_manifest | |
| def test_run_ready_bundle_is_portable_allowlisted_and_integrity_bound( | |
| tmp_path: Path, | |
| ) -> None: | |
| output = tmp_path / "bundle" | |
| exported = export_bundle( | |
| output, | |
| evaluator_versions=(DEFAULT_EVALUATOR_VERSION,), | |
| ) | |
| assert exported.bundle_version == BUNDLE_VERSION | |
| assert exported.task_count == 50 | |
| assert exported.evaluator_versions == (DEFAULT_EVALUATOR_VERSION,) | |
| assert len(exported.files) == 204 | |
| assert (output / BUNDLE_FILENAME).is_file() | |
| assert len(load_manifest(root=output)) == 50 | |
| assert all(not entry.path.startswith("configs/") for entry in exported.files) | |
| assert all(".env" not in entry.path for entry in exported.files) | |
| validated = validate_bundle(output) | |
| assert validated == exported | |
| subprocess_result = subprocess.run( | |
| [ | |
| sys.executable, | |
| "-c", | |
| ( | |
| "from autocad_bench.tasks.manifest import " | |
| "BENCHMARK_ROOT, load_manifest; " | |
| "print(BENCHMARK_ROOT); print(len(load_manifest()))" | |
| ), | |
| ], | |
| cwd=tmp_path, | |
| env={**os.environ, "AUTOCAD_BENCH_ROOT": str(output)}, | |
| check=True, | |
| capture_output=True, | |
| text=True, | |
| ) | |
| assert subprocess_result.stdout.splitlines() == [str(output), "50"] | |
| manifest_path = output / "tasks" / "manifest.jsonl" | |
| original = manifest_path.read_bytes() | |
| manifest_path.write_bytes(original + b"\n") | |
| with pytest.raises(BundleError, match="size changed"): | |
| validate_bundle(output) | |
| manifest_path.write_bytes(original) | |
| unexpected = output / "credentials.env" | |
| unexpected.write_text("SECRET=not-allowed\n") | |
| with pytest.raises(BundleError, match="unexpected=.*credentials.env"): | |
| validate_bundle(output) | |
| def test_bundle_export_refuses_to_overlay_an_existing_directory( | |
| tmp_path: Path, | |
| ) -> None: | |
| output = tmp_path / "existing" | |
| output.mkdir() | |
| with pytest.raises(BundleError, match="already exists"): | |
| export_bundle(output, source_root=BENCHMARK_ROOT) | |