diff --git a/libdd-library-config/src/tracer_metadata.rs b/libdd-library-config/src/tracer_metadata.rs index 321b4a50a9..f84cb24478 100644 --- a/libdd-library-config/src/tracer_metadata.rs +++ b/libdd-library-config/src/tracer_metadata.rs @@ -4,7 +4,7 @@ use libdd_trace_protobuf::opentelemetry::proto as otel_proto; use std::default::Default; /// This struct MUST be backward compatible. -#[derive(serde::Serialize, Debug)] +#[derive(serde::Serialize, Debug, PartialEq, Eq)] pub struct TracerMetadata { /// Version of the schema. pub schema_version: u8, @@ -247,6 +247,25 @@ mod tests { .as_ref() } + #[test] + fn tracer_metadata_equality() { + let a = TracerMetadata { + tracer_language: "python".into(), + ..Default::default() + }; + let b = TracerMetadata { + tracer_language: "python".into(), + ..Default::default() + }; + let c = TracerMetadata { + tracer_language: "ruby".into(), + ..Default::default() + }; + + assert_eq!(a, b); + assert_ne!(a, c); + } + #[test] fn threadlocal_attrs_absent_when_keys_empty() { let ctx = TracerMetadata::default().to_otel_process_ctx();