Skip to content

Commit b7bb198

Browse files
committed
Remove serial_test usage in favor of temp_env::with_vars_unset to fix log_processor flaky test
1 parent 8ecf89d commit b7bb198

File tree

2 files changed

+47
-10
lines changed

2 files changed

+47
-10
lines changed

opentelemetry-sdk/Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ rustdoc-args = ["--cfg", "docsrs"]
3939
indexmap = "2.0"
4040
criterion = { version = "0.5", features = ["html_reports"] }
4141
temp-env = { workspace = true }
42-
serial_test = "3.0.0"
4342

4443
[target.'cfg(not(target_os = "windows"))'.dev-dependencies]
4544
pprof = { version = "0.13", features = ["flamegraph", "criterion"] }

opentelemetry-sdk/src/logs/log_processor.rs

+47-9
Original file line numberDiff line numberDiff line change
@@ -473,8 +473,6 @@ mod tests {
473473
};
474474
use std::time::Duration;
475475

476-
use serial_test::{parallel, serial};
477-
478476
#[test]
479477
fn test_default_const_values() {
480478
assert_eq!(OTEL_BLRP_SCHEDULE_DELAY, "OTEL_BLRP_SCHEDULE_DELAY");
@@ -491,9 +489,16 @@ mod tests {
491489
}
492490

493491
#[test]
494-
#[parallel]
495492
fn test_default_batch_config_adheres_to_specification() {
496-
let config = BatchConfig::default();
493+
// The following environment variables are expected to be unset so that their default values are used.
494+
let env_vars = vec![
495+
OTEL_BLRP_SCHEDULE_DELAY,
496+
OTEL_BLRP_EXPORT_TIMEOUT,
497+
OTEL_BLRP_MAX_QUEUE_SIZE,
498+
OTEL_BLRP_MAX_EXPORT_BATCH_SIZE,
499+
];
500+
501+
let config = temp_env::with_vars_unset(env_vars, BatchConfig::default);
497502

498503
assert_eq!(
499504
config.scheduled_delay,
@@ -511,7 +516,6 @@ mod tests {
511516
}
512517

513518
#[test]
514-
#[serial]
515519
fn test_batch_config_configurable_by_env_vars() {
516520
let env_vars = vec![
517521
(OTEL_BLRP_SCHEDULE_DELAY, Some("2000")),
@@ -529,7 +533,44 @@ mod tests {
529533
}
530534

531535
#[test]
532-
#[serial]
536+
fn test_batch_config_configurable_by_env_vars_millis() {
537+
let env_vars = vec![
538+
("OTEL_BLRP_SCHEDULE_DELAY_MILLIS", Some("3000")),
539+
("OTEL_BLRP_EXPORT_TIMEOUT_MILLIS", Some("70000")),
540+
];
541+
542+
let config = temp_env::with_vars(env_vars, BatchConfig::default);
543+
544+
assert_eq!(config.scheduled_delay, Duration::from_millis(3000));
545+
assert_eq!(config.max_export_timeout, Duration::from_millis(70000));
546+
assert_eq!(config.max_queue_size, OTEL_BLRP_MAX_QUEUE_SIZE_DEFAULT);
547+
assert_eq!(
548+
config.max_export_batch_size,
549+
OTEL_BLRP_MAX_EXPORT_BATCH_SIZE_DEFAULT
550+
);
551+
}
552+
553+
#[test]
554+
fn test_batch_config_configurable_by_env_vars_precedence() {
555+
let env_vars = vec![
556+
(OTEL_BLRP_SCHEDULE_DELAY, Some("2000")),
557+
("OTEL_BLRP_SCHEDULE_DELAY_MILLIS", Some("3000")),
558+
(OTEL_BLRP_EXPORT_TIMEOUT, Some("60000")),
559+
("OTEL_BLRP_EXPORT_TIMEOUT_MILLIS", Some("70000")),
560+
];
561+
562+
let config = temp_env::with_vars(env_vars, BatchConfig::default);
563+
564+
assert_eq!(config.scheduled_delay, Duration::from_millis(2000));
565+
assert_eq!(config.max_export_timeout, Duration::from_millis(60000));
566+
assert_eq!(config.max_queue_size, OTEL_BLRP_MAX_QUEUE_SIZE_DEFAULT);
567+
assert_eq!(
568+
config.max_export_batch_size,
569+
OTEL_BLRP_MAX_EXPORT_BATCH_SIZE_DEFAULT
570+
);
571+
}
572+
573+
#[test]
533574
fn test_batch_config_max_export_batch_size_validation() {
534575
let env_vars = vec![
535576
(OTEL_BLRP_MAX_QUEUE_SIZE, Some("256")),
@@ -551,7 +592,6 @@ mod tests {
551592
}
552593

553594
#[test]
554-
#[parallel]
555595
fn test_batch_config_with_fields() {
556596
let batch = BatchConfigBuilder::default()
557597
.with_max_export_batch_size(1)
@@ -567,7 +607,6 @@ mod tests {
567607
}
568608

569609
#[test]
570-
#[serial]
571610
fn test_build_batch_log_processor_builder() {
572611
let mut env_vars = vec![
573612
(OTEL_BLRP_MAX_EXPORT_BATCH_SIZE, Some("500")),
@@ -604,7 +643,6 @@ mod tests {
604643
}
605644

606645
#[test]
607-
#[parallel]
608646
fn test_build_batch_log_processor_builder_with_custom_config() {
609647
let expected = BatchConfigBuilder::default()
610648
.with_max_export_batch_size(1)

0 commit comments

Comments
 (0)