Skip to content

Testar raylib + rascunho da documentação #15

Description

@samuka7abr

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:

  1. Organização das threads.
  2. Recursos compartilhados.
  3. Seções críticas.
  4. Mutexes e condição usados.
  5. Estratégia de snapshot da interface.
  6. Separação entre tick lógico e FPS.
  7. Fluxo visual coleta → esteira → expedição.
  8. Condição de encerramento.
  9. Dependências raylib no Ubuntu 24.04.
  10. Comandos de build, teste e execução.
  11. Seleção dos três cenários.
  12. Decisão de substituir ncurses para obtenção do bônus.

Critérios de aceite

  • Três cenários concluídos na raylib.
  • Fechamento antecipado não deixa threads ou janela pendentes.
  • Snapshot e testes de domínio passam headless.
  • Nenhum warning dos analisadores disponíveis.
  • Rascunho técnico pronto para incorporação na documentação final.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions