From fe6c36e18042603bb096d3685fe3988e32331ebf Mon Sep 17 00:00:00 2001 From: haturatu Date: Tue, 10 Dec 2024 21:28:04 +0900 Subject: first commit --- test/test.sh | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 test/test.sh (limited to 'test/test.sh') diff --git a/test/test.sh b/test/test.sh new file mode 100644 index 0000000..cb79d40 --- /dev/null +++ b/test/test.sh @@ -0,0 +1,88 @@ +fail_exit() +{ + echo 'FAILED!' + exit 1 +} + +T='--------------------------------------+' + +./b91enc --version || fail_exit +echo -n ' + +extracting test files...' +echo '?/9f4iG0)z4jY;<$:B$AvWAAoB:CgALvDCeR+t bit0.dat && \ +echo '?/9f4iG0)z4jZgv|?AUYRAgA%AAAUA:y5L9LcoHE8HJI_yGIJ>T' | ./b91dec | bunzip2 > bit1.dat && \ +echo '71kS$5F/VZC0+Zw,c%df~>T1XkEvl{weS1NQ@@3Gd*`P2p~)^4>yP{Y9MFo.Q2=Mmsk:"lhR%87Ey_GRP +7hn_L73QVn>5CK0{6eHmBBtzP05[`PG3*"+n(bE$S";_b^gU5D87O,QjqW3wVc(_T8_:O{8P$9~{n7"SiU;Ca{w_;HB6L&u2W8M>ScI +aP#E.:novN/#Mk$STQeM^dSp5~JKkb3[t5_*3q&V/Z7aVdFPJ#P&TR3#`W+;&GpWk9CHq%R|fV~(K:g6_Du~m +j7S?;hnI$xFkGTDRJSJ#NNu_;(]ud#f3{1Q|;jH4l{Ql^mi]*jH>mCqmSW,Bx4^MBrnOtoa4gbM7m3S:OMQ4nt.un+)Zelc,Eoa|c!yN"3dV3b9YY2opW= +VS&}g7RI#0g?^mT#@#;Q%kmT2gGX8.*H;^Dywb$(o(t;/_#j8Vi*djlobF!Xw)B2lLV_sio/`z1zu^+^m9D~At(UH|,6o=j6kT(=Cz8q6(FBOm~&+F*,IgYH;XtV+,ejB".y`K9!2VxGi?YeQs+q9Ses]Qt +RzDX;Oyx]$Tcm;[GT4Auh}yN+%:}Q_xv5_B[/q30b!qFIn>w{^w`Qa99`=r0eo&uZFyq*` +dg.h"YJiW)t5BaO;?liP7Y|)o|]9KwM`rZO1p#}zYnX|.C(+P.RXy>T0XG^58"DO8Su/5MElg)J>eU,BjzB5}et|m+4>$GdR<(_[PUxc^o|c2L{w~mE@SZ.FH +;(=m1zJIMyYbz8z0=gf*;)WDk:3@7^YN&i1|MVarqV)qe]x9kJ)OPi&F``3?|P:(Fg$1(P2{xf0yf$WBU!.YmwYIT +F)^pdagK0(P~/96zGoD,QZlX]"`h/U`^ZWZeJ.c:XQ!WAz(Z|&2/E3)*V?vAb>?MUV5*T8i3u)apx`5<8J`bopXm> +*J,^8m.Ldfyj~KR#mt*&Z3a]N9WUT+^c2*@07TM:ATg(D)YMiSR[RTll_7DB3.HhUzKL:N0.:%J,<(_$0Ab{``OaN +43R:29/1$KXzs2%58B]G,h*r$Z/PqQqwh*sY.o(;Kkqw`1N^;JFk!;^?V+6/7irU+h._wN},b?.O.8t#:prfx9ZEE +t2AWg56N]g6MF0Bs7X^07[RwvgwxT@4RLk#SXzXj74XT93xa=$c0Sgi6z{apd:[5sDmwG;&jKSGGR.=c9qS$u[S:y +wM|buns:@)g|V@|QGD9wipn#u*HCFK7W}iD}f|E{h@PR@2+m%nN>u+"+>x&3iF+0`2GE03Gg;K`[.E[X4Swjchxf6 +LusH!p1)[}$SyFI"w|fztPfp*<~6Bu&1(.0XH68BX?a9mFcGoT>~qd7qtf)+v.o9(IAL7|jz32K"9d1Nh*1},xKnvFBHnD&1fv9+h,+nww+PRv7I2wU)B`nty%~eJ2OvRIa^k@T2 +*Y:8fa@pLgwFy,[Ea$di~YWC]4)j&3=B0nZn())A|p,70Y02g3ArYWjs+U' | ./b91enc -do rnd0.dat && \ +./b91enc --decode -o rnd1.dat rnd0.dat && echo ' OK' || fail_exit + +echo " +basE91 encode files: + ++-- best case --$T" +./b91enc -m 5k -vv --output=bit0.b91 bit0.dat +echo "+-- worst case -$T" +./b91enc -m 3k -vv --output=bit1.b91 bit1.dat +echo "+-- random data $T" +./b91enc -m 96 -vv --output=rnd0.b91 rnd0.dat +./b91enc -m 72 -vv --output=rnd1.b91 rnd1.dat + +echo ' +comparing check sums...' +cksum rnd?.dat *.b91 | while read C S F +do + echo -n "$F " + case $F in + rnd0.dat) V='15559944992141';; + rnd1.dat) V='3514104192626';; + bit0.b91) V='33531953171198370';; + bit1.b91) V='5394938771290552';; + rnd0.b91) V='32051515602633';; + rnd1.b91) V='2018291165770';; + esac + test $V = "$C$S" && echo OK || exit 1 +done || fail_exit +echo " +basE91 decode and compare: + ++-- best case --$T" +fold -w 83 bit0.b91 | ./b91dec -vvm 2K | cmp bit0.dat && echo PASSED || fail_exit +echo "+-- worst case -$T" +fold -w 79 bit1.b91 | ./b91dec -vvm 1K | cmp bit1.dat && echo PASSED || fail_exit +echo "+-- random data $T" +fold -w 73 rnd0.b91 | ./b91dec -vvm 89 | cmp rnd0.dat && echo PASSED || fail_exit +fold -w 71 rnd1.b91 | ./b91dec -vvm 73 | cmp rnd1.dat && echo PASSED || fail_exit + +echo ' +================ +all tests passed +================ +' -- cgit v1.2.3