diff options
Diffstat (limited to 'jni/ruby/bootstraptest/test_load.rb')
-rw-r--r-- | jni/ruby/bootstraptest/test_load.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/jni/ruby/bootstraptest/test_load.rb b/jni/ruby/bootstraptest/test_load.rb new file mode 100644 index 0000000..e63c93a --- /dev/null +++ b/jni/ruby/bootstraptest/test_load.rb @@ -0,0 +1,27 @@ +assert_equal 'ok', %q{ + open("require-lock-test.rb", "w") {|f| + f.puts "sleep 0.1" + f.puts "module M" + f.puts "end" + } + $:.unshift Dir.pwd + vs = (1..2).map {|i| + Thread.start { + require "require-lock-test" + M + } + }.map {|t| t.value } + vs[0] == M && vs[1] == M ? :ok : :ng +}, '[ruby-dev:32048]' + +assert_equal 'ok', %q{ + %w[a a/foo b].each {|d| Dir.mkdir(d)} + open("b/foo", "w") {|f| f.puts "$ok = :ok"} + $:.replace(%w[a b]) + begin + load "foo" + $ok + rescue => e + e.message + end +}, '[ruby-dev:38097]' |