Validační server - automatická kontrola semestrálních prací

Vlastní akce

Zpět na webovou konfiguraci

Vlastní akce jsou předem definované komplexnější validace, které server poskytuje. Vybrat příslušnou akci může uživatel vybrat na stránce úpravy kroku v sekci Akce. K webové aplikaci lze přidávat i externí vlastní akce. Akce jsou rozděleny do tří kategorií: Práce se soubory, Práce s dokumenty, Práce s programy.

Práce se soubory

Rozbal ZIP

Jedná se o třídu, která slouží k rozbalení zip nebo jar souboru. Tato akce se používá často na začátku každé validace, kdy student odevzdává svoji práci (program, esej, ...) zabalenou v archívu.
Akce má dva parametry:
Parametr "ZIP archiv (JS)" je javascriptová proměnná obsahující zip soubor. Pokud parametr není vyplněn je zpracován odevzdávaný soubor.
Parametr "Cílový adresář (JS)" je povinný a jedná se o název javascriptové proměnné pro cílový adresář, kam bude soubor rozbalen. Zadaný název proměnné se může použít v následných akcích jako rodičovský adresář.

Najdi soubory

Akce umožňuje vyhledávat soubory ve složce, aplikovat na soubory filtr zadaný regulárním výrazem, hledat buď jen přímo v zadané složce, nebo i v podsložkách, spočítat velikost nalezených souborů.

Jako parametr "Rodičovský adresář (JS)" se musí vyplnit javascriptová proměnná obsahující adresář, ve kterém se má hledat. Adresář lze získat např. použitím vlastní akce Rozbal ZIP.
Do parametru "Filtr - regex" se vyplní regulární výraz, kterým se bude testovat název souboru. Parametr je nepovinný, při nevyplnění se najdou všechny soubory.
Pokud chce uživatel soubory hledat pouze v zadaném adresáři, vyplní do parametru "I v podadresářích? ano/ne" hodnotu "ne", pokud chce prohledat i vnořené adresáře, vyplní hodnotu "ano".

Poslední tři parametry slouží pro vrácení výsledku v podobě javascriptových proměnných. Není nutné vyplňovat všechny.
Do parametru "Nalezené soubory (JS)" se vyplní název proměnné, která bude obsahovat pole nalezených souborů (typu java.io.File), indexované od 0.
Do parametru "Počet souborů (JS)" se vyplní název proměnné, která bude obsahovat počet nalezených souborů.
Do parametru "Velikost souborů (JS)" se vyplní název proměnné, která bude obsahovat velikost nalezených souborů v bytech. Do velikosti se nezapočítává velikost obsahu nalezených adresářů.

Na následujícím obrázku je ukázka nastavení této akce.

Práce s dokumenty

Spočti slova/strany

Akce slouží ke zjištění počtu slov v dokumentech doc a pdf.
Parametr "Počet slov" je javascriptová proměnná sloužící k uložení počtu slov v dokumentu.
Parametr "Počet stran" je javascriptová proměnná sloužící k uložení počtu stran v dokumentu.
Parametr "Soubor" je javascriptová proměnná obsahující dokument. Pokud je pole prázdné, vezme se odevzdaný soubor.

Práce s programy

Kontrola Javadoc

Jedná se o akci pro kontrolu Javadoc dokumentace odevzdávaného programu. Dokumentace je kontrolována nejprve z hlediska struktury, tj. je kontrolováno zda je v programu soubor doc a zda obsahuje všechny povinné soubory (automaticky vygenerované). Poté je kontrolováno kolik procent kódu (tříd a metod) obsahuje dokumentaci.
Parametr "Rodičovský adresář" je javascriptová proměnná obsahující adresář, ve kterém se má hledat. Adresář lze získat např. použitím vlastní akce Rozbal ZIP.
Parametr "Výsledek" je javascriptová proměnná sloužící k uložení výsledku kontroly. Hodnota true znamená, že kontrola proběhlav pořádku, false že obsahuje chybu. Lze využít pro kontrolu správnosti vygenerované dokumentace.
Parametr "Zpráva o výsledku" je javascriptová proměnná, která bude v případě chyby obsahovat detailní popis. Lze použít jako výstupdo výsledku validace.
Parametr "Procento komentářů" je celé číslo, které určuje kolik procent kódu má být komentováno. Může nabývat hodnot od 0 do 100. Znak % se nepíše.

Kontrola programu

Akce slouží ke kontrole programů, tj. jestli lze program přeložit, jestli kód obsahuje pouze povolené konstrukce, jestli se výstup programu shoduje se vzorem. Testovací data (vstupy, vzory, kontrolní programy, limity) nahraje uživatel po kliknutí na odkaz "Nahrát testovací data". Jak mají testovací data vypadat je popsáno v kompletním návodu.

Parametr "Soubor" je javascriptová proměnná obsahující soubor s kódem programu. Pokud je pole prázdné, vezme se odevzdaný soubor.
Parametr "Název programu" je název programu, podle kterého se má validovat. Při nevyplnění se vezme název souboru bez přípony.
Parametr "Defaultní časový limit" je časový limit v ms pro běh programu. Parametr je nepovinný.
Parametr "Název souboru s výsledkem" je název XML souboru, který bude obsahovat podrobný popis výsledku testování.
Parametr "Přijmout program, který nedává správné výsledky? ano/ne" ovlivňuje, jestli se při nesprávném výstupu programu vloží do výstupu validace varování (volba "ano"), nebo chyba (volba "ne").
Parametr "Vypisovat stderr? ano/ne" vyplní uživatel na "ne", pokud nechce, aby se ve výsledku validace zobrazoval standardní chybový výstup programu. Jinak vyplňovat nemusí nebo vyplní "ano".

Zpět na webovou konfiguraci

autor: Veronika Dudová, duben 2010 (veronnie at students.zcu.cz)