# ARGV is set to nil in ruby 1.8.5 when using test/unit

**URL:** <https://www.ruby-forum.com/t/argv-is-set-to-nil-in-ruby-1-8-5-when-using-test-unit/67609>\
**Category:** Ruby\
**Created:** [September 5, 2006, 5:03pm UTC](https://www.ruby-forum.com/t/argv-is-set-to-nil-in-ruby-1-8-5-when-using-test-unit/67609 "2006-09-05T17:03:00Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Gunnar\_Gauslaa\_Berg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e47c2d/32.png) [@Gunnar\_Gauslaa\_Berg](https://www.ruby-forum.com/u/Gunnar_Gauslaa_Berg)\
**Post date:** [September 5, 2006, 5:03pm UTC](https://www.ruby-forum.com/t/argv-is-set-to-nil-in-ruby-1-8-5-when-using-test-unit/67609/1 "2006-09-05T17:03:00Z")

</div>

Could anyone please explain what is going on here? Our test/unit scripts  
suddenly stopped working properly when upgrading to 1.8.5 from 1.8.4.

Example script:  
require ‘test/unit’

class TestArgv \< Test::Unit::TestCase

def test\_argv  
puts “test\_argv: #{ARGV[0]}”  
puts ARGV[0].nil?  
end  
end

Running on 1.8.4:

$ ruby -v  
ruby 1.8.4 (2005-12-24) [i386-freebsd4]

$ ruby test\_argv.rb randomarg  
Loaded suite test\_argv  
Started  
test\_argv: randomarg  
false  
.  
Finished in 0.00055 seconds.

1 tests, 0 assertions, 0 failures, 0 errors

Running on 1.8.5:

$ ruby -v  
ruby 1.8.5 (2006-08-25) [i386-freebsd4.10]

$ ruby test\_argv.rb randomarg  
Loaded suite test\_argv  
Started  
test\_argv:  
true  
.  
Finished in 0.000506 seconds.

1 tests, 0 assertions, 0 failures, 0 errors

Any help or pointers would be greatly appreaciated.

---

<div class="post-metadata">

**Author:** ![Gunnar\_Gauslaa\_Berg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e47c2d/32.png) [@Gunnar\_Gauslaa\_Berg](https://www.ruby-forum.com/u/Gunnar_Gauslaa_Berg)\
**Post date:** [September 6, 2006, 1:11pm UTC](https://www.ruby-forum.com/t/argv-is-set-to-nil-in-ruby-1-8-5-when-using-test-unit/67609/2 "2006-09-06T13:11:45Z")

</div>

Hello

You should put – in front of your args. The args before the – go to  
Test::Unit.

It looks like the unknown args are consumed in 1.8.5 but left intact in  
1.8.4.

Prefixing with – works the same in both.

Thanks

Michal
