From: Nasir Khan Date: 2007-07-07T07:00:42+09:00 Subject: Re: Weird test/unit behavior ------=_Part_100690_33217491.1183759244410 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Ah Gotcha! It is a side effect of having commandline arguments. ARGV is also used by autorunner.rb. using shift in run2.rb clears the ARGV array. On 7/6/07, Nasir Khan wrote: > > Consider a simple test - > > my_test.rb: > ---------------------------------------- > require 'test/unit' > > class MyTest < Test::Unit::TestCase > > def test1 > assert(true) > end > > end > ---------------------------------------- > > Now consider a simple script to run this. > > run2.rb: > ---------------------------------------- > if ARGV.length == 0 > puts "usage run testfile" > else > type = ARGV.shift > if type == "-t" > f = ARGV.shift > load f > end > end > ---------------------------------------- > > So if you run it then you get the expected result. > > run2 -t my_test.rb > Loaded suite ~sparkle:/nasir/misc/test/run2 > Started > . > Finished in 0.0 seconds. > > 1 tests, 1 assertions, 0 failures, 0 errors > > > But now consider another script to run the same test. > > run1.rb: > -------------------------------------------- > D:\nasir\misc\test>cat run1.rb > if ARGV.length == 0 > puts "usage: run testfile" > else > ARGV.each_with_index do |arg, i| > if arg == "-t" > load ARGV[i+1] > end > end > end > -------------------------------------------- > > When you run it the testcase is loaded alright but it doesnt run! > > run1.rb -t my_test.rb > Loaded suite ~sparkle:/nasir/misc/test/run1 > Started > > Finished in 0.0 seconds. > > 0 tests, 0 assertions, 0 failures, 0 errors > > ------ > > Apparently the testsuite is not run/loaded in this case. > > Any help in finding out what is going on is appreciated. > > - nasir > ------=_Part_100690_33217491.1183759244410--