Voltar
Como testar o programa antes de submeter o arquivo fonte no SuSy.
Na página de testes do SuSy, estão disponíveis os testes abertos que o SuSy executa quando um código-fonte é enviado.
Com os testes abertos, é possível fazer os testes na máquina local antes de enviar o programa. Essas instruções são para serem executadas em um terminal em linux.
- Primeiro, baixe os arquivos de entrada e os arquivos de soluções que deseja testar. São os arquivos que estão no formato arq<n>.in e arq<n>.res na página de testes do SuSy. Coloque esses arquivos na mesma pasta que o seu programa.
- Execute o seu programa redirecionando a entrada e a saída padrão utilizando os caracteres '<'(menor que) e '>' (maior que). Quando não é feito o redirecionamento, a entrada padrão é o teclado e a saída padrão é o terminal do linux. Quando é feito o redirecionamento da entrada padrão ou saída padrão, a entrada passa a ser o dispositivo ou arquivo especificado. Neste caso, a entrada padrão será redirecionada com o arq<n>.in, ou seja, ao invés de ler os dados do teclado, os dados de entrada será lido dos arquivos. A saída padrão deve ser redirecionada para um outro nome quanlquer, por exemplo, arq<n>.out . Veja um exemplo:
./lab < arq1.in > arq1.out
Tudo que seria lido do teclado, foi lido do arquivo arq1.in e, tudo que seria impresso na tela do terminal, foi impresso no arquivo arq<n>.out.
Agora é necessário comparar os resultados do seu programa com o resultado que o SuSy espera. Isso é feito comparando o arquivo de saída do seu programa (arq1.out), com o arquivo de resposta do SuSy, o arq<n>.res. Essa comparação pode ser feita com um programa chamado diff. Execute:
diff arq1.out arq2.res
Se não aparecer nada, então os dois arquivos estão iguais, ou seja, o teste está correto. Se aparecer alguma coisa, irá aparecer as diferenças entre os dois arquivos. Deve aparecer algo no formato:
2c2
< 1210
---
> 2210
A linha que inicia com o '<'(menor que), é do arquivo arq<n>.out, ou seja a saída do seu programa. E o que inicia com '>'(maior que), é do arquivo arq<n>.res, ou seja, a saída que era esperada. Existem também outras formas de comparação com o diff, uma delas é colocar os dois arquivos lado a lado, utilizando o seguinte comando:
diff -y arq1.out arq1.res
Mais informações sobre o diff, consulte o manual do diff, digite no terminal(digite 'q' para sair do manual):
man diff
Caso queira visualizar os arquivos de entrada/saída/resposta e comparar manualmente, utilize qualquer editor de texto, por exemplo, o kate.