biogui / simulador-runcodes

[PT-BR] Um script em python que simula o processo de correção do run.condes para programas em C ou compilados/executados via Makefile.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simulador runcodes

Py3.9 license

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) :) .

Recursos (exemplos no fim)

  • 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.

Instalando

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

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

Uso

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.

O <caminhoDoPrograma>

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.

O <caminhoDosTestes>

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.

O <caminhoDosArquivos> (opcional)

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.

Notas

  • 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".

Exemplos

  • Contagem de casos corretos               

  • Verificação de diferenças detalhada                         

  • Checagem de memória                         

About

[PT-BR] Um script em python que simula o processo de correção do run.condes para programas em C ou compilados/executados via Makefile.

License:MIT License


Languages

Language:Python 99.5%Language:Shell 0.5%