packages feed

opentelemetry-0.0.0.0: unit-tests/TestCommon.hs

module TestCommon where

import OpenTelemetry.Common
import Data.Word

prop_tracer_push_does_something :: Word64 -> Word64 -> Int -> Bool
prop_tracer_push_does_something sid tid threadid =
  let tracer0 = Tracer mempty mempty
      sp0 = emptySpan { spanContext = SpanContext (SId sid) (TId tid) }
      tracer1 = tracerPushSpan tracer0 threadid sp0
  in tracer0 /= tracer1

prop_tracer_push_pop :: Word64 -> Word64 -> Int -> Bool
prop_tracer_push_pop sid tid threadid =
  let tracer0 = Tracer mempty mempty
      sp0 = emptySpan { spanContext = SpanContext (SId sid) (TId tid) }
      tracer1 = tracerPushSpan tracer0 threadid sp0
      (Just sp1, tracer2) = tracerPopSpan tracer1 threadid
  in tracer0 == tracer2 && sp0 == sp1