Skip to content

Latest commit

 

History

History
97 lines (74 loc) · 3.26 KB

File metadata and controls

97 lines (74 loc) · 3.26 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: 38.

Tests (31)

  • TestAcceptKeyMatchesRFCExample
  • TestClientFrameDecoderRejectsMaskedServerFrame
  • TestClientHandshakeRejectsInvalidResponse
  • TestClientHandshakeWritesRequestAndValidatesResponse
  • TestCompressorDecompressorRoundTrip
  • TestCompressorPassesControlFrames
  • TestControlFrameHandlerEchoesCloseAndClosesChannel
  • TestControlFrameHandlerRespondsToPing
  • TestControlFrameHandlerTracksOutboundCloseState
  • TestDecompressorRejectsControlRSV
  • TestDecompressorRejectsInflatedLimit
  • TestFragmentAggregatorCombinesTextFragments
  • TestFragmentedMessageCompressesOnFinalContinuation
  • TestFrameDecoderAllowsConfiguredRSV1
  • TestFrameDecoderMaskedPayload
  • TestFrameDecoderRejectsInvalidCloseStatus
  • TestFrameDecoderRejectsInvalidOpcodeBeforeExtendedLength
  • TestFrameDecoderRequiresExplicitRSV
  • TestFrameEncoder
  • TestFrameEncoderMaskedPayloadWritesSingleBuffer
  • TestFrameEncoderWritesRSV1
  • TestIdleHandlerClosesOnReaderIdle
  • TestIdleHandlerWritesPingOnWriterIdle
  • TestLegacyFrameCompressorCompressesEachFrame
  • TestLegacyFrameExtensionParsesDeflateFrameNames
  • TestNewCloseFrameRejectsInvalidStatus
  • TestOfferAndParse
  • TestServerFrameDecoderRejectsUnmaskedClientFrame
  • TestServerHandshakeWritesSwitchingProtocolsAndRemovesHTTPHandlers
  • TestUTF8ValidatorAcceptsFragmentedText
  • TestUTF8ValidatorClosesOnInvalidText

Benchmarks (6)

  • BenchmarkCompressMessage
  • BenchmarkCompressorCompositePayload
  • BenchmarkDecompressMessage
  • BenchmarkDecompressorPayload
  • BenchmarkFrameDecoderMaskedFragmentedPayload
  • BenchmarkFrameEncoderMaskedCompositePayload

Fuzz Targets (1)

  • FuzzWebSocketFrameDecoder

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.