Pro usnadnění testování úkolů do PB071 a PB161 jsem si napsal jednoduchý skript. Vlastně jenom vezme spustitelný soubor, postupně mu předhazuje definované vstupy a kontroluje, co je na standardním výstupu, chybovém výstupu a s jakým kódem skončil. Volitelně se to celé dá prohánět valgrindem.
Formát testů
Všechny testy se ukládají do speciálního adresáře. Já používám název tests,
ale prakticky na tom nezáleží. Každý tests se skládá alespoň ze dvou souborů s
názvy třeba 01_valid_input.*. Přípona souboru specifikuje, co soubor testuje.
*.in- toto přijde na standardní vstup
*.args- toto se předá jako argumenty (a zatím pořádně nefunguje, pokud některý argument má obsahovat mezeru.)
*.out- očekávaný výstup na stdout
*.err- očekávaný chybový výstup
*.ret- návratový kód programu
Pokud některý soubor neexistuje, tak se příslušná část netestuje.
Použití
Stáhněte si archiv s testovacím skriptem a pomocným
souborem, který umožňuje vypisovat výsledky barevně. Skript stest je dobré
mít v cestě, .term_colors může být buď přímo v domovském adresáři nebo na
stejném místě jako stest.
K testování stačí spustit příkaz stest ./NAZEV_BINARKY, případně přidat ještě
cestu k adresáři s testy. Další možnosti shrnuje nápověda stest --help.