aboutsummaryrefslogtreecommitdiffstats
path: root/test/inlinetest.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/inlinetest.rb')
-rw-r--r--test/inlinetest.rb16
1 files changed, 6 insertions, 10 deletions
diff --git a/test/inlinetest.rb b/test/inlinetest.rb
index 6b9fdd1dda..6dbd793f10 100644
--- a/test/inlinetest.rb
+++ b/test/inlinetest.rb
@@ -4,7 +4,7 @@ module InlineTest
program = File.open(path) { |f| f.read }
mainpart, endpart = program.split(sep)
if endpart.nil?
- raise RuntimeError.new("No #{part} part in the library '#{filename}'")
+ raise RuntimeError.new("No #{part} part in the library '#{path}'")
end
eval(endpart, TOPLEVEL_BINDING, path, mainpart.count("\n")+1)
end
@@ -22,18 +22,14 @@ module InlineTest
def loadtest__END__part(libname)
require(libname)
- eval_part(libname, /^__END__$/, '__END__')
+ eval_part(libname, /^__END__\r?$/, '__END__')
end
module_function :loadtest__END__part
- def self.in_critical
- th_criticality = Thread.critical
- Thread.critical = true
- begin
- yield
- ensure
- Thread.critical = th_criticality
- end
+ @mutex = Mutex.new
+
+ def self.in_critical(&block)
+ @mutex.synchronize(&block)
end
def self.in_progname(progname)