Skip to content

sink/sinktest

import "github.com/stablekernel/crucible/sink/sinktest"

Package sinktest provides a conformance harness for sink.Outlet implementations. Destination authors call OutletConformance to verify their outlet honors the contract: it skips unknown payloads rather than failing them, is safe for concurrent use, and — when it also implements Flusher or Shutdowner — those drain cleanly and idempotently.

func OutletConformance(t *testing.T, factory func() sink.Outlet)

OutletConformance runs the sink.Outlet contract checks against outlets built by factory, reporting any violation on t. factory must return a fresh, independent Outlet on each call. It is safe to call with any Outlet implementation and is the recommended gate for every destination.

Generated by gomarkdoc