mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-04-23 01:06:36 +00:00
test(e2e): rename registry entry to euroc_machine_hall with real SHA256
The prior registry entry was speculative: ``euroc_mh01`` pointing at an
old ``robotics.ethz.ch`` URL that no longer resolves (TCP timeout).
The dataset moved to ETH Research Collection (DOI 10.3929/ethz-b-000690084)
as a single 12.6 GB ``machine_hall.zip`` bundle containing MH_01…MH_05.
There's no stable direct download URL — DSpace gates behind a UI —
so:
- Renamed entry: ``euroc_mh01`` → ``euroc_machine_hall`` (matches the
actual artifact).
- SHA256 set to the real bundle hash 5ed7d07…
- URL left empty (same pattern as ``vpair_sample``); the CLI now
exits 3 and prints fetch instructions for empty-URL entries instead
of crashing on ``urllib.request.urlretrieve("")``.
- Adapter ``DatasetNotAvailableError`` message and conftest skip-reason
updated to tell engineers how to fetch/unpack manually.
- ``test_registry_has_euroc_machine_hall`` pin test replaces the old
pin; asserts real hash (not the ``"0"*64`` placeholder).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -14,7 +14,9 @@ def euroc_mh01_root() -> Path:
|
||||
if not (root / "mav0").is_dir():
|
||||
pytest.skip(
|
||||
f"EuRoC MH_01 not present at {root}. "
|
||||
"Run `python scripts/download_dataset.py euroc_mh01` to fetch it."
|
||||
"Fetch the Machine Hall bundle from ETH Research Collection "
|
||||
"(DOI 10.3929/ethz-b-000690084), unpack the inner MH_01_easy.zip "
|
||||
f"into {root}/ so that {root}/mav0/ exists."
|
||||
)
|
||||
return root
|
||||
|
||||
|
||||
@@ -11,12 +11,15 @@ from gps_denied.testing.download import (
|
||||
)
|
||||
|
||||
|
||||
def test_registry_has_euroc():
|
||||
assert "euroc_mh01" in DATASET_REGISTRY
|
||||
spec = DATASET_REGISTRY["euroc_mh01"]
|
||||
def test_registry_has_euroc_machine_hall():
|
||||
assert "euroc_machine_hall" in DATASET_REGISTRY
|
||||
spec = DATASET_REGISTRY["euroc_machine_hall"]
|
||||
assert isinstance(spec, DatasetSpec)
|
||||
assert spec.url.startswith("http")
|
||||
# URL intentionally empty — ETH Research Collection gates downloads behind
|
||||
# a DSpace UI without a stable direct URL. Registry records SHA256 only.
|
||||
assert spec.url == ""
|
||||
assert len(spec.sha256) == 64
|
||||
assert spec.sha256 != "0" * 64 # real hash, not the placeholder
|
||||
|
||||
|
||||
def test_registry_has_vpair_sample():
|
||||
|
||||
Reference in New Issue
Block a user