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

forst-lang / forst / 30341014938
79%

Build:
DEFAULT BRANCH: main
Ran 28 Jul 2026 08:14AM UTC
Jobs 1
Files 437
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

28 Jul 2026 08:05AM UTC coverage: 75.026% (-0.3%) from 75.296%
30341014938

push

github

haveyaseen
fix(devserver): stop leaked WatchRuntimeDev goroutines in tests

Tests spawned WatchRuntimeDev in the background but never stopped it, since
it only exits on SIGINT/SIGTERM. The leaked goroutines (fsnotify watchers,
signal handlers, reload loops) kept running for the rest of the test binary,
causing stray log output and contended invoke ports to bleed into later
tests and produce flaky failures such as
TestWatchRuntimeDev_fileChange_recompilesAndRestarts missing its restart
deadline. Added a StopCh field to RuntimeRunDeps so WatchRuntimeDev can be
shut down deterministically, and a startWatchRuntimeDev test helper that
stops it via t.Cleanup and waits for exit before the next test runs.

Exercising the shutdown path in tests for the first time surfaced a real
data race: the shared child *runningChild variable was written by the
reload-coalescer goroutine and read by the shutdown goroutine with no
synchronization. Switched it to atomic.Pointer[runningChild].

Also made newTestLogCapture discard the logger's real output so
captured-log tests stop writing to stderr, and widened the recompile test
to poll for startCount reaching 2 instead of asserting immediately after
compileCount, since restarting the child is a separate async step.

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

767 existing lines in 16 files now uncovered.

38030 of 50689 relevant lines covered (75.03%)

1075.47 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
79.33
1.58% forst/internal/devserver/runtime.go

Coverage Regressions

Lines Coverage ∆ File
221
46.7
-5.82% forst/cmd/forst/lsp/navigation_locals.go
156
70.17
-2.89% forst/cmd/forst/lsp/completion.go
112
70.74
3.25% forst/internal/typechecker/infer_goto.go
89
80.83
-0.17% forst/cmd/forst/lsp/hover_completion.go
36
72.7
-0.48% forst/cmd/forst/lsp/definition.go
30
70.85
0.08% forst/internal/typechecker/completion.go
26
66.67
-3.24% forst/internal/typechecker/field_hover.go
20
61.82
-27.37% forst/internal/typechecker/collect_const.go
20
84.13
0.26% forst/internal/typechecker/typechecker.go
16
95.36
-4.64% forst/internal/hoverdoc/builtins.go
13
67.74
3.89% forst/cmd/forst/lsp/symbols.go
12
90.34
0.06% forst/internal/parser/function.go
11
79.02
0.45% forst/cmd/forst/lsp/references.go
3
73.25
-0.78% forst/internal/compiler/compile_pipeline.go
1
70.43
-0.54% forst/internal/devserver/watch.go
1
84.73
-0.25% forst/internal/transformer/go/providers.go
Subprojects
ID Flag name Job ID Ran Files Coverage
1 /jobs/185261988 30341014938.1 28 Jul 2026 08:14AM UTC 437
75.03
GitHub Action Run
Source Files on build 30341014938
  • Tree
  • List 437
  • Changed 18
  • Source Changed 0
  • Coverage Changed 18
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 12f8e440 on github
  • Prev Build on main (#30311475800)
  • Next Build on main (#30393263649)
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