Due: 04/07 12h
Depends on: #13 e #14
Blocks: #16
Plano de testes raylib e rascunho da documentação
Esta issue valida a implementação do PRD principal da #13 e prepara o conteúdo técnico exigido pelo trabalho.
Testes funcionais
- Executar cenário 0 até 20/20 entregas.
- Executar cenário 1 até 50/50 entregas.
- Executar cenário 2 até 100/100 entregas.
- Repetir as execuções para procurar travamentos intermitentes.
- Confirmar que pacotes aguardando, em transporte, na esteira e entregues permanecem conservados.
- Confirmar visualmente o acúmulo de múltiplos blocos na esteira.
- Confirmar coletores inserindo somente em
IN.
- Confirmar entregadores retirando somente de
OUT.
- Fechar a janela durante a execução e verificar encerramento coordenado.
- Redimensionar a janela durante a execução.
- Testar dimensões inferiores ao mínimo e verificar o aviso.
- Validar seleção dos três cenários e argumento CLI.
Testes técnicos
- Build sem warnings.
- Todos os testes headless existentes.
- Testes do snapshot de apresentação.
- Headers isolados.
-fanalyzer.
- UBSan em todos os cenários.
- ThreadSanitizer ou Helgrind quando disponível.
- Verificação de que toda thread criada recebe
join.
- Verificação de destruição de mutexes, condições e janela.
- Verificação de que somente a thread principal chama raylib.
Rascunho da documentação
O rascunho deve cobrir:
- Organização das threads.
- Recursos compartilhados.
- Seções críticas.
- Mutexes e condição usados.
- Estratégia de snapshot da interface.
- Separação entre tick lógico e FPS.
- Fluxo visual coleta → esteira → expedição.
- Condição de encerramento.
- Dependências raylib no Ubuntu 24.04.
- Comandos de build, teste e execução.
- Seleção dos três cenários.
- Decisão de substituir ncurses para obtenção do bônus.
Critérios de aceite
Due: 04/07 12h
Depends on: #13 e #14
Blocks: #16
Plano de testes raylib e rascunho da documentação
Esta issue valida a implementação do PRD principal da #13 e prepara o conteúdo técnico exigido pelo trabalho.
Testes funcionais
IN.OUT.Testes técnicos
-fanalyzer.join.Rascunho da documentação
O rascunho deve cobrir:
Critérios de aceite