From 7b82e1c3eeb230131ce2c6c5240a0badfd335f64 Mon Sep 17 00:00:00 2001 From: Miles Johnson Date: Thu, 23 Jan 2025 15:08:45 -0800 Subject: [PATCH] Fix tests. --- .moon/workspace.yml | 7 +-- crates/remote/src/action_state.rs | 2 +- crates/remote/src/grpc_remote_client.rs | 2 + crates/remote/src/remote_service.rs | 2 +- .../task-expander/tests/task_expander_test.rs | 12 +--- .../task-runner/tests/output_archiver_test.rs | 62 ++++++------------- .../task-runner/tests/output_hydrater_test.rs | 33 ++-------- crates/task-runner/tests/task_runner_test.rs | 22 +++---- 8 files changed, 43 insertions(+), 99 deletions(-) diff --git a/.moon/workspace.yml b/.moon/workspace.yml index a3506fe749f..3ab758bac69 100644 --- a/.moon/workspace.yml +++ b/.moon/workspace.yml @@ -35,15 +35,12 @@ docker: include: - '*.config.js' - '*.json' + unstable_remote: - # host: 'http://0.0.0.0:8080' - # host: 'grpcs://0.0.0.0:9092' - host: 'https://cache.depot.dev' + host: 'grpcs://cache.depot.dev' auth: token: 'DEPOT_TOKEN' headers: - Authorization: - 'Bearer depot_org_ece2365d877c7f2f437f46de5bf03bd54862e3ca7fde67f079264e971ecb0789' 'X-Depot-Org': '1xtpjd084j' 'X-Depot-Project': '90xxfkst9n' # cache: diff --git a/crates/remote/src/action_state.rs b/crates/remote/src/action_state.rs index f8224e5f8e1..d01199551be 100644 --- a/crates/remote/src/action_state.rs +++ b/crates/remote/src/action_state.rs @@ -21,7 +21,7 @@ pub struct ActionState<'task> { pub blobs: Vec, } -impl<'task> ActionState<'task> { +impl ActionState<'_> { pub fn new(digest: Digest, task: &Task) -> ActionState<'_> { ActionState { task, diff --git a/crates/remote/src/grpc_remote_client.rs b/crates/remote/src/grpc_remote_client.rs index 3bff5ef9d1a..000e736cd88 100644 --- a/crates/remote/src/grpc_remote_client.rs +++ b/crates/remote/src/grpc_remote_client.rs @@ -366,7 +366,9 @@ impl RemoteClient for GrpcRemoteClient { if let Some(status) = download.status { if status.code != 0 { warn!( + hash = &digest.hash, details = ?status.details, + code = status.code, "Failed to download blob: {}", status.message ); diff --git a/crates/remote/src/remote_service.rs b/crates/remote/src/remote_service.rs index ba972e4b63b..4a3ebeb2dd9 100644 --- a/crates/remote/src/remote_service.rs +++ b/crates/remote/src/remote_service.rs @@ -273,7 +273,7 @@ impl RemoteService { batch_download_blobs( self.client.clone(), &state.digest, - &result, + result, &self.workspace_root, self.get_max_batch_size() as usize, ) diff --git a/crates/task-expander/tests/task_expander_test.rs b/crates/task-expander/tests/task_expander_test.rs index a5c55a08a69..76d3f6220ee 100644 --- a/crates/task-expander/tests/task_expander_test.rs +++ b/crates/task-expander/tests/task_expander_test.rs @@ -26,9 +26,7 @@ mod task_expander { task.input_files.insert("project/source/out".into()); let context = create_context(sandbox.path()); - let task = TaskExpander::new(&project, &context) - .expand(&mut task) - .unwrap(); + let task = TaskExpander::new(&project, &context).expand(&task).unwrap(); assert!(task.input_files.is_empty()); assert_eq!( @@ -48,9 +46,7 @@ mod task_expander { task.input_globs.insert("project/source/out/**/*".into()); let context = create_context(sandbox.path()); - let task = TaskExpander::new(&project, &context) - .expand(&mut task) - .unwrap(); + let task = TaskExpander::new(&project, &context).expand(&task).unwrap(); assert!(task.input_globs.is_empty()); assert_eq!( @@ -72,9 +68,7 @@ mod task_expander { task.inputs = vec![InputPath::ProjectFile("dir".into())]; let context = create_context(sandbox.path()); - let task = TaskExpander::new(&project, &context) - .expand(&mut task) - .unwrap(); + let task = TaskExpander::new(&project, &context).expand(&task).unwrap(); assert!(task.input_files.is_empty()); assert_eq!( diff --git a/crates/task-runner/tests/output_archiver_test.rs b/crates/task-runner/tests/output_archiver_test.rs index 318d253e134..3f0286b26ab 100644 --- a/crates/task-runner/tests/output_archiver_test.rs +++ b/crates/task-runner/tests/output_archiver_test.rs @@ -1,7 +1,6 @@ mod utils; use moon_cache::CacheMode; -use moon_remote::Digest; use moon_task::Target; use starbase_archive::Archiver; use std::env; @@ -9,13 +8,6 @@ use std::fs; use std::sync::Arc; use utils::*; -fn stub_digest() -> Digest { - Digest { - hash: "hash123".into(), - size_bytes: 0, - } -} - mod output_archiver { use super::*; @@ -26,9 +18,8 @@ mod output_archiver { async fn does_nothing_if_no_outputs_in_task() { let container = TaskRunnerContainer::new("archive", "no-outputs").await; let archiver = container.create_archiver(); - let digest = stub_digest(); - assert!(archiver.archive(&digest, None).await.unwrap().is_none()); + assert!(archiver.archive("hash123", None).await.unwrap().is_none()); } #[tokio::test] @@ -36,9 +27,8 @@ mod output_archiver { async fn errors_if_outputs_not_created() { let container = TaskRunnerContainer::new("archive", "file-outputs").await; let archiver = container.create_archiver(); - let digest = stub_digest(); - archiver.archive(&digest, None).await.unwrap(); + archiver.archive("hash123", None).await.unwrap(); } #[tokio::test] @@ -47,9 +37,8 @@ mod output_archiver { container.sandbox.create_file("project/file.txt", ""); let archiver = container.create_archiver(); - let digest = stub_digest(); - assert!(archiver.archive(&digest, None).await.unwrap().is_some()); + assert!(archiver.archive("hash123", None).await.unwrap().is_some()); assert!(container .sandbox .path() @@ -66,9 +55,8 @@ mod output_archiver { .create_file(".moon/cache/outputs/hash123.tar.gz", ""); let archiver = container.create_archiver(); - let digest = stub_digest(); - let file = archiver.archive(&digest, None).await.unwrap().unwrap(); + let file = archiver.archive("hash123", None).await.unwrap().unwrap(); assert_eq!(fs::metadata(file).unwrap().len(), 0); } @@ -79,14 +67,13 @@ mod output_archiver { container.sandbox.create_file("project/file.txt", ""); let archiver = container.create_archiver(); - let digest = stub_digest(); container .app_context .cache_engine .force_mode(CacheMode::Off); - assert!(archiver.archive(&digest, None).await.unwrap().is_none()); + assert!(archiver.archive("hash123", None).await.unwrap().is_none()); env::remove_var("MOON_CACHE"); } @@ -97,14 +84,13 @@ mod output_archiver { container.sandbox.create_file("project/file.txt", ""); let archiver = container.create_archiver(); - let digest = stub_digest(); container .app_context .cache_engine .force_mode(CacheMode::Read); - assert!(archiver.archive(&digest, None).await.unwrap().is_none()); + assert!(archiver.archive("hash123", None).await.unwrap().is_none()); env::remove_var("MOON_CACHE"); } @@ -115,9 +101,8 @@ mod output_archiver { container.sandbox.create_file("project/file.txt", ""); let archiver = container.create_archiver(); - let digest = stub_digest(); - let file = archiver.archive(&digest, None).await.unwrap().unwrap(); + let file = archiver.archive("hash123", None).await.unwrap().unwrap(); let dir = container.sandbox.path().join("out"); Archiver::new(&dir, &file).unpack_from_ext().unwrap(); @@ -133,9 +118,8 @@ mod output_archiver { container.sandbox.create_file("project/three.txt", ""); let archiver = container.create_archiver(); - let digest = stub_digest(); - let file = archiver.archive(&digest, None).await.unwrap().unwrap(); + let file = archiver.archive("hash123", None).await.unwrap().unwrap(); let dir = container.sandbox.path().join("out"); Archiver::new(&dir, &file).unpack_from_ext().unwrap(); @@ -157,9 +141,8 @@ mod output_archiver { container.sandbox.create_file("project/file.txt", ""); let archiver = container.create_archiver(); - let digest = stub_digest(); - let file = archiver.archive(&digest, None).await.unwrap().unwrap(); + let file = archiver.archive("hash123", None).await.unwrap().unwrap(); let dir = container.sandbox.path().join("out"); Archiver::new(&dir, &file).unpack_from_ext().unwrap(); @@ -181,9 +164,8 @@ mod output_archiver { container.sandbox.create_file("project/c.txt", ""); let archiver = container.create_archiver(); - let digest = stub_digest(); - let file = archiver.archive(&digest, None).await.unwrap().unwrap(); + let file = archiver.archive("hash123", None).await.unwrap().unwrap(); let dir = container.sandbox.path().join("out"); Archiver::new(&dir, &file).unpack_from_ext().unwrap(); @@ -201,9 +183,8 @@ mod output_archiver { container.sandbox.create_file("project/c.txt", ""); let archiver = container.create_archiver(); - let digest = stub_digest(); - let file = archiver.archive(&digest, None).await.unwrap().unwrap(); + let file = archiver.archive("hash123", None).await.unwrap().unwrap(); let dir = container.sandbox.path().join("out"); Archiver::new(&dir, &file).unpack_from_ext().unwrap(); @@ -219,9 +200,8 @@ mod output_archiver { container.sandbox.create_file("project/file.txt", ""); let archiver = container.create_archiver(); - let digest = stub_digest(); - let file = archiver.archive(&digest, None).await.unwrap().unwrap(); + let file = archiver.archive("hash123", None).await.unwrap().unwrap(); let dir = container.sandbox.path().join("out"); Archiver::new(&dir, &file).unpack_from_ext().unwrap(); @@ -237,9 +217,8 @@ mod output_archiver { container.sandbox.create_file("project/c.txt", ""); let archiver = container.create_archiver(); - let digest = stub_digest(); - let file = archiver.archive(&digest, None).await.unwrap().unwrap(); + let file = archiver.archive("hash123", None).await.unwrap().unwrap(); let dir = container.sandbox.path().join("out"); Archiver::new(&dir, &file).unpack_from_ext().unwrap(); @@ -255,9 +234,8 @@ mod output_archiver { container.sandbox.create_file("project/dir/file.txt", ""); let archiver = container.create_archiver(); - let digest = stub_digest(); - let file = archiver.archive(&digest, None).await.unwrap().unwrap(); + let file = archiver.archive("hash123", None).await.unwrap().unwrap(); let dir = container.sandbox.path().join("out"); Archiver::new(&dir, &file).unpack_from_ext().unwrap(); @@ -273,9 +251,8 @@ mod output_archiver { container.sandbox.create_file("project/c/file.txt", ""); let archiver = container.create_archiver(); - let digest = stub_digest(); - let file = archiver.archive(&digest, None).await.unwrap().unwrap(); + let file = archiver.archive("hash123", None).await.unwrap().unwrap(); let dir = container.sandbox.path().join("out"); Archiver::new(&dir, &file).unpack_from_ext().unwrap(); @@ -292,9 +269,8 @@ mod output_archiver { container.sandbox.create_file("project/dir/file.txt", ""); let archiver = container.create_archiver(); - let digest = stub_digest(); - let file = archiver.archive(&digest, None).await.unwrap().unwrap(); + let file = archiver.archive("hash123", None).await.unwrap().unwrap(); let dir = container.sandbox.path().join("out"); Archiver::new(&dir, &file).unpack_from_ext().unwrap(); @@ -311,9 +287,8 @@ mod output_archiver { container.sandbox.create_file("shared/z.txt", ""); let archiver = container.create_archiver(); - let digest = stub_digest(); - let file = archiver.archive(&digest, None).await.unwrap().unwrap(); + let file = archiver.archive("hash123", None).await.unwrap().unwrap(); let dir = container.sandbox.path().join("out"); Archiver::new(&dir, &file).unpack_from_ext().unwrap(); @@ -331,9 +306,8 @@ mod output_archiver { container.sandbox.create_file("project/file.txt", ""); let archiver = container.create_archiver(); - let digest = stub_digest(); - let file = archiver.archive(&digest, None).await.unwrap().unwrap(); + let file = archiver.archive("hash123", None).await.unwrap().unwrap(); let dir = container.sandbox.path().join("out"); Archiver::new(&dir, &file).unpack_from_ext().unwrap(); diff --git a/crates/task-runner/tests/output_hydrater_test.rs b/crates/task-runner/tests/output_hydrater_test.rs index 82b8fe2b1fa..80b3150f230 100644 --- a/crates/task-runner/tests/output_hydrater_test.rs +++ b/crates/task-runner/tests/output_hydrater_test.rs @@ -1,23 +1,10 @@ mod utils; -use moon_action::Operation; use moon_cache::CacheMode; -use moon_remote::Digest; use moon_task_runner::output_hydrater::HydrateFrom; use std::env; use utils::*; -fn stub_digest() -> Digest { - Digest { - hash: "hash123".into(), - size_bytes: 0, - } -} - -fn stub_operation() -> Operation { - Operation::output_hydration() -} - mod output_hydrater { use super::*; @@ -36,11 +23,9 @@ mod output_hydrater { async fn does_nothing_if_from_prev_outputs() { let container = TaskRunnerContainer::new("archive", "file-outputs").await; let hydrater = container.create_hydrator(); - let digest = stub_digest(); - let mut operation = stub_operation(); assert!(hydrater - .hydrate(HydrateFrom::PreviousOutput, &digest, &mut operation) + .hydrate(HydrateFrom::PreviousOutput, "hash123", None) .await .unwrap()); } @@ -53,8 +38,6 @@ mod output_hydrater { .create_file(".moon/cache/outputs/hash123.tar.gz", ""); let hydrater = container.create_hydrator(); - let digest = stub_digest(); - let mut operation = stub_operation(); container .app_context @@ -62,7 +45,7 @@ mod output_hydrater { .force_mode(CacheMode::Off); assert!(!hydrater - .hydrate(HydrateFrom::LocalCache, &digest, &mut operation) + .hydrate(HydrateFrom::LocalCache, "hash123", None) .await .unwrap()); @@ -77,8 +60,6 @@ mod output_hydrater { .create_file(".moon/cache/outputs/hash123.tar.gz", ""); let hydrater = container.create_hydrator(); - let digest = stub_digest(); - let mut operation = stub_operation(); container .app_context @@ -86,7 +67,7 @@ mod output_hydrater { .force_mode(CacheMode::Write); assert!(!hydrater - .hydrate(HydrateFrom::LocalCache, &digest, &mut operation) + .hydrate(HydrateFrom::LocalCache, "hash123", None) .await .unwrap()); @@ -101,11 +82,9 @@ mod output_hydrater { assert!(!container.sandbox.path().join("project/file.txt").exists()); let hydrater = container.create_hydrator(); - let digest = stub_digest(); - let mut operation = stub_operation(); hydrater - .hydrate(HydrateFrom::LocalCache, &digest, &mut operation) + .hydrate(HydrateFrom::LocalCache, "hash123", None) .await .unwrap(); @@ -124,11 +103,9 @@ mod output_hydrater { .exists()); let hydrater = container.create_hydrator(); - let digest = stub_digest(); - let mut operation = stub_operation(); hydrater - .hydrate(HydrateFrom::LocalCache, &digest, &mut operation) + .hydrate(HydrateFrom::LocalCache, "hash123", None) .await .unwrap(); diff --git a/crates/task-runner/tests/task_runner_test.rs b/crates/task-runner/tests/task_runner_test.rs index b4aa77a9dcd..78ac83abcc7 100644 --- a/crates/task-runner/tests/task_runner_test.rs +++ b/crates/task-runner/tests/task_runner_test.rs @@ -3,7 +3,7 @@ mod utils; use moon_action::ActionStatus; use moon_action_context::*; use moon_cache::CacheMode; -use moon_remote::Digest; +// use moon_remote::Digest; use moon_task::Target; use moon_task_runner::output_hydrater::HydrateFrom; use moon_task_runner::TaskRunner; @@ -11,12 +11,12 @@ use moon_time::now_millis; use std::env; use utils::*; -fn stub_digest() -> Digest { - Digest { - hash: "hash123".into(), - size_bytes: 0, - } -} +// fn stub_digest() -> Digest { +// Digest { +// hash: "hash123".into(), +// size_bytes: 0, +// } +// } mod task_runner { use super::*; @@ -709,7 +709,7 @@ mod task_runner { fn setup_exec_state(runner: &mut TaskRunner) { runner.report_item.hash = Some("hash123".into()); - runner.action_digest = stub_digest(); + // runner.action_digest = stub_digest(); } #[tokio::test] @@ -1067,7 +1067,7 @@ mod task_runner { runner.cache.data.exit_code = 0; runner.cache.data.hash = "hash123".into(); - runner.action_digest = stub_digest(); + // runner.action_digest = stub_digest(); } #[tokio::test] @@ -1113,11 +1113,11 @@ mod task_runner { use super::*; use std::fs; - fn setup_local_state(container: &TaskRunnerContainer, runner: &mut TaskRunner) { + fn setup_local_state(container: &TaskRunnerContainer, _runner: &mut TaskRunner) { container.sandbox.enable_git(); container.pack_archive(); - runner.action_digest = stub_digest(); + // runner.action_digest = stub_digest(); } #[tokio::test]