summaryrefslogtreecommitdiff
path: root/test/ruby/test_env.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-21 05:31:38 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-21 05:31:38 +0000
commitb9c94bce7f4afd03d78d48062466aed56e6b820f (patch)
tree27b357b0810340cf4564b4ef4992d842a22d16e5 /test/ruby/test_env.rb
parente35f127403979e2b61e38402155b1e5d94910c6a (diff)
test_env.rb: fix test
* test/ruby/test_env.rb (test_win32_blocksize): fix remained size, and delete added envvars. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_env.rb')
-rw-r--r--test/ruby/test_env.rb10
1 files changed, 8 insertions, 2 deletions
diff --git a/test/ruby/test_env.rb b/test/ruby/test_env.rb
index b4c2d1f726..f6fcaace11 100644
--- a/test/ruby/test_env.rb
+++ b/test/ruby/test_env.rb
@@ -390,13 +390,19 @@ class TestEnv < Test::Unit::TestCase
if /mswin|mingw/ =~ RUBY_PLATFORM
def test_win32_blocksize
- len = 32767 - ENV.to_a.flatten.inject(0) {|r,e| r + e.size + 2 }
+ keys = []
+ len = 32767 - ENV.to_a.flatten.inject(0) {|r,e| r + e.bytesize + 1}
val = "bar" * 1000
key = nil
+ while (len -= val.size + (key="foo#{len}").size + 2) > 0
+ keys << key
+ ENV[key] = val
+ end
1.upto(12) {|i|
- ENV[key] = val while (len -= val.size + (key="foo#{len}").size + 2) > 0
assert_raise(Errno::EINVAL) { ENV[key] = val }
}
+ ensure
+ keys.each {|k| ENV.delete(k)}
end
end
end