Olá, eu sou o Bio!
E esse é um script em python para usuários do run.codes testarem seus programas localmente.
Obrigado por testar, feedbacks são bem vindos no meu telegram (clica aqui) :) .
-
Contagem de casos corretos, mostrando o resultado em relação ao total de casos.
-
Verificação de diferenças detalhada, feita via comparação byte a byte da saída esperada com a saída gerada.
-
Checagem de memória, feita via comando
valgrind
, detalhando "bugs" em relação ao uso geral de memória.
Certifique-se de:
- Ter uma versão recente (3.x.x) de python instalada.
- Ter as seguintes ferramentas disponíveis em seu terminal Linux:
- gcc - use
sudo apt install gcc
- valgrind - use
sudo apt install valgrind
- unzip - use
sudo apt install unzip
- gcc - use
Depois disso, basta clonar o repositório e rodar o setup.sh:
git clone https://github.com/biogui/simulador-runcodes.git ~/.rcSim
cd ~/.rcSim
sh setup.sh
Agora, em qualquer diretório, basta usar o comando rcsim
:
rcsim <caminhoDoPrograma> <caminhoDosTestes> <caminhoDosArquivos(opcional)>
Obs.: rcsim
pode ser trocado por python3 rcSim.py
, mas é necessário que o script do simulador esteja na pasta atual.
Esse simulador suporta dois tipos de programas: aqueles com um único arquivo .c e aqueles compilados/executados via arquivo Makefile. Em <caminhoDoPrograma>
deve ser passado o caminho (absoluto ou relativo) desse arquivo .c ou Makefile.
Esse simulador suporta dois modos de adição de testes: via uma pasta contendo as entradas (arquivos do tipo .in) e as respectivas saídas esperadas (arquivos do tipo .out) ou um arquivo .zip arquivo de mesmo conteúdo. Em <caminhoDosTestes>
deve ser passado o caminho (absoluto ou relativo) dessa pasta ou desse arquivo .zip.
Esse simulador suporta dois modos de adição de arquivos para execução, caso necessário: via uma pasta contendo os arquivos necessários ou um arquivo .zip arquivo de mesmo conteúdo. Em <caminhoDosTestes>
deve ser passado o caminho (absoluto ou relativo) dessa pasta ou desse arquivo .zip.
Obs.: <caminhoDosArquivos>
pode ser igual ao <caminhoDosArquivos>
, o simulador organiza os testes e arquivos em novas pastas ("rcSimTestes", "rcSimArquivos" e "rcSimSaidas") criadas durante execução do script. Essas pastas não são deletadas automaticamente ao fim da execução, para, caso ocorrá algum erro, o usuário possa verificar as saídas. Ao fim do uso basta rodar rm -rf rcSim*
para limpar os dados gerados pelo simulador.
- Priorize rodar o simulador na pasta onde está contido seu programa ou arquivo Makefile.
- Evite matar o processo durante sua execução. Interrupções inesperadas podem gerar problemas futuros, seja paciente.
- Atente-se à organização dos casos testes na pasta ou arquivo .zip usado. Certifique-se de que o número de entradas é equivalente ao número de saídas esperadas e de que exista a respectiva saída "x.out" para cada entrada "x.in".