| from local_train.check import check_metadata, sha256_file |
| from local_train.constants import METADATA_FILES |
| from local_train.duel import go_nogo |
| from local_train.export import _copy_genesis_metadata, _strip_disallowed |
|
|
|
|
| def test_copy_genesis_metadata_is_byte_identical(tmp_path): |
| genesis = tmp_path / "genesis" |
| dest = tmp_path / "out" |
| genesis.mkdir() |
| dest.mkdir() |
| for name in METADATA_FILES: |
| (genesis / name).write_bytes(f"{name}-bytes\n".encode()) |
| (dest / "tokenizer.json").write_text("{}\n") |
| _copy_genesis_metadata(genesis, dest) |
| for name in METADATA_FILES: |
| assert sha256_file(dest / name) == sha256_file(genesis / name) |
| report = check_metadata(dest, genesis) |
| assert report["ok"] |
|
|
|
|
| def test_strip_removes_hf_extras(tmp_path): |
| (tmp_path / "config.json").write_text("{}") |
| (tmp_path / "special_tokens_map.json").write_text("{}") |
| (tmp_path / "merges.txt").write_text("a") |
| (tmp_path / "modeling.py").write_text("x") |
| (tmp_path / "model-00001-of-00002.safetensors").write_bytes(b"x") |
| removed = _strip_disallowed(tmp_path) |
| names = {p.name for p in tmp_path.iterdir()} |
| assert "special_tokens_map.json" in removed |
| assert "merges.txt" in removed |
| assert "modeling.py" in removed |
| assert "model-00001-of-00002.safetensors" in names |
|
|
|
|
| def test_go_nogo_rejects_zero_submit(): |
| report = go_nogo( |
| { |
| "run_id": "x", |
| "sample_count": 8, |
| "challenger_gate_pass_rate": 1.0, |
| "score_challenger": 0.80, |
| "score_king": 0.66, |
| } |
| ) |
| assert report["go"] is False |
| assert any("submit" in reason for reason in report["reasons"]) |
|
|