airvzxf / airvzxf/ftp-deployment-action

test(integration): scenarios can't run in parallel (fixed ports 2121/2122/2123)

Ouverte
#223 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
audit pending-architecture pending-human priority:medium test
Langage dominant
Shell
Étoiles
37
Forks
9
Merge moyen
44 min
PR mergées (30 j)
47

Description

gh issue create --title "test(integration): scenarios can't run in parallel (fixed ports 2121/2122/2123)" --label "test,audit,priority:medium" --body "## Finding

The integration scenarios use fixed ports (2121 plain, 2122 FTPS implicit, 2123 FTPS explicit). Two parallel runs of `make test-integration` on the same host collide. CI is fine (single workflow run), but local development is bottlenecked.

## Affected code

- tests/integration/lib/common.sh — port constants
- tests/integration/scenarios/* — port references

## Reproduction

1. Open two terminals.
2. Run `make test-integration` in both.
3. Observe: second run fails with 'port already in use'.

## Suggested fix

Pick ports at runtime from an env var (TEST_FTP_PORT, TEST_FTPS_IMPLICIT_PORT, TEST_FTPS_EXPLICIT_PORT) with safe defaults (2121-2123). Pass the ports into start_ftps_server.

Or use ephemeral port allocation (bind to 0, read back the bound port).

The first option is simpler.

## Source

F2 audit 2026-09-03 (tests audit). Reporter: subagent-pekodbj7.

## Related

- Part of EPIC #[epic-number]
- Closes: #NONE (no existing issue)
- Related: M6 (sleep 1 for bind-mount propagation)"

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Start in tests/integration/lib/common.sh to inspect the port constants and start_ftps_server, then trace the port references under tests/integration/scenarios/. Run make test-integration in two terminals, and verify that both runs can use the safe defaults or distinct environment-provided ports without a port collision.

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

Évaluation

Stack technique
shell
Domaine
networking, testing-qa
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Active
Clarté
Clairement spécifiée
Accessibilité débutants
76/100

Recevez les nouvelles issues par e-mail

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