From 5df1d4d57b67876e0438b3371559b7c047666d00 Mon Sep 17 00:00:00 2001 From: Gahow Wang Date: Mon, 15 Jun 2026 16:41:12 +0800 Subject: [PATCH] test: resolve real_training corpus default via CARGO_MANIFEST_DIR cargo runs tests with cwd = crate dir, so the bare relative default data/tinystories-valid-3mb.txt didn't resolve. Anchor it to the repo root via CARGO_MANIFEST_DIR so the test runs out of the box (still overridable with XTRAIN_CORPUS). Co-Authored-By: Claude Opus 4.8 --- crates/xtrain-train/tests/real_training.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/crates/xtrain-train/tests/real_training.rs b/crates/xtrain-train/tests/real_training.rs index 5d6a4e6..70e186c 100644 --- a/crates/xtrain-train/tests/real_training.rs +++ b/crates/xtrain-train/tests/real_training.rs @@ -46,9 +46,15 @@ fn trains_on_tinystories() { std::env::var("XTRAIN_TOKENIZER") .unwrap_or_else(|_| "/opt/wjh/models/gpt2/tokenizer.json".into()), ); - let corpus_path = PathBuf::from( - std::env::var("XTRAIN_CORPUS").unwrap_or_else(|_| "data/tinystories-valid-3mb.txt".into()), - ); + // Default resolves relative to the repo root (cargo runs tests with cwd = + // crate dir, so `../../data/...` from crates/xtrain-train); override with + // XTRAIN_CORPUS for any other location. + let corpus_path = PathBuf::from(std::env::var("XTRAIN_CORPUS").unwrap_or_else(|_| { + format!( + "{}/../../data/tinystories-valid-3mb.txt", + env!("CARGO_MANIFEST_DIR") + ) + })); let corpus = Corpus::load(&tok_path, &corpus_path); println!(