Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 1 addition & 49 deletions crates/turborepo/tests/continue_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ mod common;
use common::{run_turbo, setup};

#[test]
fn test_without_continue_stops_on_error() {
fn test_continue_modes() {
let tempdir = tempfile::tempdir().unwrap();
setup::setup_integration_test(
tempdir.path(),
Expand Down Expand Up @@ -36,24 +36,6 @@ fn test_without_continue_stops_on_error() {
!stdout.contains("my-app:build"),
"my-app should not run when dependency fails, got: {stdout}"
);
}

#[test]
fn test_without_continue_errors_only() {
let tempdir = tempfile::tempdir().unwrap();
setup::setup_integration_test(
tempdir.path(),
"monorepo_dependency_error",
"npm@10.5.0",
true,
)
.unwrap();

// Prime base-lib cache
run_turbo(
tempdir.path(),
&["build", "--filter", "my-app...", "--log-order", "grouped"],
);

let output = run_turbo(
tempdir.path(),
Expand All @@ -72,24 +54,6 @@ fn test_without_continue_errors_only() {
// Only error output should appear
assert!(stdout.contains("some-lib:build"));
assert!(stdout.contains("Failed:"));
}

#[test]
fn test_with_continue_runs_independent_tasks() {
let tempdir = tempfile::tempdir().unwrap();
setup::setup_integration_test(
tempdir.path(),
"monorepo_dependency_error",
"npm@10.5.0",
true,
)
.unwrap();

// Prime base-lib cache
run_turbo(
tempdir.path(),
&["build", "--filter", "my-app...", "--log-order", "grouped"],
);

let output = run_turbo(
tempdir.path(),
Expand All @@ -111,18 +75,6 @@ fn test_with_continue_runs_independent_tasks() {
stdout.contains("2 successful, 3 total"),
"expected 2 successes with --continue, got: {stdout}"
);
}

#[test]
fn test_continue_dependencies_successful() {
let tempdir = tempfile::tempdir().unwrap();
setup::setup_integration_test(
tempdir.path(),
"monorepo_dependency_error",
"npm@10.5.0",
true,
)
.unwrap();

let output = run_turbo(
tempdir.path(),
Expand Down
112 changes: 22 additions & 90 deletions crates/turborepo/tests/force_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,98 +51,30 @@ fn run_force_test(
}
}

// env var=true, missing flag: bypass
#[test]
fn test_force_env_true_no_flag() {
fn test_force_env_and_flag_precedence() {
let tempdir = tempfile::tempdir().unwrap();
setup_and_prime_cache(tempdir.path());
run_force_test(tempdir.path(), Some("true"), None, true);
}

// env var=true, --force=true: bypass
#[test]
fn test_force_env_true_flag_true() {
let tempdir = tempfile::tempdir().unwrap();
setup_and_prime_cache(tempdir.path());
run_force_test(tempdir.path(), Some("true"), Some("--force=true"), true);
}

// env var=true, --force=false: cache hit (flag wins)
#[test]
fn test_force_env_true_flag_false() {
let tempdir = tempfile::tempdir().unwrap();
setup_and_prime_cache(tempdir.path());
run_force_test(tempdir.path(), Some("true"), Some("--force=false"), false);
}

// env var=true, --force (no value): bypass
#[test]
fn test_force_env_true_flag_no_value() {
let tempdir = tempfile::tempdir().unwrap();
setup_and_prime_cache(tempdir.path());
run_force_test(tempdir.path(), Some("true"), Some("--force"), true);
}

// env var=false, missing flag: cache hit
#[test]
fn test_force_env_false_no_flag() {
let tempdir = tempfile::tempdir().unwrap();
setup_and_prime_cache(tempdir.path());
run_force_test(tempdir.path(), Some("false"), None, false);
}

// env var=false, --force=true: bypass
#[test]
fn test_force_env_false_flag_true() {
let tempdir = tempfile::tempdir().unwrap();
setup_and_prime_cache(tempdir.path());
run_force_test(tempdir.path(), Some("false"), Some("--force=true"), true);
}

// env var=false, --force=false: cache hit
#[test]
fn test_force_env_false_flag_false() {
let tempdir = tempfile::tempdir().unwrap();
setup_and_prime_cache(tempdir.path());
run_force_test(tempdir.path(), Some("false"), Some("--force=false"), false);
}

// env var=false, --force (no value): bypass
#[test]
fn test_force_env_false_flag_no_value() {
let tempdir = tempfile::tempdir().unwrap();
setup_and_prime_cache(tempdir.path());
run_force_test(tempdir.path(), Some("false"), Some("--force"), true);
}

// missing env var, missing flag: cache hit
#[test]
fn test_force_no_env_no_flag() {
let tempdir = tempfile::tempdir().unwrap();
setup_and_prime_cache(tempdir.path());
run_force_test(tempdir.path(), None, None, false);
}

// missing env var, --force=true: bypass
#[test]
fn test_force_no_env_flag_true() {
let tempdir = tempfile::tempdir().unwrap();
setup_and_prime_cache(tempdir.path());
run_force_test(tempdir.path(), None, Some("--force=true"), true);
}

// missing env var, --force=false: cache hit
#[test]
fn test_force_no_env_flag_false() {
let tempdir = tempfile::tempdir().unwrap();
setup_and_prime_cache(tempdir.path());
run_force_test(tempdir.path(), None, Some("--force=false"), false);
}

// missing env var, --force (no value): bypass
#[test]
fn test_force_no_env_flag_no_value() {
let tempdir = tempfile::tempdir().unwrap();
setup_and_prime_cache(tempdir.path());
run_force_test(tempdir.path(), None, Some("--force"), true);
let cases = [
// env var=true
(Some("true"), None, true),
(Some("true"), Some("--force=true"), true),
(Some("true"), Some("--force=false"), false),
(Some("true"), Some("--force"), true),
// env var=false
(Some("false"), None, false),
(Some("false"), Some("--force=true"), true),
(Some("false"), Some("--force=false"), false),
(Some("false"), Some("--force"), true),
// missing env var
(None, None, false),
(None, Some("--force=true"), true),
(None, Some("--force=false"), false),
(None, Some("--force"), true),
];

for (env_force, flag, expect_bypass) in cases {
run_force_test(tempdir.path(), env_force, flag, expect_bypass);
}
}
29 changes: 1 addition & 28 deletions crates/turborepo/tests/one_script_error_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ mod common;
use common::{run_turbo, setup};

#[test]
fn test_script_error_reported_with_exit_code() {
fn test_script_error_behavior() {
let tempdir = tempfile::tempdir().unwrap();
setup::setup_integration_test(
tempdir.path(),
Expand All @@ -31,21 +31,6 @@ fn test_script_error_reported_with_exit_code() {
stdout.contains("Failed:"),
"expected Failed summary, got: {stdout}"
);
}

#[test]
fn test_script_error_not_cached() {
let tempdir = tempfile::tempdir().unwrap();
setup::setup_integration_test(
tempdir.path(),
"monorepo_one_script_error",
"npm@10.5.0",
true,
)
.unwrap();

// First run
run_turbo(tempdir.path(), &["error"]);

// Second run: error should not be cached, but okay should be
let output = run_turbo(tempdir.path(), &["error"]);
Expand All @@ -59,18 +44,6 @@ fn test_script_error_not_cached() {
stdout.contains("my-app:error: cache miss"),
"error task should not be cached, got: {stdout}"
);
}

#[test]
fn test_continue_preserves_error_exit_code() {
let tempdir = tempfile::tempdir().unwrap();
setup::setup_integration_test(
tempdir.path(),
"monorepo_one_script_error",
"npm@10.5.0",
true,
)
.unwrap();

let output = run_turbo(tempdir.path(), &["okay2", "--continue"]);
assert!(
Expand Down
Loading
Loading