Interrupt tests rely on wall-clock sleeps

Ouverte Adaptée aux débutants
#260 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
75/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
go
Domaine
cli, testing

Piste de recherche

Commence par les attentes basées sur l'horloge dans main_e2e_test.go lignes 821-838 (1 s avant l'interruption) et dans main_signal_unix_test.go ligne 27 (200 ms avant SIGTERM). Vérifie comment le point d'extension signalReady existant est utilisé, et si le scan peut émettre une ligne de résultat sur laquelle attendre. C'est terminé lorsque aucun des deux tests n'utilise time.Sleep pour décider du moment où l'interruption est déclenchée, et que go test -run 'Interrupt|Signal' -count=20 . réussit de façon répétée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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

Langage dominant
Go
Étoiles
1
Forks
1
Merge moyen
7 h 48 min
PR mergées (30 j)
6

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de TMHSDigital/subenum

Toutes les issues de TMHSDigital/subenum

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.