minishell

Unit Testing Norminette

Checkilist para Pull Requests

  • Verifique a Norma e (inclua cabeçalho)
  • Inclua o teste unitário da sua funçao na pasta tests/ e rode make tests localmente.
  • Rode make fclean na pasta principal (para que os binários não sejam incluídos!)

Github Actions irá verificar o Pull Request antes do Merge. Em caso de falha, não submeta seu código antes de revisá-lo. Os badges de Norminette e Testes Unitários serão atualizados de acordo com o resultado dos testes.

Diretrizes para Testes Unitários

O teste unitário neste projeto será executado como tests no Makefile.

Cada teste unitário é um arquivo .c autônomo e será compilado usando objetos readline, lift, ft_printf e minishell, assim como o próprio minishell.

Registros de execução podem ser encontrados na pasta logs/

Verifique as seguintes regras ao codificar seus testes:

    1. O arquivo de teste deve ser nomeado como test_branch.c, ou seja, test_parsing.c;
    1. Toda a codificação de um teste deve ser executada apenas em test_file.c independente;
    1. Este cabeçalho específico deve ser usado: #include "unit_test.h";
    1. main() retornará (0) para sucesso ou qualquer int positivo para falha;
    1. Tudo o que for impresso será coletado em um logfile (tanto FD 1 quanto 2);
    1. Loops infinitos que requerem a intervenção do usuário para sair devem ser evitados, pois isso interromperá o Makefile e violará o objetivo do teste automatizado.
    1. Os testes devem imprimir a saída ESPERADA versus a saída REAL e, em caso de incompatibilidade, um erro deve ser retornado ao terminal.

Após a entrega do projeto, a pasta tests/ poderá ser deletada e nenhuma outra ação será necessária para adaptação à produção.

instruções para manutenção do repositório

Screen Shot 2023-04-13 at 6 41 49 PM

  • Todo mundo deverá baixar a Develop e fazer uma nova branch para trabalhar
  • Quando tiver sua parte pronta ou quiser apresentar, fazer um pull request para Develop
  • Quando tivermos concluído uma etapa do projeto, fazer merge na develop na main, com pull request