diff --git a/crates/worker/src/spawn/tool.rs b/crates/worker/src/spawn/tool.rs index 49b1fe61..af8c69be 100644 --- a/crates/worker/src/spawn/tool.rs +++ b/crates/worker/src/spawn/tool.rs @@ -1850,7 +1850,7 @@ max_tokens = 3333 } #[test] - fn invalid_ambiguous_and_no_default_diagnostics_include_available_selectors() { + fn invalid_and_ambiguous_diagnostics_include_available_selectors() { let tmp = TempDir::new().unwrap(); let project = tmp.path().join("project"); std::fs::create_dir_all(&project).unwrap(); @@ -1868,17 +1868,21 @@ max_tokens = 3333 assert!(invalid.contains("Use `default`, `inherit`")); assert!(invalid.contains("`project:coder`")); - let default_error = build_spawn_config_json_for_profile( - &parent, - &available, - &project, - "child", - None, - &scope, - SpawnProfileSelector::Default, + let default_config: serde_json::Value = serde_json::from_str( + &build_spawn_config_json_for_profile( + &parent, + &available, + &project, + "child", + None, + &scope, + SpawnProfileSelector::Default, + ) + .unwrap(), ) - .unwrap_err(); - assert!(default_error.contains("no default profile is configured")); + .unwrap(); + assert_eq!(default_config["feature"]["sub_worker"]["enabled"], true); + assert_eq!(default_config["feature"]["ticket"]["enabled"], false); let user_config = tmp.path().join("user-profiles.toml"); std::fs::write(&user_config, "[profile]\ncoder = \"user-coder.toml\"\n").unwrap(); diff --git a/crates/workspace-server/src/hosts.rs b/crates/workspace-server/src/hosts.rs index 9e63f151..05ac7f46 100644 --- a/crates/workspace-server/src/hosts.rs +++ b/crates/workspace-server/src/hosts.rs @@ -3740,7 +3740,13 @@ fn builtin_profile_source_archive( profile: &ProfileSelector, ) -> Result { let selected_profile = match profile { - ProfileSelector::Builtin(name) => name.clone(), + ProfileSelector::Builtin(name) => { + if name.starts_with("builtin:") { + name.clone() + } else { + format!("builtin:{name}") + } + } ProfileSelector::Named(name) => { return Err(format!( "embedded runtime does not provide named Profile `{name}`" diff --git a/crates/workspace-server/src/server.rs b/crates/workspace-server/src/server.rs index bb0263d7..69626ada 100644 --- a/crates/workspace-server/src/server.rs +++ b/crates/workspace-server/src/server.rs @@ -18155,7 +18155,12 @@ mod tests { }, ) .unwrap(); - assert_eq!(existing.state, WorkerOperationState::Accepted); + assert_eq!( + existing.state, + WorkerOperationState::Accepted, + "diagnostics: {:?}", + existing.diagnostics + ); let worker_id = existing.worker.unwrap().worker.worker_id; let worker = api .runtime