From 79c0e644a175754540399ff2148f3fdb5c998339 Mon Sep 17 00:00:00 2001 From: nahi Date: Tue, 6 Jan 2004 02:34:24 +0000 Subject: * test/inlinetest.rb, test/{test_generator.rb,test_ipaddr.rb, test_pathname.rb,test_pp.rb,test_prettyprint.rb,test_set.rb, test_time.rb,test_tsort.rb: added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/inlinetest.rb | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ test/test_generator.rb | 4 ++++ test/test_ipaddr.rb | 4 ++++ test/test_pathname.rb | 4 ++++ test/test_pp.rb | 4 ++++ test/test_prettyprint.rb | 4 ++++ test/test_set.rb | 4 ++++ test/test_time.rb | 4 ++++ test/test_tsort.rb | 4 ++++ 9 files changed, 84 insertions(+) create mode 100644 test/inlinetest.rb create mode 100644 test/test_generator.rb create mode 100644 test/test_ipaddr.rb create mode 100644 test/test_pathname.rb create mode 100644 test/test_pp.rb create mode 100644 test/test_prettyprint.rb create mode 100644 test/test_set.rb create mode 100644 test/test_time.rb create mode 100644 test/test_tsort.rb (limited to 'test') diff --git a/test/inlinetest.rb b/test/inlinetest.rb new file mode 100644 index 0000000000..cd1ee0c683 --- /dev/null +++ b/test/inlinetest.rb @@ -0,0 +1,52 @@ +module InlineTest + def loadtest(libname) + in_critical do + in_progname(libpath(libname)) do + Kernel.load(libname) + end + end + end + module_function :loadtest + + def loadtest__END__part(libname) + program = File.open(libpath(libname)) { |f| f.read } + mainpart, endpart = program.split(/^__END__$/) + if endpart.nil? + raise RuntimeError.new("No __END__ part in the library '#{filename}'") + end + require(libname) + eval(endpart) + 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 + end + + def self.in_progname(progname) + progname_backup = $0.dup + $0.replace(progname) + begin + yield + ensure + $0.replace(progname_backup) + end + end + + def self.libpath(libname) + libpath = nil + $:.find do |path| + File.file?(testname = File.join(path, libname)) && libpath = testname + end + if libpath.nil? + raise RuntimeError.new("'#{libname}' not found") + end + libpath + end +end diff --git a/test/test_generator.rb b/test/test_generator.rb new file mode 100644 index 0000000000..2db04787f1 --- /dev/null +++ b/test/test_generator.rb @@ -0,0 +1,4 @@ +require 'pathname' +require Pathname.new(__FILE__).parent.join('inlinetest.rb') +target = __FILE__.scan(/test_(.*\.rb)$/)[0][0] +InlineTest.loadtest__END__part(target) diff --git a/test/test_ipaddr.rb b/test/test_ipaddr.rb new file mode 100644 index 0000000000..2db04787f1 --- /dev/null +++ b/test/test_ipaddr.rb @@ -0,0 +1,4 @@ +require 'pathname' +require Pathname.new(__FILE__).parent.join('inlinetest.rb') +target = __FILE__.scan(/test_(.*\.rb)$/)[0][0] +InlineTest.loadtest__END__part(target) diff --git a/test/test_pathname.rb b/test/test_pathname.rb new file mode 100644 index 0000000000..ef4da4638c --- /dev/null +++ b/test/test_pathname.rb @@ -0,0 +1,4 @@ +require 'pathname' +require Pathname.new(__FILE__).parent.join('inlinetest.rb') +target = __FILE__.scan(/test_(.*\.rb)$/)[0][0] +InlineTest.loadtest(target) diff --git a/test/test_pp.rb b/test/test_pp.rb new file mode 100644 index 0000000000..ef4da4638c --- /dev/null +++ b/test/test_pp.rb @@ -0,0 +1,4 @@ +require 'pathname' +require Pathname.new(__FILE__).parent.join('inlinetest.rb') +target = __FILE__.scan(/test_(.*\.rb)$/)[0][0] +InlineTest.loadtest(target) diff --git a/test/test_prettyprint.rb b/test/test_prettyprint.rb new file mode 100644 index 0000000000..ef4da4638c --- /dev/null +++ b/test/test_prettyprint.rb @@ -0,0 +1,4 @@ +require 'pathname' +require Pathname.new(__FILE__).parent.join('inlinetest.rb') +target = __FILE__.scan(/test_(.*\.rb)$/)[0][0] +InlineTest.loadtest(target) diff --git a/test/test_set.rb b/test/test_set.rb new file mode 100644 index 0000000000..2db04787f1 --- /dev/null +++ b/test/test_set.rb @@ -0,0 +1,4 @@ +require 'pathname' +require Pathname.new(__FILE__).parent.join('inlinetest.rb') +target = __FILE__.scan(/test_(.*\.rb)$/)[0][0] +InlineTest.loadtest__END__part(target) diff --git a/test/test_time.rb b/test/test_time.rb new file mode 100644 index 0000000000..ef4da4638c --- /dev/null +++ b/test/test_time.rb @@ -0,0 +1,4 @@ +require 'pathname' +require Pathname.new(__FILE__).parent.join('inlinetest.rb') +target = __FILE__.scan(/test_(.*\.rb)$/)[0][0] +InlineTest.loadtest(target) diff --git a/test/test_tsort.rb b/test/test_tsort.rb new file mode 100644 index 0000000000..ef4da4638c --- /dev/null +++ b/test/test_tsort.rb @@ -0,0 +1,4 @@ +require 'pathname' +require Pathname.new(__FILE__).parent.join('inlinetest.rb') +target = __FILE__.scan(/test_(.*\.rb)$/)[0][0] +InlineTest.loadtest(target) -- cgit v1.2.3