e$B!!$5$5$@$G$9!#e(B
Yusuke ENDOH wrote:
e$B$D$$$G$K!"=PMh$?$ie(B testcase e$B$J=q$-J}$GNc$r=P$7$F$$$?$@$1$ke(B
e$B$H!"%F%9%H$K$5$/$C$HDI2C$G$-$F9,$;$G$9!#e(B
e$B$h$/$o$+$j$^$;$s$,!"e(Ba = ($&;[]); assert_equal([], a) e$B$H$+=q$1$Pe(B
e$B$$$$$s$G$7$g$&$+!#e(B
e$B!!$$$$5!2q$J$N$G$^$H$a$F$*$-$^$9!#e(B
e$B!!8=:_!"%F%9%H$r=q$/$H$3$m$,e(B Ruby
e$B$K$O$$$/$D$+$"$j$^$9!#0J2<$Ke(B
e$B;d$,CN$C$F$$$k$3$H$r=q$-$^$9$N$G;29M$K$7$F$/$@$5$$!#;d$ND4$Y$?e(B
e$BHO0O$@$1$J$N$G!“2?$+ITHw!&ITB-$,$”$l$P$4;XE&$/$@$5$$!#e(B
(1) bootstraptest/
e$BL\E*!&FCD’!'e(B
e$B!&%a%=%C%I8F$S=P$7$dB?=EBeF~$J$I!"!VF0$+$J$$$HOC$J$i$J$$!We(B
e$B!!5!G=$r%F%9%He(B
e$B!&$?$H$($P!"%3%"$NCf?H$rJQ$($?;~$J$I$KMxMQ!#$"$H!"JL$Ne(B Ruby
e$B%$e(B
e$B%s%?%W%j%?$N3+H/=i4|$J$I$KMxMQ2DG=$@$H;W$&e(B
e$B!&8e=R$Ne(B sample/test.rb e$B$N7gE@$rJd$&$?$a$KMQ0Ue(B
e$B!&%F%9%H$4$H$KJL%W%m%;%9$G<B9T$9$k$N$G!"Bg$-$J%W%m%0%i%$G$7$+e(B e$B:F8=$7$J$$%P%0!Je(BGCe$B$N%P%0$J$I!K$OH/8+$G$-$J$$$3$H$,B?$$e(B e$B!&%F%9%H$4$H$KJL%W%m%;%9$G<B9T$9$k$N$G!">uBV$rJQ$K$9$k%W%m%0%ie(B e$B%
$N%F%9%H$K$OE,$7$F$$$k!Je(BKernele$B$N%a%=%C%I:FDj5A<B83$H$+!Ke(B
e$B!&%F%9%H4IM}%W%m%0%i%`$,e(B 1 file
e$B!Je(Bbootstraptest/runner.rbe$B!K$Je(B
e$B$N$G!"4JC1$K$$$8$C$?$j$G$-$k!#e(B
e$B5-=RJ}K!!'e(B
e$B!&e(Bbootstraptest/test*.rb e$B$K5-F~e(B
e$B!&e(Bmake btest e$B$Ge(B bootstraptest/test_*.rb e$BA4It$r<B9Te(B
e$B!&e(Bassert_equal(expected, program) e$B$H5-=Re(B
e$B!&e(Bprogram e$B$OC1BN$G<B9T2DG=$J$3$He(B
e$B<B9TJ}K!!‘e(B
e$B!&e(Bmake btest OPTS=’–set foo’ e$B$G!“e(Bfoo
e$B$H$$$&%U%!%$%kL>$r<B9Te(B
e$B!&e(BBASERUBYe$B!Je(Bruby 1.8
e$B$J$I!“30It%W%m%0%i%`!K$G%F%9%H$r<B9Te(B
e$B!Je(Bdrivere$B!K!#$D$^$j!”%F%9%H$9$kB&$O?.Mj$G$-$k!J$?$V$s!Ke(B
e$B!&e(Bdriver e$B$O!”%S%k%I$7$?e(B miniruby
e$B!Je(Btargete$B!K$K!“e(Bprogram e$B$r<B9Te(B
e$B$5$;!”$=$N7k2L$re(B expected e$B$HHf3S$9$k!#e(B
e$B!&e(Btarget e$B$rJQ99$9$k$K$Oe(B OPTS e$B$Ke(B --ruby=[target]
e$B$rDI2C$9$k!#$?e(B
e$B$H$($P!"e(Bjruby e$B$r;XDj$9$l$P!"e(Bjruby e$B$Ne(B 1.9
e$B;EMM%A%’%C%/$K$J$ke(B
e$B!J$d$k$N$+$7$i$s!Ke(B
(2) sample/test.rb
e$BL\E*!&FCD’!'e(B
e$B!&=>Mh$+$i$"$C$?=hM}7O$N%F%9%H!#e(Bbootstraptest/ e$BAjEv$@$C$?!#e(B
e$B!&0l$+=j$GNc30$,5/$-$k$H!"$=$N8e<B9T$5$l$J$$$N$G!“LVMeE*$J%F%9e(B
e$B%H$K$O8~$+$J$$e(B
e$B!&$?$/$5$s5!G=$r%F%9%H$9$k$N$G!”$"[email protected]$N9b$$=hM}7O$8$ce(B
e$B$J$$$H%F%9%H$rDL$i$J$$!#$H$$$&$+!"%F%9%H$,:G8e$^$G<B9T$G$-$J$$e(B
e$B!&$J$N$G!“e(Bfailure e$B$O$”$k$,!“e(Byarv e$B$O7k9=@($$!#e(B
e$B!&@N$+$i$”$k%F%9%H$J$N$G!"%$%s%9%H!<%kA0$K$H$j$"$($:;n$9?M$,B?$$!#e(B
e$B5-=RJ}K!!'e(B
e$B!&e(Bsample/test.rb e$B$K5-F~e(B
e$B!&e(Btest_ok() e$B%a%=%C%I$NBh0l0z?t$Ke(B false e$B$,Mh$k$H<:GTe(B
e$B!&e(Btest_ok(expected == result) e$B$,%$%G%#%*%`e(B
e$B<B9TJ}K!!'e(B
e$B!&e(Bmake test e$B$G<B9Te(B
e$B!&%S%k%I$7$?e(B miniruby e$B$GA4It<B9Te(B
e$B!&e(Bminiruby e$B$J$N$G3HD%%i%$%V%i%j!Je(B.soe$B!K$,;H$($J$$!#e(B
e$B!&%S%k%I$7$?e(B miniruby
e$B$,Ie$C$F$k$H!"%F%9%H7k2L$b?.MQ$J$i$J$$$+e(B
e$B$b$7$l$J$$e(B
(3) test/
e$BL\E*!'e(B
e$B!&e(Btest/unit e$B$rMxMQ$7$?%F%9%He(B
e$B!&<g$K!“3HD%%i%$%V%i%j$d%i%$%V%i%j$N%F%9%H$J$I$KMxMQe(B
e$B!&e(Bruby e$B$N%3%”$N5!G=$K$D$$$F$N%F%9%H$bB8:_e(B
e$B!&e(Btest/unit e$B$Oe(B optparse.rb
e$B$rMxMQ$7$F$$$k$,!“e(Boptparse.rb e$B$OJQe(B
e$BBVE*$Je(B Ruby
e$B$N5!G=$r$?$/$5$s;H$C$F$$$k$N$G!”[email protected]$N9b$$e(B
Rubye$B=hM}7O$8$c$J$$$H!"$3$N%F%9%H$O<B9T$G$-$J$$e(B
e$B!&$b$A$m$s%S%k%I$7$?e(B ruby
e$B$,Ie$C$F$$$k$H7k2L$O?.MQ$G$-$J$$$,!"e(B
test/unit e$B$,<B9T$G$-$F$$$k;~E@$GBgJ,?.MQ$G$-$k$+$b$7$l$J$$!J$Ge(B
e$B$-$J$$$+$b$7$l$J$$!#<BBN83$H$7$F!#!Ke(B
e$B5-=RJ}K!!'e(B
e$B!&e(Btest/unit e$B$N5-K!$K$h$j5-=Re(B
e$B!&e(Btest/test_foo.rbe$B!"$b$7$/$Oe(B test/foo/test_.rb e$B$K5-=Re(B
e$B!&e(Bruby e$B$N%3%"5!G=$Oe(B test/ruby/test_.rb e$B$K5-=Re(B
e$B<B9TJ}K!!'e(B
e$B!&e(Bmake test-all e$B$H<B9T$9$k$H!"e(Btest/
e$B0J2<$NA4%F%9%H$,<B9T$5$l$ke(B
e$B!&e(Bmake test-all TESTS=xxx e$B$H$9$k$H!"e(Bxxx
e$B$N%F%9%H$,<B9T$5$l$ke(B
e$B!!$?$H$($P!"e(BTESTS=ruby e$B$@$H!"e(Btest/ruby/
e$B0J2<$,<B9T$5$l$ke(B
e$B!&e(BTESTS e$B$Ke(B ‘-x yyy’ e$B$H$9$k$H!“e(Byyy
e$B$H$$$&L>A0$N4^$s$@%F%9%H$,<Be(B
e$B9T$5$l$J$$!#e(B
e$B!&e(BTESTS e$B$Ke(B ‘-v’
e$B$r4^$^$;$F$*$/$H!”%F%9%H9L\$,I=<($5$l$ke(B e$B!&$=$NB>!"%*%W%7%g%s$Oe(B test/unit e$B$K=
$:$k!JB?J,!Ke(B
e$B!&%S%k%I$7$?e(B ruby e$B%W%m%0%i%`$GA4It<B9T$9$ke(B
e$B!&e(Bruby e$B$J$N$G3HD%%i%$%V%i%j!Je(B.soe$B!K$r;H$($ke(B
e$B!!$G!":#2s$N%1!<%9$re(B (1), (2), (3)
e$B$N$I$l$KJ,N$9$k$+!"$J$s$Ge(B e$B$9$,!"$"$s$^$jE}0l$7$?4p=
$,$"$j$^$;$s!#>e5-FCD’$r8+$F!"=q$-$de(B
e$B$9$$$H$3$m$,$$$$$N$+$b$7$l$^$;$s!#e(B
e$B!!$?$H$($P!“e(Bbootstraptest/test_mine.rb e$B$H$$$&%U%!%$%k$r:n$Ce(B
e$B$F!”$=$3$Ke(B assert_equal() e$B$H$7$F5-=R$7$F$*$$$F$d$j!“e(Bmake
btest
OPTS=–set=mine e$B$H$7$F<B9T$9$k$h$&$K$9$l$P!”<+J,MQ%F%9%H$,$de(B
e$B$j$d$9$$$+$b$7$l$^$;$s!#e(B
e$B!!$=$&$$$($P!":#$N%P!<%8%g%s$C$FEDCf=jM-$NLVMeE*$J%F%9%H$C$Fe(B
e$BDL$C$F$^$9!)e(B