From 70a82458098ac25c0204cc3b2f6560841075ac0e Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sun, 17 Jul 2022 17:11:18 -0700 Subject: [PATCH] test: run from host --- test/Dockerfile | 2 +- test/cases/vttest/1_1.sh.png | Bin 0 -> 14219 bytes test/run-host.sh | 12 ++++++++++++ test/run.sh | 5 +++++ 4 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 test/cases/vttest/1_1.sh.png create mode 100755 test/run-host.sh diff --git a/test/Dockerfile b/test/Dockerfile index 19b7c7153..12ea74da5 100644 --- a/test/Dockerfile +++ b/test/Dockerfile @@ -42,4 +42,4 @@ COPY --from=vttest /vttest /usr/bin/vttest COPY ./run.sh /entrypoint.sh -ENTRYPOINT ["/entrypoint.sh"] +ENTRYPOINT ["/bin/bash"] diff --git a/test/cases/vttest/1_1.sh.png b/test/cases/vttest/1_1.sh.png new file mode 100644 index 0000000000000000000000000000000000000000..ba1bc593da83c85684829b1652349247350caba7 GIT binary patch literal 14219 zcmeHtXH-*L*X|CXDFU9Of(iuGqli-EP=!GBAfg~3DuhlD5$U~z0EwcYB47c6R23=G z5`<7g5(}WTC`gNR3_S!AS|E@+5YPL)?{~lZ>yB~%-1BRXJ+fw5bMLJAJkQ(@E}I#N z?mV~?007a87tUP)00961_yJ)s000k6`Te)<+|HVw1%R?d5w7#ruW~LIu9yNq_%Q&$ z+y#I&001zP01$i%0HzTDppyy!l71Pr7El1-o4kDKn&G9e=f^EWc|4ws>>=f>MWYMG z&ytgsPyLzlJXKXq9U^yF?(iS@xA+UjCRZ)32vwD)<`$klK4lf<>Y7?!K0eVg_q27O zMWw}oAt7}nV#B9KBDp?2D?{$^5hv&C&Np2DkXJ}}{J5a7Q2)$d=2x!1%+0xR^QNNm zDNXIu*tF+0#9CY#-pkRzW)CHfr0fDl9Gz5v&)TuprEvjj1VL;J~8pok)zkFtcr1^iBF$6A`qwkRI8{W zXr0zoRns6+NOxmn!@|SEP$)-d=U1;^+uGY_zj|qQ`LedIUhISWgzC!EQ0S>Y)hQp| z8D6+hT86KukjpD8vR-7LR8q+=d~*#Bf1RIOj4MG!MIQd+nCq=uIk~w-r6oRo{zex~ z+&nxqw6ve6r(0TEo0yta*Va6YkB@l}`||ZG2PY>tcaOBpjMTK}eu061oin`U;aOJk z_I<;Lb4C}8P0ecS>$FbmJWYCLZEJh){(XB#L{dtMtJ|&E2M^RVwd55}zWez8k7LJ^ zQ&SKwE+JuI8QEEtHC3tUX-AIAha!4!?&0lSRa+f(`!*)}&h;Cvm#OPy(Lt*hto;*3Bs2mX$MS4d@-??+i%p9r*3kVK=mYkG?#o9SK-o6_h9vN{r zCdSOd!Y?4eKPc#9Q$rL6bN5an5dZ+tbrYj=d^bfRZUBJ#zKiG1UJIi!29O!{u9=g( zlT^c(dxSxM<=I`|bszB;pKymvpL^xaJ;H}x?FSji?Xbw%ZL>8Pl(+=o*<{T>(ua{!bfykHU@@ROkB#uHMk}G_l`GbKCNs-#alY$w+FUQnNcS! z>mxa`Jg{7GC~)@=%o%Gw;k%Zi!^h}aT74g5!S`SPPB9Gt!OP4Co*mrb1#Jc?!b?_% zPVA7wmmSzkF+Jh51MZ`RG>WRLb$&);=qBy%6|M*usJatK#q8>~#4V%K!vuth8(jkU)deF4 zL%L>qIn=9TzU2;|Fp(ijS2-IYzPtDMt|{{o%>|`1h$F+kw{PS5cMG>@pOeFf5|4oR z7h$}7fbZ-Mx!oxMpY#8_%dk}Wlx{3(*&*F~4lFG7N=pwT;~O>>e#&cA!oaSYe!rx9 z!~s&Xq^aMD0DnsWd~^$g$_FONGqbbdp%csQt*A6Q z25}qKzezY=SsTj5cFDN^z zU%`?J1`$0h)|yAb&T<;ZoqbfKlTeq3lRmbOa5&#pR#Qw$>?j z>l~y@206i)+yqi$NXAP198oory;gx|#&CLGORd!0INwR=4+=EK4qeGOq;lLWDJ7XN zHSxI)PA`}py7Enlp}ja>Yt*s{XS8`Y_AsujKu5qbbkPXPf#Cel&-ALcEPRd}=?uKW*F|nzuMP zXJDeW5}`1lO&BApT^Y3Yr+(tdUR;?gb3%6#B4)l%k#-C;9AMoUJ(mnfG|duWxhmZ} zudzEOGZ5+1&cidy%w4$expR8WBDUVe{C?jDYRS4dmg|xQJ7TMNdN2XfGHPfjH^NDh zA|w&HdUr7zH(p1}f<@qi)ZC~xh~RN^_97-Yv6b}qu_VSXlmw4vg64teLPD( zN48YA9Tbc+M%UhIr6_}$7LH#6T#jN~VNy1vOm=~}M(=!uJSLXMl|8YtGz5;A?M*t? zt}wULDV!Ko?uT4D>uW5ovTit-x)hX5x+cRpmsVcPo%~p0qD6)(IIwTfKTkJaHS)69 z`K_ZHbcxCBdgRp8e%ax&uEkMIgK9cob;HLsmDtWl`O}aLg57{}11d?fqThOBcaoEV zJ}aH|0S*0>f6yz8wud4lVd*%b&OcuzAIvKt*HxcvjnWx_Y3Q-*5)uqbr#F6tc9!eb z<9e;TI+x7Vs_G((GD-(WzUR#(ZcYSs9!gfZP$ZQ-%``Hs`yb%3-sWXi>6#)!^79m?Sr&>Ojjs+UU>^0QE+ z#YT%~=F4vcrLr_P4lkB;_2?~uB1Rh8)7x08R zOTD;8{mLH;G|wt*71^cH_08DIM%=h*pR(_)whJfT9ICgQa%8Q&xGu?=y?ME|&Fz!X zXZeGD=#h$spVj&?dDJ8&iL{qY!aW^@ZNAwYn5pKv4G34d~AJLaT?O0 zgArs154V=W*>**cs;XnSuFZo!P3Ft-gC}yc9c!hyJM3nE$A{$(){de?ebEmZYgPd8JKZfY?d)b=cU4 z4FIHKM3(K>>*C;2og$kh*RO9`JifU;85tw%Umrc=L)GM8c5Fr=lP;f ziFy^!J=M~jd#aBzTU*sI4dmY_0(pN;fn(x|R_II+X*EtZ+b%q?2mCW2RAxSwep-kS zpX|VDY;?HNR7@V^jD6EK`a(YVMS>wb9AyOO75Q}mS=GT)ZBAK9OqLuaZwfPILRYYA zXq;9?x{N6+WODN1kPGpF{2V(QTuo4wAsaUk#4F;!h8#^;qLmb!he zS$l1l=5^4F!y9A*qV}EmSxj)%ZJt6u&aFLDqjkR$qP~{`UUfQov;QgoZfliY2EhB@ z&&Vl)`2TM%#ag7(LHO%>!LW3TRUBjrR;5ocYXJyT^W7v$-_>m1=tnX0OGjY9n zD^E8-T&H^Fu|c{ctu3=Rpr%AM(;vJdYHbKgWvk0LU9>Wy6O{x*Gv~{NxAu*RsW<`w-Jp;pTMG zL5i&Yq=7iGi^kETG$ok2k7hJ_6M)UAeujApvk1iP7}H;**p+00xQvSfuxXXZ%(|h8 zxgzhAe5>^j>P@nh$rhr+v-zDHS0fj1S6$NuufC7V)XH?KC6jz#cy|qfp>v-}?5j*M z@`WSoDjAj46&xpOjZ1Ta{u;%uIr}~6e@E%vcKaw+YygGsMbrF!mka^_3N?(&VEIz- zxHr0|uWxCtosq6pl_9jcT0JK;$Ua75#{B-5A7j_>rjWFDWy5&niWISg4y9PElWUlD zFYoTQN0IsU-IGDkCH#Z@%&ZPbHqE*5fLi)EsC^re!u05qO=cWB?=d{NZlmTy)W+=V zj&zmH!)?#QmKRBT9@4u68X5~Z>5&WleL2(?Y9`shy;GoRyi7&R&bu)o1!^%_9W;L{2>S?OQaT;9UA2xywO8O*DT$e^W9jzcNnvcIEh5- z$68ixS_+uJp@!WVD3UqZn}fG*REk@ zN%))xD59XY<}K0svR82`S$zQYA!?%`aJ?;^Qv!b2IX>|)Zjy*woSt8#8U8Tgdyjm^ zSM7&fVhkoh9GBx7kr;U&hguH(qA3oLWH^#$964UbZpnPr#XiU~Ip5;uCq*)|ndG#E znb8VP&FJBWfR)P6%$9zmtRXQ9Xz}^yL%~7P0hUa8a(dRlRAf9GK*jo|m%`Sv)5${B zUg>TVLr?RdsXlhs_)n>*NL1`ZFc5air;9^qT>GeNA_)3n4=n%Pa(zB)nE0uEFoCFl z$3t)2A;T@-hg8Sje%niN7BcT*;IMbO(N&`E5X7KbqCjg7k7bcIvF4ggZwPcQc^EWo?D05gT#s!{fv%~@<|0d-tZW>iT1!u2mmU3s^)1G(y&Lxgz4Gt` zs#1G9uh0Bz_3F`ItFy9ogFi|r$l%qp3;YWaYyx0GP{T+v@JRZ~98Fam-@BE^GaTy- zIj<(lCK$O?lfQ=QbTmnkkoQRamCUZ;r#VGb&*3)c+F(Mr+|Zp%ks(DO&n$YS5V%W+*cMT-bd7JE>Sr@l)b_8QisnF|>^o z6DzbvH$q|~@DVXYlN2g8y9ITSU-(*u24)M^eH$(@NEb>K0-2FQCXQsK+dW!o0dKH! zh$i~h`UZnXTP9klbUjf%{u4B=!Q-)I2-L~r0vm`si+L7$X{vwv;~mub@!L@xi!zfX zM8kpUkc$o1-q9XYrrm$qY+N0Nhe%hrZ<}oQ^y@^Y;1^C&*JiKiS^LKjOs?kwhvjV^e# zM!>ylp9@V*9KWC6S`?u=h_kI4wHQ1qt0=z1OBmr#;@StBM+3JDE5*)bYDY0yB9zKj zaBDPB1X65Vx16zpHrM@#rmLxw_*(z9SFVEezk~Q+N{#myHsG{=c}z?%t`JRL=unUx z#5W%imm(RqFxrGXR|?J!d*`=-xC3gYQr+&5VNY?*xi96u3*8DuVu)~FyONfcY;jwT z;O(mHWx@GRX!Onb#+OvEv@HO4z5r4`vs?3~wSkjawOVUW&AXl)fST zNK26YcO=H;SbwIY6Vfnh?w&N|qRNs_=Sp}pNHLFV*_Fptvb#JmPtHCb@>%HQvVD_9 zbmNZqjju96+?kiu(i0d@J#oKx`Nmqhna{K9P6**W*-4wr*lVH)|5laI;NZwwpJpeq z;i>X0rI61;EwPS0zZ}Gaq?acR-7P`(Gf0e`vhu(qT{Re--_Lc*hX>2|06d#oA1a`` z07%UZ98H;nK$3$YKU4pMwx5y>)%3I)${Lcbh`hiCvTMtN*z6{D;K0dj)2ZT)lazI1 z9F_E>5L9f+@q`9xV0s1?>DRs=l~rU`m*xnf;`iK*KbMXc&13Dv%dmkuw}F%_Cr;Qx zf09tAcbqYZ$o8a~pG2?YSbCJ}%}z_l2@2?B0K!Eli$4whEOauV-X}+J%Sq#!Fv4ye zdFL+>BMzGPjbgF<(a_|!k=gC8ZK#4fz4FD`)R+IVkZ_^Q#l7CJ+3v9elh`) z5IJ~^qtV6%TjzubZmTZLPiME*`rYg~)Hxwmygqw+YOLoqR2*L^*Y(ToO~$6eJoUU7 zP5m_zqgI#V5HU)rO|U`NvzrvCU_}Y_OWWaZGIk+2a61U6?M0hGnviz+j6-O=llCb# zvlUj)I@8Ps*moK)M#Zb~fbQZ<5b>9IpvMMUVEi?1eLWs(JjY3C?3FB`R7rI+mS@_p zJwYadl*x(&HwfZ1WDc?fPwKA?rwk+ z7p9~o?hZkenK;5TIa=s)l`LJ}&^=59mg8J4FAx8(vz_m_D}kxVNL#j$uN+&*og#bw$Kg;G_tPm37giGq{E1 zm~kA2rCzrGeYcq|SbIvShq2K6TeRj@E`zz&Tey_wH^$;-h&p?nKOh9eamqQX@r z@CrYTT@!{A^Y+RY>ci{qM_fFk&Db?Oh8Z z2}uljbr{p7wgr{;jGB*xOK@TZ1^1khQ~a>|-*J;CI7>*I9~b$Fe0)BJpoZBaZ<_Xv zVE6Mc+8=Ul>So>72G+0tEsYKylb@|kI~m3}%X>wU>K=zUFb3;#x^y>jW&zEf=X-@9D?=hOWMT(1Rz7ut*eumO zb7nXk@s;*(l!F8*%Z4iL?U5<-4$Pfx+tdPhiWyDc8`pbOSfepVh14#U1tZz+qkk(u)?E%pJx*n9V zaBX|>DwX%LlE|`COXMEQRXVo(E#woZwPouhUtu@J?Ew{A*nw9ENX>8xg3Z(>jQYkFG_9=Tu zn(ODUCMk*vq;Tat@HidYkD^suly3!i0=ozP?-ZKy)O3iWS^X*0yRya{ehU}x3_;8U z%lL+Eq#UWV{a&=moJh|?P9=%>hPk+9_m@AEpH4XKwJH%!)eD&Mjv)PIM^MAS>Vq2Q zeKoy3JE0U+W?#6M`-g3E?Ew+7Ci^V8-Ev=9KqdK@rwwXsbb9udhqQX2XE zNpqjqc#5c&aw?Z`5=RWOOd~qYL}L?9m(O%@hc|SqddCb#NxkSJ%D%3cun zV~4X|x~9{)F3qv4k-+v)V{hFL0VI-9$YYXUdjL&Y>Zj27-zlRO!CP6_Z5k~_u?V`d z3;q40I&lW@gwyjo{rc|Q_B^27>{zva_nxQ*W?P)>2HE#)WuQzv;(*-DOwI+nfY`Nb zXE7^}THUG(g@+qlI)>v4*4pP|fS&}lxo)pWVT&hxK=*pOG-W_jO56K1hG3MeC*`&W zk`?Q^EquZ4-TWt;Rnx)NH7T_@(i&8G#fq!C;ObwpW<||blLJK{zQ&qgfE_3E6-$Yv z_Uv;@UHfE!!d2^Jzm%ZFUO5=?nyyEKtTdEG66>>NY@6mjssSuxpT(@Axk?%q;3JsI{e}ldh4^gI`L(7V|Jbj#3X#aUY~T_ce2T(c52$FM8LA~B~i zWW6`*MjHe1E}*#JE;VS^Q2Mg%+Y0RuKSA0F6(ju6L(T^lI(*BmL}MZ8`2CAWYSOVwm+!&_58(%Q{iV~3v`?rhWD zSnsB*Y;=EsQlu%8jiX1{8F}#_ke0XbGkc*3j zovQa-%OOnuaA4gzjOlW541^!WpxRSIX8LK$Ld!Vmue<>7gU-R!#=g7%(gL?PKi*nO zn(EA##h(8O3>mf$bD;B+efmz$(W1lOyMlR@8@AjS|E6_aT9knAk5mz-)0F&^6<8o8 zsDDYb`V(Ao)$5+-Rx|o9EpQ7mid~AaeU@bya}H$C(GEZsZpXobBRjXyqJ8I$0+8PN z8k|4obtVWp|8Q}Dt|sKYg-475)X*mzf!+IGg$T~OFioer>$ZOg0ATuKPp=O-6U5!@8_4(Jt!yI*1x%InT7c>v6(%cP zq$4Mr;b^t1xoGS|(DKq0N*UFjeCLwzu2>l!W>E=IQ9BPH}h0aBHbS z9@Vtr5|P+q1*@J*P&13F-A}_(X#}J(dfh~oGu`+`W+L-R+RaT+#h1BkK6LoJQ?lq! zOIJy3Y>|}^-w%i7x+(E;S=u7+jVPmN(#EE?k4H5Gs9A&vd!!ZOLn{m;L6fFPE=Tmd z@cu8{Y0Z!CbzLi4L9e~QX$jzq7ALcO_vY|Qk#9%N0Y%^1fvmyK4O`@u$gT4cEgV37 zi`&QMu$1GBLLX%i;eh~?OJjHX96!$+2)e+5?@D*u1nuf>2R1!MD|m|NrM`qMFdl*) zjy0TNDX&1Egk*gCzL)ZgH$XOe7S=Zn*?C?)P_{S%AI~r!iCQ{0MIV|lT8kCv_Hq#! zZbuJ}d@aw4>VPTYZ^j$~{-&TiD@r=#=*kR+JvXIL%E@uLb!l71fBx zfI2f`PgIG{cqC3^^WP*wD^?yBv0vO(lEhX%DiXlEJG8(t$-$s75{skeB^dWtiLZP6z%| z4!?M4LPzx+Wi$E6nv;(hVhORe!z2HL(x=%7_^h>8t?e8n^o{Ei5Fe^Q?O=PjT|)14 z$!0;wqyF%8tyLc}DN@4=?*__Whz(nDHo$g>COjAFeP5Ylto1!!IiW*44DY@D(sw!wKQMIwCr`;Waw?$Xd+b@Y6yOV9KxDe-|{-+Me~+9qle z*UYEH-GYAz1j<`gMouJsQw@Hf;=&su=Oxs)fG#y<^D9)%aY0p&}%A?S=B5EEn#(k%nX_R|=k85_OHZw3=c3>?{N<8x76dLPj)lZQ2 zUVVSRewkDdmMF-V+98WR9m0v5n$f++w@PpE6gg-lY9%k-J~SIQ(GH1p)FJZT3xJuZ zEcaA!D$JO&#yTeC7d*CH_>B9o4AW)Q5D2$_E|F!WYy4sOT^=X;`y*U`*LhxY@M2`e z7|}PViZniMke^`S+a6l9-+OiC2+10iIL)^@BjY2rPFt9OgtPuNS#WlQ#*9Q`{}sE_kWSk5 zXtPNB=a&|^=~wAu8_&LqOKt@Zqqw)A;sn4rz&tC&QUNp7ELjN3U{6x+#8^ak?TG!w zCJ{^ZZEB)%Owf4Z@AxcY4alBRUGKsFaEmTNxf8s{(_G|6*(PZABLk?TA`bEQ@Cybh-aKdpwq8FD@+AYM3@9ao2;Cyc zQ{7p&bJWEkisRxpWw5+r6ygSgepn}JhiQ$0_Iydxu32ud+JZhw3^Y+KP(NgW8 zjXPLom|U(dk9-)DJOqZ8vaSyEHirm+{`_QLu>7t48om1|Pc|gY?CgnE4VOMZ@%Yu_ zAm2E^XLsp(6(gPGzg#45jLX-Dyjn+e_=E%HQuBsk1Z^JUx2Ya$Nr`gcvVJ{T0iFd#UG)x&0CjOw$x71FP?zJcz@ z?0E4xJXI*wZAxSR{v#MleLG#$Seenj1wxYXd`&L@ZZ?=_+el2S6Ye{_Qk3u4g9z--U&W6p<%|{+S z2?w)Y5TUcat#|7>XHMcSaKxQEFDB#AyfKkCsE@x9j*4#kd0wIJP>#u)BUbqn=x^ zzY6|Hz)STBwOUWucZ2^_;y0+Murunp#}mI7#sAAo{g#)aXFt7c38e9!VuL<5;$lWS^zEq>>t`?UoEIc{iM{!_-2>k=6kD1!i(kPUtF^9tIl>~*C zgOW*6GMsa&=Wsf%M`6vN;{OV-$A602;h8Fw3QmpP*#7V#;4k&_zw{N&)q*I_@@N_l;EEd w{8NH|O7Kq!{{JgMu`vL;{`(oZVxH{f>$cC9Gz_i-003MxG&@)N7vj$U0(kI*Q2+n{ literal 0 HcmV?d00001 diff --git a/test/run-host.sh b/test/run-host.sh new file mode 100755 index 000000000..7538c237c --- /dev/null +++ b/test/run-host.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +# +# This runs a single test case from the host (not from Docker itself). The +# arguments are the same as run.sh but this wraps it in docker. + +docker run \ + --init \ + --rm \ + -v $(pwd):/src \ + --entrypoint "xvfb-run" \ + $(docker build -q .) \ + /entrypoint.sh $@ diff --git a/test/run.sh b/test/run.sh index 95620f19b..fdfc73768 100755 --- a/test/run.sh +++ b/test/run.sh @@ -19,16 +19,21 @@ function has_func() { #-------------------------------------------------------------------- # Flag parsing +ARG_UPDATE=0 while [[ "$#" -gt 0 ]]; do case $1 in -e|--exec) ARG_EXEC="$2"; shift ;; -c|--case) ARG_CASE="$2"; shift ;; -o|--output) ARG_OUT="$2"; shift ;; + -u|--update) ARG_UPDATE=1 ;; *) echo "Unknown parameter passed: $1"; exit 1 ;; esac shift done +# If we're updating, then just update the file in-place +if [ "$ARG_UPDATE" -eq 1 ]; then ARG_OUT="${ARG_CASE}.png"; fi + bad=0 if [ -z "$ARG_EXEC" ]; then bad=1; fi if [ -z "$ARG_CASE" ]; then bad=1; fi