Skip to content

Latest commit

 

History

History
100 lines (77 loc) · 3.05 KB

File metadata and controls

100 lines (77 loc) · 3.05 KB

Testing and Performance

简体中文 | Docs Index

Required Checks

GOWORK=off GOTOOLCHAIN=local go test ./... -count=1
GOWORK=off GOTOOLCHAIN=local go vet ./...
gofmt -l .
git diff --check

Focused Behavior Checks

Run focused tests while working on a small behavior change:

GOWORK=off GOTOOLCHAIN=local go test ./... -run 'TestName' -count=1

Discovered Test Entry Points

This inventory is generated from the current _test.go files in this repository. It is intentionally complete so documentation review can catch stale test, benchmark, fuzz, and example coverage when code changes.

Total discovered entry points: 39.

Tests (39)

  • TestConfigRejectsInvalidScenario
  • TestConfigValidate
  • TestExchangeFixed
  • TestExchangeHTTP1
  • TestExchangeLengthField
  • TestExchangeLine
  • TestExchangeMQTT
  • TestExchangeRaw
  • TestExchangeRedis
  • TestExchangeRejectsInvalidProtocol
  • TestExchangeWebSocket
  • TestHostForSNIUsesHostPart
  • TestOptionsResolveRejectsFixedBuffersWithoutIOUringMmap
  • TestOptionsResolveRejectsInvalidSizes
  • TestOptionsTCPConfigEnablesFixedBuffers
  • TestOptionsWriteBufferWatermarkFlowsToConfigs
  • TestParseBackendNames
  • TestParseBackendRejectsUnknownName
  • TestParseEtherTypeAcceptsDecimalAndHex
  • TestParseQueryTypeAcceptsCommonTypes
  • TestParseQueryTypeRejectsUnknownType
  • TestParseRawFamily
  • TestParseTransportKindAcceptsAliases
  • TestParseTransportKindRejectsUnknown
  • TestPrintMessageFormatsAnswers
  • TestProtocolConfigResolveValidatesRawAndL2
  • TestRequestPayloadPrefersHex
  • TestRunChecksRawAndLengthFieldLeaks
  • TestRunDryRunDoesNotDial
  • TestRunDryRunDoesNotOpenTransport
  • TestRunDryRunKeepsDefaultExternalBehavior
  • TestRunLengthFieldHalfFrameScenario
  • TestRunMQTTUsesSingleSession
  • TestRunRawLongScenario
  • TestRunRejectsInvalidProtocol
  • TestRunStrictExternalRejectsSkippedHarness
  • TestRunUDP
  • TestRunWebSocketUsesSingleSession
  • TestSummarize

Benchmarks (0)

  • No Benchmark functions are currently declared.

Fuzz Targets (0)

  • No Fuzz targets are currently declared.

Examples (0)

  • No Example functions are currently declared.

Race Checks

GOWORK=off GOTOOLCHAIN=local go test -race ./... -count=1

Race checks are most valuable for core, transport, handler, resolver, observability, examples, and benchmark modules. Platform-specific transports may require native host capabilities.

Benchmarks

GOWORK=off GOTOOLCHAIN=local go test ./... -run '^$' -bench . -benchmem -benchtime=1s -count=5

Report ns/op, B/op, allocs/op, throughput, and p99 latency separately. Include host and OS details with every result.

Pressure Testing

Pressure tests should run against a realistic assembled stack. Use gnalloy.org/benchmarks for repeatable matrices and gnalloy.org/examples for runnable clients. Keep warmup and measurement phases separate.

CI

The repository validation workflow runs formatting, tests, and vet on Linux, macOS, and Windows for pushes and pull requests.