| from pathlib import Path | |
| REMOTE_TRAIN = Path("scripts/remote_train.sh").read_text() | |
| def test_remote_train_pins_hf_dataset_revision_for_split_download(): | |
| assert "DATA_REVISION=" in REMOTE_TRAIN | |
| assert "dataset_info('$DATA_DATASET').sha" in REMOTE_TRAIN | |
| assert "DATA_REVISION was not set; using mutable dataset HEAD" in REMOTE_TRAIN | |
| assert "production HF jobs should pin DATA_REVISION" in REMOTE_TRAIN | |
| assert "revision='$DATA_REVISION'" in REMOTE_TRAIN | |
| assert "allow_patterns=['train/*.parquet', 'val/*.parquet', 'test/*.parquet', 'split_summary.json']" in REMOTE_TRAIN | |
| assert "allow_patterns=['te_seqdata.parquet']" not in REMOTE_TRAIN | |
| assert "root te_seqdata.parquet is intentionally ignored" in REMOTE_TRAIN | |
| def test_remote_train_lmdb_signature_includes_dataset_revision(): | |
| assert "DATA_REVISION_SHORT" in REMOTE_TRAIN | |
| assert "immutable split-input" in REMOTE_TRAIN | |
| assert 'PROCESSED_SIGNATURE="${LOCAL_PROCESSED_SIGNATURE}_ds${DATA_REVISION_SHORT}"' in REMOTE_TRAIN | |
| def test_remote_train_uses_trainer_processed_dir_for_local_artifacts(): | |
| assert 'PROCESSED_DIR="data/processed/te_visuals/$LOCAL_PROCESSED_SIGNATURE"' in REMOTE_TRAIN | |
| assert 'PROCESSED_DIR="data/processed/te_visuals/auto"' not in REMOTE_TRAIN | |
| def test_remote_train_supports_forced_lmdb_rebuild(): | |
| assert "FORCE_ETL_REBUILD" in REMOTE_TRAIN | |
| assert "skipping LMDB cache pull" in REMOTE_TRAIN | |
| assert "rm -f \"$PROCESSED_DIR/tensors.lmdb\"" in REMOTE_TRAIN | |
| def test_remote_train_requires_lmdb_cache_manifest_for_cache_hit(): | |
| assert "etl_cache_manifest.json" in REMOTE_TRAIN | |
| assert "[ -f \"$PROCESSED_DIR/etl_cache_manifest.json\" ]" in REMOTE_TRAIN | |
| assert "root te_seqdata.parquet is intentionally ignored" in REMOTE_TRAIN | |
| def test_remote_train_disables_full_embedding_export(): | |
| assert "--no-export-embeddings" in REMOTE_TRAIN | |
| def test_remote_train_defaults_amp_off_for_hf_jobs(): | |
| assert 'DEEPGENOPIX_USE_AMP="${DEEPGENOPIX_USE_AMP:-0}"' in REMOTE_TRAIN | |
| assert "using DEEPGENOPIX_USE_AMP=$DEEPGENOPIX_USE_AMP" in REMOTE_TRAIN | |