[OSy] Testování vstupu

Martin Decky decky at d3s.mff.cuni.cz
Sun Nov 11 15:43:12 CET 2012


> echo "a" | msim
>
> Pochopil bych, že přesměrování více znaků může něco pokazit tím, že mezi nimi
> je jen minimální prodleva, ale tohle moc nechápu.
>
> Chci se zeptat, jestli můžeme tento problém ignorovat, nebo jestli je nutné ho
> nějak vyřešit. Popřípadě jestli to někomu funguje. My jsme zkoušeli mačkat
> více kláves najednou a podobné věci a vždy to chodilo, jediný problém je s
> redirectem.

V obecne rovine je "problem" zpusoben tim, ze MSIM nepracuje se svym 
vstupem jako s generickym souborem, ale specificky jako s interaktivnim 
terminalem, takze casovani znaku hraje roli. MSIM dostava nebufferovany 
vstup a dovede generovat ve virtualnim stroji interrupt pri stisku kazde 
klavesy.

To je jeden z duvodu, proc je test io1 interaktivni. Dalsi duvod je ten, 
ze ten test je skutecne nutne vyhodnotit interaktivne clovekem (jak se 
presne chova, jake jsou latence pri zobrazovani stisknuteho znaku atd.). 
Pouhe strojove porovnani vystupu by nedavalo smysl.

Muzete zkusit vyresit to presmerovani treba tim, ze jednotlive znaky na 
vstupu budete generovat s pauzami. V pripade naseho referencniho reseni 
a na GNU/Linuxu funguje generovani vstupu zpusobem viz nize. Ale 
upozornuji, ze to urcite neni spolehlive a prenositelne reseni, takze 
jej pripadne mejte jen pro vlastni potrebu a do standardniho skriptu 
test-as1.sh to prosim nedavejte.

sleep 10s
echo -n a
sleep 1s
echo -n b
sleep 1s
echo -n c
sleep 1s
echo
sleep 1s
echo -n a
sleep 1s
echo -n b
sleep 1s
echo -n c
sleep 1s
echo


M.D.




More information about the NSWI004 mailing list