41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
from pathlib import Path
|
|
|
|
from trellis2.model_revisions import (
|
|
DINOV3_REPO,
|
|
DINOV3_REVISION,
|
|
MODEL_FILES,
|
|
MODEL_REVISIONS,
|
|
RMBG_REPO,
|
|
RMBG_REVISION,
|
|
SOURCE_REVISIONS,
|
|
TRELLIS_REPO,
|
|
TRELLIS_REVISION,
|
|
revision_for_repo,
|
|
)
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
|
|
|
|
def test_runtime_revisions_are_full_commits():
|
|
assert MODEL_REVISIONS[TRELLIS_REPO] == TRELLIS_REVISION
|
|
assert MODEL_REVISIONS[DINOV3_REPO] == DINOV3_REVISION
|
|
assert MODEL_REVISIONS[RMBG_REPO] == RMBG_REVISION
|
|
assert all(len(revision) == 40 for revision in MODEL_REVISIONS.values())
|
|
assert all(len(revision) == 40 for revision in SOURCE_REVISIONS.values())
|
|
assert MODEL_FILES.keys() == MODEL_REVISIONS.keys()
|
|
assert all(files for files in MODEL_FILES.values())
|
|
assert all(len(files) == len(set(files)) for files in MODEL_FILES.values())
|
|
|
|
|
|
def test_unknown_repo_keeps_explicit_revision():
|
|
assert revision_for_repo("example/private-model", "release-1") == "release-1"
|
|
|
|
|
|
def test_source_revisions_are_present_in_reproducible_inputs():
|
|
reproducibility_text = "\n".join(
|
|
(ROOT / path).read_text(encoding="utf-8")
|
|
for path in ("scripts/setup_macos.sh", "requirements_macos_core.txt", "README.md")
|
|
)
|
|
for revision in SOURCE_REVISIONS.values():
|
|
assert revision in reproducibility_text
|