• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

elixir-mint / mint / bf2455fb155bbe23cb20fb129b0ec146e5010fa1
91%

Build:
DEFAULT BRANCH: main
Ran 27 Sep 2026 08:56PM UTC
Jobs 1
Files 22
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 Sep 2026 08:54PM UTC coverage: 90.476% (+0.3%) from 90.169%
bf2455fb155bbe23cb20fb129b0ec146e5010fa1

push

github

web-flow
Add fuzz properties for HTTP/1 and HTTP/2 connections (#520)

* Add a fuzz property for HTTP/1 response parsing

The property pipelines one to three requests and feeds stream/2 randomly
generated responses (interim responses, HTTP/1.0 and HTTP/1.1, valid and
invalid status lines and headers, content-length, chunked with
extensions and trailers, and close-delimited bodies, with optional byte
mutations) in random chunk sizes, then checks that stream/2 never
raises, that every response belongs to a known request in the order
status, headers, data, trailers, done, that nothing follows done or an
error, and that a closed connection has no open requests left.

FUZZ_RUNS sets the number of scenarios; the default is 100.

* Extend the HTTP/1 fuzz property to passive mode, streaming and stream_headers

Scenarios now pick active or passive mode, feeding bytes through
recv/3 over the real socket in passive mode, randomly enable
stream_headers, stream request bodies with stream_request_body/3 and
open new requests while responses arrive. The harness accepts its own
socket so listen sockets are closed after each scenario.

* Check body sizes and open request counts in the HTTP/1 fuzz property

Scenarios now vary max_header_list_size, case_sensitive_headers and
optional_responses, include CONNECT requests, and check that a completed
response has exactly the body its content-length announced, that HEAD,
204, 304 and CONNECT 2xx responses have no body, and that
open_request_count/1 matches the number of unfinished requests.

* Add a fuzz property for HTTP/2 frame handling

The property opens one to three requests against the test server and
feeds stream/2 a random sequence of server frames (HEADERS with valid
and invalid header lists, CONTINUATION, padding, DATA, PUSH_PROMISE with
valid and invalid stream IDs, RST_STREAM, SETTINGS, PING, GOAWAY,
WINDOW_UPDATE, PRIORITY, unknown frame types and raw bytes) in random
chunk sizes, interleaved with cancel_request/2, strea... (continued)

1767 of 1953 relevant lines covered (90.48%)

700.61 hits per line

Jobs
ID Job ID Ran Files Coverage
1 bf2455fb155bbe23cb20fb129b0ec146e5010fa1.1 27 Sep 2026 08:56PM UTC 22
90.48
GitHub Action Run
Source Files on build bf2455fb155bbe23cb20fb129b0ec146e5010fa1
  • Tree
  • List 22
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • bf2455fb on github
  • Prev Build on main (#6C531FEF...)
  • Next Build on main (#C7895CB0...)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc