From 1a1f44d3db0c671b2fe5b2d15165e2c0776519e0 Mon Sep 17 00:00:00 2001 From: bromano Date: Fri, 26 Jun 2026 06:38:32 +0000 Subject: [PATCH] Test negative histogram values --- codex-rs/otel/tests/suite/send.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/codex-rs/otel/tests/suite/send.rs b/codex-rs/otel/tests/suite/send.rs index c3e2027a63..8cf7e88ebc 100644 --- a/codex-rs/otel/tests/suite/send.rs +++ b/codex-rs/otel/tests/suite/send.rs @@ -107,6 +107,22 @@ fn send_builds_payload_with_tags_and_histograms() -> Result<()> { Ok(()) } +#[test] +fn histogram_records_negative_values() -> Result<()> { + let (metrics, exporter) = build_metrics_with_defaults(&[])?; + + metrics.histogram("codex.score_delta", /*value*/ -25, &[])?; + metrics.shutdown()?; + + let resource_metrics = latest_metrics(&exporter); + let (_, bucket_counts, sum, count) = histogram_data(&resource_metrics, "codex.score_delta"); + assert_eq!(bucket_counts.iter().sum::(), 1); + assert_eq!(sum, -25.0); + assert_eq!(count, 1); + + Ok(()) +} + // Ensures defaults merge per line and overrides take precedence. #[test] fn send_merges_default_tags_per_line() -> Result<()> {