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

99designs / gqlgen / 37031144063
0%

Build:
DEFAULT BRANCH: master
Ran 02 Oct 2026 04:05PM UTC
Jobs 1
Files 0
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

02 Oct 2026 04:02PM UTC coverage: 0.0%. Remained the same
37031144063

push

github

web-flow
Add tests, benchmarks and a fuzz target for the request path (#4352)

* lru: add unit tests for the query cache

The package had no tests at all. It wraps hashicorp/golang-lru and sits in
front of query parsing and validation, so a document it returns is used
without being re-checked and a document it drops costs a full parse.

The eviction and recency contracts are the ones worth holding still. A Get
has to count as a use, or a query served on every request would be evicted
by a burst of one-off queries, which is the case the cache exists to
handle. The concurrency test covers one Server sharing one cache across
every request it serves.

* lru: benchmark Get and Add

Every request performs exactly one Get, so its cost is added to all of
them. Keys are whole query strings rather than short identifiers, and the
sizes here span 40 to 5000 bytes to show whether that length reaches the
cost of a lookup. Measured, it does not.

Add is measured against a full cache, since a server at steady state
evicts on every admission rather than filling empty slots.

* executor: test the parser token limit

SetParserTokenLimit had no test anywhere in the repository. It caps how
many tokens the parser reads, which makes it a denial-of-service guard: a
small request can otherwise ask the server to build an enormous document.

A breach has to be reported as a parse failure. parseQuery decides that by
type-asserting the parser's error and falls through when the assertion does
not hold, so the error code is worth asserting rather than assuming. The
limit also has to hold for every request and not latch after the first.

* executor: test the request timings

Nothing in the executor reads Stats back, so a dropped assignment was
invisible. apollotracing derives durations as Parsing.End.Sub(Parsing.Start),
which means an unrecorded start is not a missing number but a wrong one,
centuries wide, reported to whatever consumes the trace.

The tests assert the four timings are prese... (continued)

0 of 0 relevant lines covered (NaN%)

0.0 hits per line

Jobs
ID Job ID Ran Files Coverage
1 37031144063.1 02 Oct 2026 04:05PM UTC 0
0.0
GitHub Action Run
Source Files on build 37031144063
Detailed source file information is not available for this build.
  • Back to Repo
  • de81f435 on github
  • Prev Build on master (#36948742589)
  • Next Build on master (#37056503075)
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