airvzxf / airvzxf/ftp-deployment-action
test(integration): scenarios can't run in parallel (fixed ports 2121/2122/2123)
- Lenguaje dominante
- Shell
- Estrellas
- 37
- Forks
- 9
- Merge medio
- 44 min
- PR fusionados (30 d)
- 47
Descripción
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)"
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- shell
- Área
- networking, testing-qa
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Activo
- Claridad
- Bien especificado
- Aptitud para principiantes
- 76/100