Efekt Zoom dokumentace testovacího prost°edí - semestrální práce BI-SKJ Martin Beránek - beranm14 26. dubna 2014
Obsah 1
Úvod
3
2
Popis testovacího prost°edí
3
3
Zdrojový kód testovacího skriptu
3
4
Ukázka test·
4.1 Test £íslo: 1 . . . . . . . . 4.1.1 Popis . . . . . . . 4.1.2 Vstup . . . . . . . 4.1.3 O£ekávaný výstup 4.2 Test £íslo: 2 . . . . . . . . 4.2.1 Popis . . . . . . . 4.2.2 Vstup . . . . . . . 4.2.3 O£ekávaný výstup 4.3 Test £íslo: 3 . . . . . . . . 4.3.1 Popis . . . . . . . 4.3.2 Vstup . . . . . . . 4.3.3 O£ekávaný výstup 4.4 Test £íslo: 4 . . . . . . . . 4.4.1 Popis . . . . . . . 4.4.2 Vstup . . . . . . . 4.4.3 O£ekávaný výstup 4.5 Test £íslo: 5 . . . . . . . . 4.5.1 Popis . . . . . . . 4.5.2 Vstup . . . . . . . 4.5.3 O£ekávaný výstup 4.6 Test £íslo: 6 . . . . . . . . 4.6.1 Popis . . . . . . . 4.6.2 Vstup . . . . . . . 4.6.3 O£ekávaný výstup 4.7 Test £íslo: 7 . . . . . . . . 4.7.1 Popis . . . . . . . 4.7.2 Vstup . . . . . . . 4.7.3 O£ekávaný výstup 4.8 Test £íslo: 8 . . . . . . . . 4.8.1 Popis . . . . . . . 4.8.2 Vstup . . . . . . . 4.8.3 O£ekávaný výstup 4.9 Test £íslo: 9 . . . . . . . . 4.9.1 Popis . . . . . . . 4.9.2 Vstup . . . . . . . 4.9.3 O£ekávaný výstup 4.10 Test £íslo: 10 . . . . . . . 4.10.1 Popis . . . . . . . 4.10.2 Vstup . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8
4.10.3 O£ekávaný výstup 4.11 Test £íslo: 11 . . . . . . . 4.11.1 Popis . . . . . . . 4.11.2 Vstup . . . . . . . 4.11.3 O£ekávaný výstup 4.12 Test £íslo: 12 . . . . . . . 4.12.1 Popis . . . . . . . 4.12.2 Vstup . . . . . . . 4.12.3 O£ekávaný výstup 4.13 Test £íslo: 13 . . . . . . . 4.13.1 Popis . . . . . . . 4.13.2 Vstup . . . . . . . 4.13.3 O£ekávaný výstup 4.14 Test £íslo: 14 . . . . . . . 4.14.1 Popis . . . . . . . 4.14.2 Vstup . . . . . . . 4.14.3 O£ekávaný výstup 4.15 Test £íslo: 15 . . . . . . . 4.15.1 Popis . . . . . . . 4.15.2 Vstup . . . . . . . 4.15.3 O£ekávaný výstup 4.16 Test £íslo: 16 . . . . . . . 4.16.1 Popis . . . . . . . 4.16.2 Vstup . . . . . . . 4.16.3 O£ekávaný výstup 4.17 Test £íslo: 17 . . . . . . . 4.17.1 Popis . . . . . . . 4.17.2 Vstup . . . . . . . 4.17.3 O£ekávaný výstup 4.18 Test £íslo: 18 . . . . . . . 4.18.1 Popis . . . . . . . 4.18.2 Vstup . . . . . . . 4.18.3 O£ekávaný výstup 4.19 Test £íslo: 19 . . . . . . . 4.19.1 Popis . . . . . . . 4.19.2 Vstup . . . . . . . 4.19.3 O£ekávaný výstup 4.20 Test £íslo: 20 . . . . . . . 4.20.1 Popis . . . . . . . 4.20.2 Vstup . . . . . . . 4.20.3 O£ekávaný výstup 4.21 Test £íslo: 21 . . . . . . . 4.21.1 Popis . . . . . . . 4.21.2 Vstup . . . . . . . 4.21.3 O£ekávaný výstup 4.22 as test· . . . . . . . . . 5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Záv¥r
8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12
Listings 1
Funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
3
1
Úvod
Tato dokumentace pojednává o testovacím skriptu efektu zoom. Její £ásti jsou generovány p°ímo ze skriptu. Slouºí jako p°íru£ka pro rychlou orientaci v testovacím prost°edí.
2
Popis testovacího prost°edí
Skript umí projít testy v standardizovaném vstupu in.txt, out.txt a popis.txt. • in.txt obsahuje vstupy pro skript • out.txt obsahuje výstupy pro skript • popis.txt obsahuje popis testu
Pokud dojde k chyb¥ vzhledem k o£ekávanému výstupu, vyhlásí chybu a spustí di na výstupy. Jeho dal²í vlastností je schopnost generovat výstupy pro latex dokumenty vhodné k uºití do dokumentace. Je nutné, aby autor skriptu dodrºoval stejný zp·soby psaní skript·. P°idání za°áºek jako je t°eba "VYKONNA CAST"zp·sobí, ºe skript ví, kde má hledat funkce (nad VYKONNA CAST) a £ást, která vykonává t¥lo skriptu (pod VYKONNA CAST).
3
Zdrojový kód testovacího skriptu Listing 1: Funkce
# !/ bin / bash tsdata =" test_data "; tests =( ` ls ${ tsdata } `) ; run =" ../ zoom . sh "; latout =" items . tex "; i =1; function tester () { echo " Testuje " $1 ; echo -e "\e [1;44 m "; echo " Test £í slo # $i " ; cat " $1 / popis . txt "; echo -e "\e [0 m"; toTest =` cat $1 "/ in . txt " | tr -d '\n ' `; echo " Spoust ím:"; echo "$ { toTest }"; eval $run $ { toTest } > test . txt ; diff test . txt " $1 / out . txt " && { echo -e "\e [1;42 m V po °á dku \e [0 m"; } || { echo -e "\e [1;41 m Doslo k chyb ¥ vzhledem k o £ ek á van é mu vý stupu \ e [0 m" ; cat $1 " / out . txt "; }; if [ -d " ./ zoom " ]; then if [ -d " $1 / zoom /" ]; then rm " $1 / zoom /"* 2 >/ dev / null ; rmdir " $1 / zoom /" 2 >/ dev / null ; fi mv ./ zoom " $1 /"; fi (( i ++) ) ; } function makeLatexDoc () { tests =( ` ls "$ {1} " `); for it in ${ tests [@ ]}; do if [ -d $1 "/" $it ] && [ -f $1 "/" $it "/ in . txt " ] && [ -f $1 "/" $it "/ out . txt " ]; then echo "" >> " $latout "; echo "\ subsection { Test £í slo : $i }" >> " $latout " ; echo "" >> " $latout "; echo "\ subsubsection { Popis }" >> " $latout "; echo "" >> " $latout "; cat $1 "/" $it "/ popis . txt " | sed -E 's@ ( http | https ) ://[ - A - Za -z0 -9\+& @ # /%?=~ _ |!: ,.;]*[ - A -Za -z0 -9\+& @ #/%=~ _ |] @ \\ url {&} @ ' >> " $latout "; echo "" >> " $latout "; echo "\ subsubsection { Vstup }" >> " $latout "; echo "" >> " $latout "; echo "\ small \ begin { verbatim }" >> " $latout ";
3
else fi
cat $1 "/" $it "/ in . txt " | sed -e 's/ ¥ \[1;43 m // ' -e 's/¥ \[1;44 m // ' -e 's / ¥ \[1;41 m // ' -e 's/ ¥ \[0 m // ' -e 's /%/\\%/ g ' | awk '{ if ( length ( $0 ) > 70 ){ printf ( "%s ...\ n" , substr ($0 ,0 ,70) ); } else { print $0 ;} } ' >> " $latout "; echo "\ end { verbatim }" >> " $latout "; echo "\ normalsize " >> " $latout "; echo "\ subsubsection {O£ ek á van ý vý stup }" >> " $latout "; echo "" >> " $latout "; echo "\ small \ begin { verbatim }" >> " $latout "; cat $1 "/" $it "/ out . txt " | sed -e 's /¥ \[1;43 m // ' -e 's/¥ \[1;44 m // ' -e 's /¥ \[1;41 m // ' -e 's /¥ \[0 m // ' | awk '{ if ( length ( $0 ) > 70 ){ printf (" %s ...\ n" , substr ($0 ,0 ,70) ); } else { print $0 ;} }' >> " $latout "; echo "\ end { verbatim }" >> " $latout "; echo "\ normalsize " >> " $latout "; (( i ++) ) ; makeLatexDoc $1 "/" $it ;
done } function lister () { tests =( ` ls "$ {1} " `); for it in ${ tests [@ ]}; do if [ -d $1 "/" $it ] && [ -f $1 "/" $it "/ in . txt " ] && [ -f $1 "/" $it "/ out . txt " ]; then tester $1 "/" $it ; else lister $1 "/" $it ; fi done } function documentFunctions () { # echo '\ begin { itemize }' > " funks . tex "; echo '' > " funks . tex " ; cat $run | grep " ## " | sed -e 's /# #// ' -e 's /\\ fn /\\ end { itemize }\ n \\ noindent \\ rule [0.5 ex ]{\\ linewidth }{1 pt }\ n \\ begin { itemize }\ n \\ item BoLd / ' -e 's /\\ param \[ in \]/\\ item /g ' -e 's /\\ brief / \\ item \\ textbf \{ Podrobn ¥ :\}/ g ' -e 's /\\ return /\\ item \\ textbf \{ Vrac í :\} / ' -e 's /\ _ /\\ _ /g ' -e 's /\ $ /\\ $/g ' | sed -e '1d ' >> " funks . tex "; echo '\ end { itemize }' >> " funks . tex "; cat " funks . tex " | awk '/ BoLd /{ sub (" BoLd " ," \\ textbf \{ " ,$0 ); $0 = $0 " }"; } { print $0 }' > " funkss . tex "; rm " funks . tex "; mv " funkss . tex " " funks . tex " ; } function printWorkpart () { cat $ { run } | sed -n -e '/ VYKONNA CAST / ,$p ' > main . sh ; } function printFunks () { cat $ { run } | sed -n -e '/ function / ,/ VYKONNA CAST /p ' | head -n -1 | grep -v " ## " > funk . sh ; } if [[ " $1 " == " -l" ]]; then # echo "\ documentclass [ a4paper ,10 pt ]{ article } #\ usepackage [ utf8 ]{ inputenc } #\ usepackage [ czech ]{ babel } #\ usepackage { makeidx } #\ usepackage { url } #\ usepackage { tikz } #\ usepackage { float } #\ usepackage { pdfpages } #\ usepackage { amsfonts } #\ usepackage { mdwlist } #\ usepackage { verbatim } #\ begin { document } #\ section { Testy } #" > " $latout "; makeLatexDoc " $tsdata "; if [ -e avg_time . txt ]; then echo "\ subsection { as test ·} " >> " $latout " ; echo "" >> " $latout "; echo " Uk á zka £ asu , kter ý vypracov ání test · zabere " >> " $latout "; echo "" >> " $latout "; echo "\ small \ begin { verbatim }" >> " $latout "; cat avg_time . txt >> " $latout " ; echo "\ end { verbatim }" >> " $latout ";
4
elif [[ elif [[ elif [[ elif [[ fi
4 4.1 4.1.1
fi # echo "\ end { document }" >> " $latout "; " $1 " == " -t" ]]; then time lister " $tsdata "; " $1 " == " -f" ]]; then documentFunctions ; " $1 " == " -w" ]]; then printWorkpart ; " $1 " == " -c" ]]; then printFunks ;
Ukázka test· Test £íslo: 1 Popis
Test je ur£en k generování manuálové stránky pomocí p°epína£e -m 4.1.2
Vstup
-m 2>&1; if [ -e ./man_page.txt ];then mv ./man_page.txt $1;fi 4.1.3
O£ekávaný výstup
Manuálové stránky jsou vyti²t¥ny v man_page.txt Pouºijte man ./man_page.txt 4.2 4.2.1
Test £íslo: 2 Popis
Test skriptu p°edá ²patné £asové razítko 4.2.2
Vstup
-t "[\%H:\%M:\%S]" -n "Razítko" $1/data.txt 2>&1 4.2.3
O£ekávaný výstup
Spou²tím nad daty efekt zoom Data na£teny Vytvo°eny pr·m¥ry dat 105.333 Hledám intervaly dat na pr·m¥ry Ve vstupním datu '09:02:51' nastala chyba, zkontrolujte vstupní soubor Skript p°eru²en 4.3 4.3.1
Test £íslo: 3 Popis
Test vyhlásí chybu v kongura£ním souboru jako notikaci a pokra£uje dál 4.3.2
Vstup
-f $1/config.txt -n "Konfigura£ní soubor" $1/data.txt 2>&1 4.3.3
O£ekávaný výstup
N¥co je ²patn¥ v konfigura£ním souboru na °ádce:16 u direktivy Speed p... Spou²tím nad daty efekt zoom Data na£teny Vytvo°eny pr·m¥ry dat 104.571 Hledám intervaly dat na pr·m¥ry horní °ádek: 2 maximum: 3 spodní °ádek: 6
5
Vytvá°ím 2:6 Nastavuji rychlost na 1 Nastavuji FPS na 1.13 Výsledný £as animace bude 30.00 Generuji výslednou animaci Animace bude umíst¥na v zoom se jménem Konfigura£ní soubor 4.4 4.4.1
Test £íslo: 4 Popis
Test nastaví podle kongura£ního souboru jméno animace "První animace"a podle °ádky "Druhá animace" 4.4.2
Vstup
-f $1/config.txt -n "Druhá animace" $1/data.txt 2>&1 4.4.3
O£ekávaný výstup
Spou²tím nad daty efekt zoom Data na£teny Vytvo°eny pr·m¥ry dat 104.571 Hledám intervaly dat na pr·m¥ry horní °ádek: 2 maximum: 3 spodní °ádek: 6 Vytvá°ím 2:6 Nastavuji rychlost na 1 Nastavuji FPS na 1.13 Výsledný £as animace bude 30.00 Generuji výslednou animaci Animace bude umíst¥na v zoom se jménem Druhá animace 4.5 4.5.1
Test £íslo: 5 Popis
Test je ur£en k hledání bych p°i malých datech - dv¥ °ádky 4.5.2
Vstup
-t \%H:\%M:\%S -n "Dv¥ °ádky" $1/data.txt 2>&1 4.5.3
O£ekávaný výstup
Spou²tím nad daty efekt zoom Data na£teny Vytvo°eny pr·m¥ry dat 107.5 Hledám intervaly dat na pr·m¥ry horní °ádek: 1 maximum: 2 spodní °ádek: 1 Vytvá°ím 1:1 Nastavuji FPS na 25 Nastavuji rychlost na 1 Výsledný £as animace bude 1.28 Generuji výslednou animaci Animace bude umíst¥na v zoom se jménem Dv¥ °ádky 4.6 4.6.1
Test £íslo: 6 Popis
Test je ur£en k hledání bych p°i malých datech - jedna °ádka 4.6.2
Vstup
-t \%H:\%M:\%S -n "Jedna °ádky" $1/data.txt 2>&1
6
4.6.3
O£ekávaný výstup
Spou²tím nad daty efekt zoom Data na£teny Vytvo°eny pr·m¥ry dat 104 Hledám intervaly dat na pr·m¥ry ádná data pro zoom nebyla vypo£tena, zm¥¬te nastavení efektu Skript p°eru²en 4.7 4.7.1
Test £íslo: 7 Popis
Test je ur£en k hledání bych p°i malých datech - t°i °ádky 4.7.2
Vstup
-t \%H:\%M:\%S -n "T°i °ádky" $1/data.txt 2>&1 4.7.3
O£ekávaný výstup
Spou²tím nad daty efekt zoom Data na£teny Vytvo°eny pr·m¥ry dat 105.333 Hledám intervaly dat na pr·m¥ry horní °ádek: 1 maximum: 2 spodní °ádek: 2 Vytvá°ím 1:2 Nastavuji FPS na 25 Nastavuji rychlost na 1 Výsledný £as animace bude 1.28 Generuji výslednou animaci Animace bude umíst¥na v zoom se jménem T°i °ádky 4.8 4.8.1
Test £íslo: 8 Popis
Test se pokusí spustit efekt nad neexistujícím souborem dat 4.8.2
Vstup
-t "[\%H:\%M:\%S \%d.\%m.\%Y]" -e items=1:wait=2 -n "Animation Dominat... "data co neexistují.txt" 2>&1 4.8.3
O£ekávaný výstup
Zadaný soubor dat Skript p°eru²en 4.9 4.9.1
data co neexistují.txt je nesprávný
Test £íslo: 9 Popis
Test se pokusí stáhnout data z https://enikibeniki.be/data.hell, bohuºel selºe, protoºe URL neexistuje 4.9.2
Vstup
-t "[\%H:\%M:\%S \%d.\%m.\%Y]" -e items=1:wait=2 -n "Animation Dominat... https://enikibeniki.be/data.hell 2>&1 4.9.3
O£ekávaný výstup
Zadaná URL: https://enikibeniki.be/data.hell neexistuje Skript p°eru²en
7
4.10 4.10.1
Test £íslo: 10 Popis
Test nastaví £as animace na 30 vte°in a zkontroluje výsledek 4.10.2
Vstup
-t \%H:\%M:\%S -T 30 -n "T°icet" $1/data.txt 2>&1; ffmpeg -i zoom/T°icet.mp4 2>&1 | grep Duration | cut -d ' ' -f 4 | sed... 4.10.3
O£ekávaný výstup
Spou²tím nad daty efekt zoom Data na£teny Vytvo°eny pr·m¥ry dat 97.0588 Hledám intervaly dat na pr·m¥ry horní °ádek: 1 maximum: 2 spodní °ádek: 3 horní °ádek: 6 maximum: 7 spodní °ádek: 8 horní °ádek: 10 maximum: 12 spodní °ádek: 12 horní °ádek: 15 maximum: 17 spodní °ádek: 16 Vytvá°ím 1:3 Vytvá°ím 6:8 Vytvá°ím 10:12 Vytvá°ím 15:16 Nastavuji rychlost na 1 Nastavuji FPS na 7.20 Výsledný £as animace bude 30.00 Generuji výslednou animaci Animace bude umíst¥na v zoom se jménem T°icet 00:00:29.88 4.11 4.11.1
Test £íslo: 11 Popis
Test slouºí k ov¥°ení správnosti výpo£tu velikosti animace pokud v²echny prom¥nné zadá uºivatel - dob°e 4.11.2
Vstup
-t \%H:\%M:\%S -T 5.4 -S 2 -F 20 -n "right" $1/data.txt 2>&1; ffmpeg -i zoom/T°icet.mp4 2>&1 | grep Duration | cut -d ' ' -f 4 | sed... 4.11.3
O£ekávaný výstup
Spou²tím nad daty efekt zoom Data na£teny Vytvo°eny pr·m¥ry dat 97.0588 Hledám intervaly dat na pr·m¥ry horní °ádek: 1 maximum: 2 spodní °ádek: 3 horní °ádek: 6 maximum: 7 spodní °ádek: 8 horní °ádek: 10 maximum: 12 spodní °ádek: 12 horní °ádek: 15 maximum: 17 spodní °ádek: 16 Vytvá°ím 1:3 Vytvá°ím 6:8 Vytvá°ím 10:12 Vytvá°ím 15:16 Výsledný £as animace bude 5.40 Generuji výslednou animaci Animace bude umíst¥na v zoom se jménem right 4.12 4.12.1
Test £íslo: 12 Popis
Test slouºí k ov¥°ení správnosti výpo£tu velikosti animace pokud v²echny prom¥nné zadá uºivatel - ²patn¥ 8
4.12.2
Vstup
-t \%H:\%M:\%S -T 30 -S 2 -F 200 -n "right" $1/data.txt 2>&1; ffmpeg -i zoom/T°icet.mp4 2>&1 | grep Duration | cut -d ' ' -f 4 | sed... 4.12.3
O£ekávaný výstup
Spou²tím nad daty efekt zoom Data na£teny Vytvo°eny pr·m¥ry dat 97.0588 Hledám intervaly dat na pr·m¥ry horní °ádek: 1 maximum: 2 spodní °ádek: 3 horní °ádek: 6 maximum: 7 spodní °ádek: 8 horní °ádek: 10 maximum: 12 spodní °ádek: 12 horní °ádek: 15 maximum: 17 spodní °ádek: 16 Vytvá°ím 1:3 Vytvá°ím 6:8 Vytvá°ím 10:12 Vytvá°ím 15:16 Ve výpo£tu £asu=(po£et °ádk·)/(rychlost)/(rámce za vte°inu) se stala c... Skript p°eru²en 4.13 4.13.1
Test £íslo: 13 Popis
Test nastaví FPS na 3 a zkoumá správný £as, ten má vyjít na 00:01:12.00 4.13.2
Vstup
-t \%H:\%M:\%S -F 3 -n "T°i" $1/data.txt 2>&1; ffmpeg -i zoom/T°i.mp4 2>&1 | grep Duration | cut -d ' ' -f 4 | sed s/... 4.13.3
O£ekávaný výstup
Spou²tím nad daty efekt zoom Data na£teny Vytvo°eny pr·m¥ry dat 97.0588 Hledám intervaly dat na pr·m¥ry horní °ádek: 1 maximum: 2 spodní °ádek: 3 horní °ádek: 6 maximum: 7 spodní °ádek: 8 horní °ádek: 10 maximum: 12 spodní °ádek: 12 horní °ádek: 15 maximum: 17 spodní °ádek: 16 Vytvá°ím 1:3 Vytvá°ím 6:8 Vytvá°ím 10:12 Vytvá°ím 15:16 Nastavuji rychlost na 1 Výsledný £as animace bude 72.00 Generuji výslednou animaci Animace bude umíst¥na v zoom se jménem T°i 00:01:12.00 4.14 4.14.1
Test £íslo: 14 Popis
Test stáhne z EDUXU https://users.fit.cvut.cz/~barinkl/data1 a vytvo°í animaci 4.14.2
Vstup
-t "[\%H:\%M:\%S \%d.\%m.\%Y]" -e items=1:wait=2 -n \ "Animation Domination" https://users.fit.cvut.cz/~barinkl/data1 2>&1
9
4.14.3
O£ekávaný výstup
Spou²tím nad daty efekt zoom Data na£teny Vytvo°eny pr·m¥ry dat 94.055 Hledám intervaly dat na pr·m¥ry Nastavuji efekt podle parametr· Zpoºd¥ní nastaveno na 2 horní °ádek: 396 maximum: 398 spodní °ádek: 399 Vytvá°ím 396:399 Nastavuji FPS na 25 Nastavuji rychlost na 1 Výsledný £as animace bude 48.08 Generuji výslednou animaci Animace bude umíst¥na v zoom se jménem Animation Domination 4.15 4.15.1
Test £íslo: 15 Popis
Test je podle ukázek z Eduxu, výsledkem je n¥jaká animace, protoºe je aplikován p°epína£ -E, na terminálu nic neuvidíme 4.15.2
Vstup
-t \%H:\%M:\%S -X 09:38:11 -x 09:02:51 -Y 200 -y -200 -S 1 -F 15 -c x=... -c x=09:34:13 -c y=141:y=150:y=0:x=09:32:22 -l "Example animation - ... -g "grid xtics ytics" -g "pointsize 10" -g "tics textcolor rgbcolor \... -e items=1 -n test_animation -E $1/data1.txt $1/data2.txt $1/data3.tx... 4.15.3
4.16 4.16.1
O£ekávaný výstup
Test £íslo: 16 Popis
Test pospojuje data a vyhotovový efekt nad nimi, £asové razítko natáhne z kongura£ního souboru 4.16.2
Vstup
-f $1/config.txt -l "Example animation - merged files" -e items=0 -n test_animation $1/sin1.txt $1/sin2.txt $1/sin3.txt 2>&1 4.16.3
O£ekávaný výstup
Spou²tím nad daty efekt zoom Data na£teny Vytvo°eny pr·m¥ry dat 51.8 0.156813 0.183618 Hledám intervaly dat na pr·m¥ry Nastavuji efekt podle parametr· horní °ádek: 28 maximum: 60 spodní °ádek: 60 Vytvá°ím 28:60 Nastavuji FPS na 25 Nastavuji rychlost na 1 Výsledný £as animace bude 9.92 Generuji výslednou animaci Animace bude umíst¥na v zoom se jménem test_animation 4.17 4.17.1
Test £íslo: 17 Popis
Test zadá neznámý parametr a testuje reakci skriptu 10
4.17.2
Vstup
-t \%H:\%M:\%S -n "T°i °ádky" -HELL no $1/data.txt 2>&1 4.17.3
O£ekávaný výstup
Tenhle parametr skript nezná Skript p°eru²en 4.18 4.18.1
Test £íslo: 18 Popis
Testuje skript na prázdný vstup 4.18.2
Vstup
4.18.3
O£ekávaný výstup
usage: zoom [-options] file|url... -h Nápov¥da -t Nastavení £asového razítka -X
Nastavení maxima osy X -x Nastavení minima osy X -Y Nastavení maxima osy Y -y Nastavení minima osy Y -S Nastavení rychlosti -F Nastavení fps -c Nastavení kritických hodnot -l Legenda animace -g Nastavení efektu gnuplotu -e Nastavení efektu -E Ignorovaní chyb -n Nastavení jména animace -f Nastavení cesty ke konfigura£nímu souboru -V Vytiskne verzi 4.19 4.19.1
Test £íslo: 19 Popis
Testuje, zdali se skript zastaví, pokud nep°ijme ºádná data 4.19.2
Vstup
-t "\%H:\%M:\%S" -n "Hell" 2>&1 4.19.3
O£ekávaný výstup
Spou²tím nad daty efekt zoom Data na£teny Nebyla nalezena ºádná data Skript p°eru²en 4.20 4.20.1
Test £íslo: 20 Popis
Testuje p°ehození parametr· a argument·, podle standardního chování by tvar ./skript -a b data.txt -c d m¥l být p°ijat, -c by se m¥lo nastavit 4.20.2
Vstup
-t "\%H:\%M:\%S" ${1}/data.txt -n "Hell" 2>&1
11
4.20.3
O£ekávaný výstup
Spou²tím nad daty efekt zoom Data na£teny Vytvo°eny pr·m¥ry dat 150.81 Hledám intervaly dat na pr·m¥ry horní °ádek: 8 maximum: 9 spodní °ádek: 9 Vytvá°ím 8:9 Nastavuji FPS na 25 Nastavuji rychlost na 1 Výsledný £as animace bude 2.16 Generuji výslednou animaci Animace bude umíst¥na v zoom se jménem Hell 4.21 4.21.1
Test £íslo: 21 Popis
Test stáhne z EDUXU https://users.fit.cvut.cz/~barinkl/data1 a po n¥kolika vte°inách je zast°elen 4.21.2
Vstup
-t "[\%H:\%M:\%S \%d.\%m.\%Y]" -e items=1:wait=2 -n "Animation Dominat... https://users.fit.cvut.cz/~barinkl/data1 & p=$!; ar=(`ls /tmp`) 1>&2; sleep 15; echo "Zast°elím:${p}" 1>&2;kill $p 1>&2; sleep 6; br=(`ls /tmp`) 1>&2; if [[ "${ar[@]}" != "${br[@]}" ]];then echo "Selhání \"${br[@]}\" == \"${ar[@]}\"";else echo "Pro²lo"; echo "Pro²lo" 1>&2; fi; 4.21.3
O£ekávaný výstup
Pro²lo 4.22
as test·
Ukázka £asu, který vypracování test· zabere real 5m3.950s user 2m50.270s sys 2m44.312s
5
Záv¥r
Testy jsou vytvo°eny podle návodu k vypracování semestrální úlohy z p°edm¥tu BI-SKJ. Mají d·sledn¥ otestovat skript na stabilitu p°i r·zných vstupech. Pro vybrané testy skript fungoval.
12