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

enetx / g / 27064753253
91%

Build:
DEFAULT BRANCH: main
Ran 06 Jun 2026 02:24PM UTC
Jobs 1
Files 53
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

06 Jun 2026 02:20PM UTC coverage: 91.228% (+1.3%) from 89.94%
27064753253

push

github

enetx
fix!: audit-driven correctness, safety, parity, and test hardening

Comprehensive audit pass over the library: 6 high + 13 medium + 22 low
findings fixed, API parity gaps filled, ~140 tests added. Full suite green.

High-severity correctness/safety:
- iter: honor consumer stop in SeqResult.Chain and Dir.Walk — both
  re-invoked yield after a false return (range-func protocol violation /
  runtime panic when a later source or pushed subdir existed)
- cmp fast paths: route interface-typed values through reflect.DeepEqual in
  Map/MapOrd/MapSafe/Slice/Deque .Eq/.Contains/.Index/.Unique (== panicked
  on uncomparable dynamic values, e.g. Map[K, any] holding a slice)
- pool: Pool.Limit guard uses atomic totalTasks, not len(tokens) — the old
  guard had a false-negative window and raced on the token-channel swap
- file: OpenFile closes/unlocks a prior fd before reassigning (fd +
  advisory-lock leak on re-open); CreateTemp acquires the lock when guarded
  (was Unlock-of-unlocked panic on fcntl platforms)

Medium:
- slice: bound() rejects index==len for Get/Set/Swap (Get(Len()) -> None);
  Replace panics on a reversed range instead of silently truncating
- iter: SeqResult.StepBy(0) no longer divides by zero; SeqResult.Take(n)
  stops tightly without over-pulling the source
- string/bytes: regexp Find reports genuine empty matches; String.Random
  guards empty charset / non-positive length; compress.Flate clamps level
- map: MapOrd.Remove zeroes the vacated tail; OccupiedOrdEntry re-resolves
  its index per op (stale index wrote the wrong slot / panicked on mutation)
- dir: Copy honors followLinks for file symlinks; Walk/Copy guard symlink cycles
- file: Print/Println emit file contents, not the struct
- print/dbg: pretty-debug escape handling, parseDigits overflow cap, uint64
  sign path, multi-line Dbg bounds checks
- rlimit: check Getrlimit error; fix the misleading comment

API parity / new surface:
- bytes: StartsWith/EndsWith(Any), Gte/Lte, Min/Max, Lin... (continued)

561 of 603 new or added lines in 35 files covered. (93.03%)

28 existing lines in 5 files now uncovered.

6427 of 7045 relevant lines covered (91.23%)

12108.75 hits per line

Uncovered Changes

Lines Coverage ∆ File
12
79.41
-1.54% dir.go
10
79.7
-1.63% file.go
4
82.14
12.14% dbg/dbg.go
3
88.5
8.01% entry_safe.go
3
55.56
3.0% option_sql.go
2
97.73
-2.27% bytes_regexp.go
2
79.09
20.58% float.go
2
80.0
2.22% internal/rlimit/rlimit.go
2
92.98
6.14% pool/rate.go
2
82.7
-3.52% slice.go

Coverage Regressions

Lines Coverage ∆ File
22
82.7
-3.52% slice.go
2
79.41
-1.54% dir.go
2
88.5
8.01% entry_safe.go
1
97.53
0.35% pool/pool.go
1
91.58
4.68% string.go
Jobs
ID Job ID Ran Files Coverage
1 27064753253.1 06 Jun 2026 02:24PM UTC 53
91.23
GitHub Action Run
Source Files on build 27064753253
  • Tree
  • List 53
  • Changed 41
  • Source Changed 0
  • Coverage Changed 41
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 9fdf81eb on github
  • Prev Build on refs/tags/v1.0.224 (#24127956674)
  • Next Build on main (#27064957432)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc