Interrupt tests rely on wall-clock sleeps

Offen Anfängerfreundlich
#260 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
75/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
go
Bereich
cli, testing

Rechercherichtung

Beginne mit den Wartezeiten per Wanduhr in main_e2e_test.go Zeilen 821-838 (1 s vor dem Interrupt) und in main_signal_unix_test.go Zeile 27 (200 ms vor SIGTERM). Prüfe, wie der bestehende signalReady-Seam verwendet wird, und ob der Scan eine Ergebniszeile ausgeben kann, auf die du warten kannst. Fertig ist es, wenn keiner der beiden Tests time.Sleep nutzt, um zu entscheiden, wann der Interrupt ausgelöst wird, und go test -run 'Interrupt|Signal' -count=20 . wiederholt erfolgreich durchläuft.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

good first issue severity: low testing

Summary

Two CLI tests time their interrupt with a fixed sleep. They expect it to land in the middle of a scan, which a slow runner can miss.

Where

  • main_e2e_test.go:821-838: sleeps 1 s, then interrupts a scan expected to take about 2 s
  • main_signal_unix_test.go:27: sleeps 200 ms before SIGTERM

Impact

On a slow or loaded runner the scan finishes before the interrupt arrives, and got >= len(want) fails. This is the same class as the recent flake fixes.

Suggested fix

Trigger the interrupt from an event (for example after the Nth result line on stdout, or through the existing signalReady seam) instead of a wall-clock sleep.

Acceptance criteria

  • No time.Sleep decides when the interrupt fires in either test.

Getting started

  • Relevant files: main_e2e_test.go, main_signal_unix_test.go
  • How to run tests: go test -run 'Interrupt|Signal' -count=20 .
  • Related docs: docs/DEVELOPER_GUIDE.md

Filed by repo-audit/full-audit at 3f671b2. Severity: low. Effort: S. audit-key: testing|main_e2e_test.go|interrupt-sleep

Vorherrschende Sprache
Go
Sterne
1
Forks
1
Ø Merge
7 Std. 48 Min.
Gemergte PRs (30 T.)
6

Entwicklungsumgebung

In Codespaces öffnen

Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus TMHSDigital/subenum

Alle Issues in TMHSDigital/subenum

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.