Skip to content

Commit 3f8cf96

Browse files
committed
fix(test): add serial_test to all env variable tests across workspace
Systematically address potential race conditions in all tests that modify environment variables by adding serial_test dependency and marking tests with #[serial_test::serial]. Changes: - mcp-security-middleware: 3 tests marked serial - mcp-cli-derive: 1 test marked serial - mcp-cli: 4 tests marked serial This prevents flaky test failures in CI when tests run in parallel and modify the same or overlapping environment variables. Tests using unique env var names per test (like in mcp-auth) don't need serialization as they don't conflict with each other.
1 parent 2f84189 commit 3f8cf96

File tree

5 files changed

+9
-0
lines changed

5 files changed

+9
-0
lines changed

Cargo.lock

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

mcp-cli-derive/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,4 @@ clap = { version = "4.0", features = ["derive"] }
3333
serde = { version = "1.0", features = ["derive"] }
3434
tokio = { version = "1.0", features = ["macros", "rt-multi-thread"] }
3535
thiserror = { workspace = true }
36+
serial_test = "3.0"

mcp-cli-derive/tests/test_mcp_config.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,7 @@ mod integration_tests {
358358

359359
/// Test environment variable support
360360
#[test]
361+
#[serial_test::serial]
361362
fn test_env_var_support() {
362363
use std::env;
363364

mcp-cli/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,4 @@ derive = ["pulseengine-mcp-cli-derive"]
4040
[dev-dependencies]
4141
tokio-test = "0.4"
4242
tempfile = "3.0"
43+
serial_test = "3.0"

mcp-cli/src/config_tests.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ fn test_env_utils_get_env_or_default() {
147147
}
148148

149149
#[test]
150+
#[serial_test::serial]
150151
fn test_env_utils_with_set_env_var() {
151152
use env_utils::*;
152153

@@ -183,6 +184,7 @@ fn test_env_utils_get_required_env_missing() {
183184
}
184185

185186
#[test]
187+
#[serial_test::serial]
186188
fn test_env_utils_get_required_env_present() {
187189
use env_utils::*;
188190

@@ -204,6 +206,7 @@ fn test_env_utils_get_required_env_present() {
204206
}
205207

206208
#[test]
209+
#[serial_test::serial]
207210
fn test_env_utils_get_required_env_invalid_type() {
208211
use env_utils::*;
209212

@@ -231,6 +234,7 @@ fn test_env_utils_get_required_env_invalid_type() {
231234
}
232235

233236
#[test]
237+
#[serial_test::serial]
234238
fn test_env_utils_get_required_env_valid_type() {
235239
use env_utils::*;
236240

0 commit comments

Comments
 (0)