[pytest] # One runner for the whole suite. `unit` needs nothing but the libraries, `integration` # needs a live instance; both are collected by default so a bare `pytest` is the answer # to "run the tests". `bench` is not collected at all — those scripts measure rather than # assert, and a measurement has no pass or fail to report. testpaths = unit integration norecursedirs = bench helpers results .git __pycache__ # Show the reason for every skip: a suite that silently declines to run half of itself on # a developer's laptop is worse than one that says which half and why. addopts = -ra --strict-markers --tb=short markers = instance: needs a running firegex to talk to root: needs root and a Linux kernel with nftables slow: waits on a real timeout and takes seconds to do it ipv6: exercises the IPv6 half tls: exercises TLS termination quic: exercises QUIC termination, and needs aioquic to speak it http2: exercises HTTP/2 termination, and needs grpcio to stand up a real h2 service