Cópia estática
Copiado de docs/governance/standards-and-testing.md em https://github.com/poppy-team/aipo-lang (MIT). Fixado na revisão ce47c4e070404fc41722ccd8e2b7b808b99062a8, blob 7fc35fc8a03831eccaba65c55a0ddfaa15a1952e. O repositório de origem permanece canônico; esta cópia é atualizada por um pull request de sincronização, não em tempo real.
A integridade do Aipo é sustentada por uma pirâmide abrangente de testes automatizados e regras estritas de compilação em Rust 2024.
Todo commit e pull request deve passar com sucesso por 100% dos seguintes portões de verificação:
cargo fmt --check: Verificação rigorosa de formatação do código-fonte.cargo check --workspace --all-targets: Análise de compilação sem erros.cargo clippy --workspace --all-targets -- -D warnings: Zero advertências permitidas em linters estáticos.cargo test --workspace: Execução integral de mais de 500 testes unitários e de integração.cargo doc --workspace --no-deps: Verificação de documentação de APIs sem links quebrados.graph BT
Fuzz["Fuzzing Contínuo (libFuzzer)"] --> Diff["Testes Diferenciais (Rust VM x Node.js)"]
Diff --> Conf["Suíte de Conformance (40+ programas & diagnósticos)"]
Conf --> Integ["Testes de Integração & Host ABI"]
Integ --> Unit["Testes Unitários & Proptest (Lexer, Parser, Sema, IR, VM)"]Verificação de funções puras, manipulação de limites em Bytes, cálculo de offsets em Source e propriedades matemáticas com proptest.
Cenários ponta a ponta avaliando o comportamento da VM com simulação Poppy, gerenciamento de memória em handles e negação de capacidades.
Execução de programas canônicos com checagem estrita de saída de texto e código de término.
Execução paralela de cada programa no runtime em Rust e no Node.js, garantindo compatibilidade semântica absoluta.
Injeção massiva de entradas aleatórias e malformadas no Lexer e no Parser para comprovar que o compilador nunca sofre pânicos ou estouros de buffer.