Skip to content

Commit 212c29c

Browse files
committed
remove serial_test dependency
1 parent 0e59b0b commit 212c29c

File tree

3 files changed

+64
-30
lines changed

3 files changed

+64
-30
lines changed

opentelemetry-otlp/tests/integration_test/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ ctor = "0.2.9"
1717
uuid = { version = "1.3", features = ["v4"] }
1818
tracing-subscriber = { workspace = true, features = ["env-filter","registry", "std", "fmt"] }
1919
tracing = {workspace = true}
20-
serial_test = "3.2.0"
2120

2221
[target.'cfg(unix)'.dependencies]
2322
opentelemetry-appender-tracing = { path = "../../../opentelemetry-appender-tracing", default-features = false}

opentelemetry-otlp/tests/integration_test/tests/logs.rs

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -89,42 +89,18 @@ mod logtests {
8989

9090
#[tokio::test(flavor = "multi_thread", worker_threads = 4)]
9191
#[cfg(any(feature = "tonic-client", feature = "reqwest-blocking-client"))]
92-
#[serial_test::serial]
93-
pub async fn test_logs() -> Result<()> {
94-
// Make sure the container is running
95-
use crate::{assert_logs_results, init_logs};
96-
test_utils::start_collector_container().await?;
97-
test_utils::cleanup_file("./actual/logs.json"); // Ensure logs.json is empty before the test
98-
let logger_provider = init_logs(false).unwrap();
99-
let layer = layer::OpenTelemetryTracingBridge::new(&logger_provider);
100-
let subscriber = tracing_subscriber::registry().with(layer);
101-
{
102-
let _guard = tracing::subscriber::set_default(subscriber);
103-
info!(target: "my-target", "hello from {}. My price is {}.", "banana", 2.99);
104-
}
105-
let _ = logger_provider.shutdown();
106-
tokio::time::sleep(Duration::from_secs(5)).await;
107-
assert_logs_results(test_utils::LOGS_FILE, "expected/logs.json")?;
108-
Ok(())
109-
}
110-
111-
#[tokio::test(flavor = "multi_thread", worker_threads = 4)]
112-
#[cfg(any(feature = "tonic-client", feature = "reqwest-blocking-client"))]
113-
#[serial_test::parallel]
11492
pub async fn logs_batch_tokio_multi_thread() -> Result<()> {
11593
logs_tokio_helper(false).await
11694
}
11795

11896
#[tokio::test(flavor = "multi_thread", worker_threads = 1)]
11997
#[cfg(any(feature = "tonic-client", feature = "reqwest-blocking-client"))]
120-
#[serial_test::parallel]
12198
pub async fn logs_batch_tokio_multi_with_one_worker() -> Result<()> {
12299
logs_tokio_helper(false).await
123100
}
124101

125102
#[tokio::test(flavor = "current_thread")]
126103
#[cfg(any(feature = "tonic-client", feature = "reqwest-blocking-client"))]
127-
#[serial_test::parallel]
128104
pub async fn logs_batch_tokio_current() -> Result<()> {
129105
logs_tokio_helper(false).await
130106
}
@@ -151,14 +127,12 @@ mod logtests {
151127

152128
#[tokio::test(flavor = "multi_thread", worker_threads = 4)]
153129
#[cfg(any(feature = "tonic-client", feature = "reqwest-client"))]
154-
#[serial_test::parallel]
155130
pub async fn logs_simple_tokio_multi_thread() -> Result<()> {
156131
logs_tokio_helper(true).await
157132
}
158133

159134
#[tokio::test(flavor = "multi_thread", worker_threads = 1)]
160135
#[cfg(any(feature = "tonic-client", feature = "reqwest-client"))]
161-
#[serial_test::parallel]
162136
pub async fn logs_simple_tokio_multi_with_one_worker() -> Result<()> {
163137
logs_tokio_helper(true).await
164138
}
@@ -167,14 +141,12 @@ mod logtests {
167141
#[ignore]
168142
#[tokio::test(flavor = "current_thread")]
169143
#[cfg(any(feature = "tonic-client", feature = "reqwest-client"))]
170-
#[serial_test::parallel]
171144
pub async fn logs_simple_tokio_current() -> Result<()> {
172145
logs_tokio_helper(true).await
173146
}
174147

175148
#[test]
176149
#[cfg(any(feature = "tonic-client", feature = "reqwest-blocking-client"))]
177-
#[serial_test::parallel]
178150
pub fn logs_batch_non_tokio_main() -> Result<()> {
179151
logs_non_tokio_helper(false)
180152
}
@@ -207,7 +179,6 @@ mod logtests {
207179

208180
#[test]
209181
#[cfg(any(feature = "tonic-client", feature = "reqwest-blocking-client"))]
210-
#[serial_test::parallel]
211182
pub fn logs_simple_non_tokio_main() -> Result<()> {
212183
logs_non_tokio_helper(true)
213184
}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
#![cfg(unix)]
2+
3+
use anyhow::Result;
4+
use ctor::dtor;
5+
use integration_test_runner::logs_asserter::{read_logs_from_json, LogsAsserter};
6+
use integration_test_runner::test_utils;
7+
use opentelemetry_appender_tracing::layer;
8+
use opentelemetry_otlp::LogExporter;
9+
use opentelemetry_sdk::logs::LoggerProvider;
10+
use opentelemetry_sdk::Resource;
11+
use std::fs::File;
12+
use std::os::unix::fs::MetadataExt;
13+
use tracing::info;
14+
use tracing_subscriber::layer::SubscriberExt;
15+
16+
#[tokio::test(flavor = "multi_thread", worker_threads = 4)]
17+
#[cfg(feature = "tonic-client")]
18+
pub async fn test_logs() -> Result<()> {
19+
test_utils::start_collector_container().await?;
20+
test_utils::cleanup_file("./actual/logs.json"); // Ensure logs.json is empty before the test
21+
let exporter_builder = LogExporter::builder().with_tonic();
22+
let exporter = exporter_builder.build()?;
23+
let mut logger_provider_builder = LoggerProvider::builder();
24+
logger_provider_builder = logger_provider_builder.with_batch_exporter(exporter);
25+
let logger_provider = logger_provider_builder
26+
.with_resource(
27+
Resource::builder_empty()
28+
.with_service_name("logs-integration-test")
29+
.build(),
30+
)
31+
.build();
32+
let layer = layer::OpenTelemetryTracingBridge::new(&logger_provider);
33+
let subscriber = tracing_subscriber::registry().with(layer);
34+
35+
{
36+
let _guard = tracing::subscriber::set_default(subscriber);
37+
info!(target: "my-target", "hello from {}. My price is {}.", "banana", 2.99);
38+
}
39+
40+
let _ = logger_provider.shutdown();
41+
tokio::time::sleep(std::time::Duration::from_secs(5)).await;
42+
assert_logs_results(test_utils::LOGS_FILE, "expected/logs.json")?;
43+
Ok(())
44+
}
45+
46+
fn assert_logs_results(result: &str, expected: &str) -> Result<()> {
47+
let left = read_logs_from_json(File::open(expected)?)?;
48+
let right = read_logs_from_json(File::open(result)?)?;
49+
50+
LogsAsserter::new(left, right).assert();
51+
52+
assert!(File::open(result).unwrap().metadata().unwrap().size() > 0);
53+
Ok(())
54+
}
55+
56+
///
57+
/// Make sure we stop the collector container, otherwise it will sit around hogging our
58+
/// ports and subsequent test runs will fail.
59+
///
60+
#[dtor]
61+
fn shutdown() {
62+
println!("metrics::shutdown");
63+
test_utils::stop_collector_container();
64+
}

0 commit comments

Comments
 (0)