Descrição do problema
Após a atualização do workflow para Docker Compose v2, o job do pytest passou a executar corretamente, mas falha durante a coleta dos testes, antes de executar qualquer caso.
Foram identificados cinco erros:
- Conflito entre
article/tests.py e o pacote article/tests/.
- Conflito entre
organization/tests.py e o pacote organization/tests/.
issue/tests.py importa a função removida get_or_create_issue.
pid_provider/test_controller.py importa o módulo removido pid_provider.controller.
pid_provider/test_models.py importa o pacote antigo xmlsps, substituído no projeto pelo módulo correspondente do packtools.
Esses arquivos não foram alterados pela PR #1460. As falhas já existiam em main, mas estavam ocultas porque o workflow parava anteriormente com docker-compose: command not found.
Execução afetada: https://github.com/scieloorg/core/actions/runs/30858896966/job/91836262414?pr=1460
Passos para reproduzir o problema
-
Obtenha a versão atual da branch main.
-
Construa os serviços:
docker compose -f local.yml build
-
Execute as migrações:
docker compose -f local.yml run --rm django python manage.py migrate
-
Execute a suíte completa:
docker compose -f local.yml run --rm django pytest
-
Observe que o pytest interrompe a execução durante a coleta, apresentando cinco erros de importação ou conflito de módulos.
Comportamento esperado
O pytest deve coletar todos os testes sem conflitos de nomes ou erros de importação e, em seguida, executar a suíte completa.
Os testes reorganizados em pacotes devem substituir corretamente os antigos arquivos tests.py, e todos os testes remanescentes devem utilizar os módulos e dependências atuais do projeto.
Screenshots ou vídeos
N/a
Anexos
N/A
Ambiente utilizado
- GitHub Actions
- Ubuntu Linux
- Python 3.11.13
- Django 5.2.7
- pytest 7.4.3
- pytest-django 4.8.0
- Docker com Docker Compose v2
- Commit analisado:
5b6b377ff5fbfba765b7509dae47abb142456be6
Descrição do problema
Após a atualização do workflow para Docker Compose v2, o job do
pytestpassou a executar corretamente, mas falha durante a coleta dos testes, antes de executar qualquer caso.Foram identificados cinco erros:
article/tests.pye o pacotearticle/tests/.organization/tests.pye o pacoteorganization/tests/.issue/tests.pyimporta a função removidaget_or_create_issue.pid_provider/test_controller.pyimporta o módulo removidopid_provider.controller.pid_provider/test_models.pyimporta o pacote antigoxmlsps, substituído no projeto pelo módulo correspondente dopacktools.Esses arquivos não foram alterados pela PR #1460. As falhas já existiam em
main, mas estavam ocultas porque o workflow parava anteriormente comdocker-compose: command not found.Execução afetada: https://github.com/scieloorg/core/actions/runs/30858896966/job/91836262414?pr=1460
Passos para reproduzir o problema
Obtenha a versão atual da branch
main.Construa os serviços:
docker compose -f local.yml buildExecute as migrações:
docker compose -f local.yml run --rm django python manage.py migrateExecute a suíte completa:
docker compose -f local.yml run --rm django pytestObserve que o
pytestinterrompe a execução durante a coleta, apresentando cinco erros de importação ou conflito de módulos.Comportamento esperado
O
pytestdeve coletar todos os testes sem conflitos de nomes ou erros de importação e, em seguida, executar a suíte completa.Os testes reorganizados em pacotes devem substituir corretamente os antigos arquivos
tests.py, e todos os testes remanescentes devem utilizar os módulos e dependências atuais do projeto.Screenshots ou vídeos
N/a
Anexos
N/A
Ambiente utilizado
5b6b377ff5fbfba765b7509dae47abb142456be6