Hi,

2010/9/13 Nobuyoshi Nakada <nobu / ruby-lang.org>:
> Hi,
>
> At Mon, 13 Sep 2010 12:05:11 +0900,
> Heesob Park wrote in [ruby-core:32353]:
>> ENV.delete raises Invalid argument Exception on Windows.
>>
>> The error is due to trying SetEnvironmentVariable even if putenv succeeded.
>
> Does test/ruby/test_env.rb fail now? I can't check it now.
>
On Windows XP Home SP3:
Test run options: --seed 1488

Loaded suite test_env
Started
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
Finished in 0.156250 seconds.

  1) Error:
test_aset(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

  2) Error:
test_assoc(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

  3) Error:
test_bracket(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:11:in `delete'
    test_env.rb:11:in `setup'

  4) Error:
test_bracket(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

  5) Error:
test_clear(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:223:in `clear'
    test_env.rb:223:in `test_clear'

  6) Error:
test_clear(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

  7) Failure:
test_delete(TestEnv) [test_env.rb:92]:
Exception raised:
<#<Errno::EINVAL: Invalid argument - ruby_setenv>>.

  8) Error:
test_delete(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

  9) Error:
test_each_key(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 10) Error:
test_each_pair(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 11) Error:
test_each_value(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 12) Error:
test_empty_p(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:269:in `clear'
    test_env.rb:269:in `test_empty_p'

 13) Error:
test_empty_p(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 14) Error:
test_fetch(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:104:in `delete'
    test_env.rb:104:in `test_fetch'

 15) Error:
test_fetch(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 16) Error:
test_getenv(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 17) Error:
test_has_key(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 18) Error:
test_has_value(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:11:in `delete'
    test_env.rb:11:in `setup'

 19) Error:
test_has_value(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 20) Error:
test_has_value2(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:297:in `clear'
    test_env.rb:297:in `test_has_value2'

 21) Error:
test_has_value2(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 22) Error:
test_huge_value(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 23) Error:
test_inspect(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:232:in `clear'
    test_env.rb:232:in `test_inspect'

 24) Error:
test_inspect(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 25) Error:
test_invert(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:352:in `clear'
    test_env.rb:352:in `test_invert'

 26) Error:
test_invert(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 27) Error:
test_key(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 28) Error:
test_keys(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:11:in `delete'
    test_env.rb:11:in `setup'

 29) Error:
test_keys(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 30) Error:
test_rassoc(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:304:in `clear'
    test_env.rb:304:in `test_rassoc'

 31) Error:
test_rassoc(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 32) Error:
test_rehash(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 33) Error:
test_reject(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 34) Error:
test_reject_bang(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:11:in `delete'
    test_env.rb:11:in `setup'

 35) Error:
test_reject_bang(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 36) Error:
test_replace(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:360:in `replace'
    test_env.rb:360:in `test_replace'

 37) Error:
test_replace(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 38) Error:
test_select(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 39) Error:
test_select_bang(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:11:in `delete'
    test_env.rb:11:in `setup'

 40) Error:
test_select_bang(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 41) Error:
test_shift(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:342:in `clear'
    test_env.rb:342:in `test_shift'

 42) Error:
test_shift(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 43) Error:
test_size(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 44) Error:
test_to_a(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:11:in `delete'
    test_env.rb:11:in `setup'

 45) Error:
test_to_a(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 46) Error:
test_to_hash(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 47) Error:
test_to_s(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 48) Error:
test_update(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:365:in `clear'
    test_env.rb:365:in `test_update'

 49) Error:
test_update(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 50) Error:
test_values(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

 51) Error:
test_values_at(TestEnv):
Errno::EINVAL: Invalid argument - ruby_setenv
    test_env.rb:17:in `clear'
    test_env.rb:17:in `teardown'

34 tests, 209 assertions, 1 failures, 50 errors, 0 skips

Test run options: --seed 1488


---------------------------------------------------------------------------------
BTW, On Windows 7, it works fine:

Test run options: --seed 34498

Loaded suite test_env
Started
..................................
Finished in 0.454000 seconds.

34 tests, 391 assertions, 0 failures, 0 errors, 0 skips

Test run options: --seed 34498


Regards,
Park Heesob