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

zalando / skipper / 39279299108
81%

Build:
DEFAULT BRANCH: master
Ran 19 Oct 2026 03:54PM UTC
Jobs 1
Files 333
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

19 Oct 2026 03:36PM UTC coverage: 81.084% (+0.05%) from 81.037%
39279299108

push

github

web-flow
fix(awssigner): initialize uri escape table once with sync.Once (#4343)

#### Problem
In `filters/awssigner/internal/uri.go`, `EscapePath()` invoked
`InitializeEscape()` on every execution to populate the package-level
`noEscape [256]bool` array. This caused:
- A data race when multiple goroutines execute `EscapePath()`
concurrently.
- Unnecessary CPU overhead by re-populating a static 256-element array
on every request.
- An unresolved `//TODO : is getting initialized every time` comment in
production code.

Additionally, `filters/awssigner/internal` had zero unit tests to verify
escaping rules or detect data races under concurrent execution.

#### Solution
- Wrapped the initialization inside `InitializeEscape()` with
`sync.Once` (`escapeOnce.Do(...)`). This preserves the existing function
signature while guaranteeing thread-safe, single execution across all
concurrent calls.
- Added `filters/awssigner/internal/uri_test.go`:
- Table-driven unit tests (`TestEscapePath`) covering unreserved
characters (`a-z`, `A-Z`, `0-9`, `-`, `.`, `_`, `~`), query characters,
special symbols, and separator encoding (`encodeSep=true/false`).
- Concurrent race test (`TestEscapePath_ConcurrentRace`) running
concurrent goroutines under race detection.

Signed-off-by: Shardool Patil <shardoolpatil999@gmail.com>

11 of 11 new or added lines in 1 file covered. (100.0%)

4 existing lines in 2 files now uncovered.

27730 of 34199 relevant lines covered (81.08%)

71869.83 hits per line

Coverage Regressions

Lines Coverage ∆ File
3
68.55
-0.22% skipper.go
1
82.14
-0.89% logging/loggingtest/logger.go
Jobs
ID Job ID Ran Files Coverage
1 39279299108.1 19 Oct 2026 03:54PM UTC 333
81.08
GitHub Action Run
Source Files on build 39279299108
  • Tree
  • List 333
  • Changed 4
  • Source Changed 1
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39279299108
  • 37c8fda8 on github
  • Prev Build on master (#39278377840)
  • Next Build on master (#39417346351)
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