14-smoke-tests-and-validation.md (2159B)
1 # Smoke tests e validação 2 3 [← Índice](README.md) 4 5 ## Sintaxe Python (todo o produto) 6 7 ```bash 8 cd REPO 9 python3 -m compileall -q scripts terminal site tools email patches 10 ``` 11 12 **Esperado:** código de saída `0`. 13 14 ## Submódulo email 15 16 ```bash 17 cd REPO/email 18 python3 -m pytest tests/ -q 19 ``` 20 21 **Esperado:** testes passam (há `test_mailgun_client.py`). 22 23 ## `build_directory.py` 24 25 ```bash 26 python3 site/build_directory.py --users-json site/example-users.json --dry-run 27 ``` 28 29 **Esperado:** JSON no stdout com `username`, `since`, `path`. 30 31 ## `--help` (requer Unix) 32 33 Vários scripts importam `fcntl` ou `grp` — **não executáveis** em Windows típico: 34 35 - `scripts/admin/create_runv_user.py --help` 36 - `terminal/setup_entre.py --help` 37 - `site/genlanding.py --help` 38 39 Em **Debian:** correr os `--help` acima e guardar a saída para operadores. Confirmar que `site/genlanding.py --help` lista **`--sync-public-only`**. 40 41 ## Aliases de email para membros (Linux) 42 43 Revisão estática (qualquer OS): 44 45 ```bash 46 python3 -m compileall -q tools scripts/admin/setup_email_aliases.py scripts/admin/smoke_test_email_aliases.py 47 python3 tools/bin/runv-email-alias --help 48 python3 tools/bin/runv-admin-email-alias --help 49 ``` 50 51 Smoke test integrado (VPS ou WSL; usa diretório temporário por defeito): 52 53 ```bash 54 cd REPO 55 sudo python3 scripts/admin/smoke_test_email_aliases.py --user MEMBRO_TESTE 56 ``` 57 58 Setup + instalação em produção (antes do smoke com paths reais): 59 60 ```bash 61 sudo python3 scripts/admin/setup_email_aliases.py --verbose 62 sudo python3 scripts/admin/setup_email_aliases.py --add-existing-users 63 cd tools && sudo python3 tools.py --verbose 64 ``` 65 66 Ver também [08-email.md](08-email.md) e [17-community-commands.md](17-community-commands.md). Registo de revisão: [review-email-aliases-signoff.md](review-email-aliases-signoff.md). 67 68 ## O que **não** existe no repo (facto) 69 70 - **Sem** workflows `.github/workflows` na raiz do projecto runv (verificado por ausência de `.github/` no clone típico). 71 - **Sem** suite de testes para `entre_core` ou `build_directory` além do que está em `email/tests/`. 72 73 Próximo: [15-glossary-and-reference.md](15-glossary-and-reference.md).