diff options
author | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-01-06 02:34:24 +0000 |
---|---|---|
committer | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-01-06 02:34:24 +0000 |
commit | 5b5384f6de2e08986bf9d0ea15827573b8506dd1 (patch) | |
tree | a3cd5ab3ba1d5fb8ca8e4341c3d2e4bcb67e44e3 /test | |
parent | 21f32101fa805273d531a836774ac0d4f77a1820 (diff) | |
download | ruby-5b5384f6de2e08986bf9d0ea15827573b8506dd1.tar.gz ruby-5b5384f6de2e08986bf9d0ea15827573b8506dd1.tar.xz ruby-5b5384f6de2e08986bf9d0ea15827573b8506dd1.zip |
* 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: http://svn.ruby-lang.org/repos/ruby/trunk@5385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/inlinetest.rb | 52 | ||||
-rw-r--r-- | test/test_generator.rb | 4 | ||||
-rw-r--r-- | test/test_ipaddr.rb | 4 | ||||
-rw-r--r-- | test/test_pathname.rb | 4 | ||||
-rw-r--r-- | test/test_pp.rb | 4 | ||||
-rw-r--r-- | test/test_prettyprint.rb | 4 | ||||
-rw-r--r-- | test/test_set.rb | 4 | ||||
-rw-r--r-- | test/test_time.rb | 4 | ||||
-rw-r--r-- | test/test_tsort.rb | 4 |
9 files changed, 84 insertions, 0 deletions
diff --git a/test/inlinetest.rb b/test/inlinetest.rb new file mode 100644 index 000000000..cd1ee0c68 --- /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 000000000..2db04787f --- /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 000000000..2db04787f --- /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 000000000..ef4da4638 --- /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 000000000..ef4da4638 --- /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 000000000..ef4da4638 --- /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 000000000..2db04787f --- /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 000000000..ef4da4638 --- /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 000000000..ef4da4638 --- /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) |