ruby-changes:21624
From: akr <ko1@a...>
Date: Tue, 8 Nov 2011 20:51:38 +0900 (JST)
Subject: [ruby-changes:21624] akr:r33673 (trunk): * test/dbm/test_dbm.rb: split tests for read only database.
akr 2011-11-08 20:51:28 +0900 (Tue, 08 Nov 2011) New Revision: 33673 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=33673 Log: * test/dbm/test_dbm.rb: split tests for read only database. * test/gdbm/test_gdbm.rb: ditto. Modified files: trunk/ChangeLog trunk/test/dbm/test_dbm.rb trunk/test/gdbm/test_gdbm.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 33672) +++ ChangeLog (revision 33673) @@ -1,3 +1,9 @@ +Tue Nov 8 20:50:45 2011 Tanaka Akira <akr@f...> + + * test/dbm/test_dbm.rb: split tests for read only database. + + * test/gdbm/test_gdbm.rb: ditto. + Tue Nov 8 18:59:07 2011 Tanaka Akira <akr@f...> * ext/pty/pty.c (MasterDevice): define only when used. Index: test/dbm/test_dbm.rb =================================================================== --- test/dbm/test_dbm.rb (revision 33672) +++ test/dbm/test_dbm.rb (revision 33673) @@ -10,8 +10,8 @@ require 'tmpdir' require 'fileutils' - class TestDBM < Test::Unit::TestCase - def TestDBM.uname_s + class TestDBM_RDONLY < Test::Unit::TestCase + def TestDBM_RDONLY.uname_s require 'rbconfig' case RbConfig::CONFIG['target_os'] when 'cygwin' @@ -31,7 +31,6 @@ @tmpdir = Dir.mktmpdir("tmptest_dbm") @prefix = "tmptest_dbm_#{$$}" @path = "#{@tmpdir}/#{@prefix}_" - assert_instance_of(DBM, @dbm = DBM.new(@path)) # prepare to make readonly DBM file DBM.open("#{@tmpdir}/#{@prefix}_rdonly") {|dbm| @@ -43,7 +42,6 @@ assert_instance_of(DBM, @dbm_rdonly = DBM.new("#{@tmpdir}/#{@prefix}_rdonly", nil)) end def teardown - assert_nil(@dbm.close) assert_nil(@dbm_rdonly.close) ObjectSpace.each_object(DBM) do |obj| obj.close unless obj.closed? @@ -51,6 +49,32 @@ FileUtils.remove_entry_secure @tmpdir end + def test_delete_rdonly + if /^CYGWIN_9/ !~ SYSTEM + assert_raise(DBMError) { + @dbm_rdonly.delete("foo") + } + + assert_nil(@dbm_rdonly.delete("bar")) + end + end + end + + class TestDBM < Test::Unit::TestCase + def setup + @tmpdir = Dir.mktmpdir("tmptest_dbm") + @prefix = "tmptest_dbm_#{$$}" + @path = "#{@tmpdir}/#{@prefix}_" + assert_instance_of(DBM, @dbm = DBM.new(@path)) + end + def teardown + assert_nil(@dbm.close) + ObjectSpace.each_object(DBM) do |obj| + obj.close unless obj.closed? + end + FileUtils.remove_entry_secure @tmpdir + end + def check_size(expect, dbm=@dbm) assert_equal(expect, dbm.size) n = 0 @@ -322,15 +346,8 @@ assert_equal(2, @dbm.size) assert_nil(@dbm.delete(key)) + end - if /^CYGWIN_9/ !~ SYSTEM - assert_raise(DBMError) { - @dbm_rdonly.delete("foo") - } - - assert_nil(@dbm_rdonly.delete("bar")) - end - end def test_delete_with_block key = 'no called block' @dbm[key] = 'foo' Index: test/gdbm/test_gdbm.rb =================================================================== --- test/gdbm/test_gdbm.rb (revision 33672) +++ test/gdbm/test_gdbm.rb (revision 33673) @@ -10,8 +10,8 @@ require 'tmpdir' require 'fileutils' - class TestGDBM < Test::Unit::TestCase - def TestGDBM.uname_s + class TestGDBM_RDONLY < Test::Unit::TestCase + def TestGDBM_RDONLY.uname_s require 'rbconfig' case RbConfig::CONFIG['target_os'] when 'cygwin' @@ -31,7 +31,6 @@ @tmpdir = Dir.mktmpdir("tmptest_gdbm") @prefix = "tmptest_gdbm_#{$$}" @path = "#{@tmpdir}/#{@prefix}_" - assert_instance_of(GDBM, @gdbm = GDBM.new(@path)) # prepare to make readonly GDBM file GDBM.open("#{@tmpdir}/#{@prefix}_rdonly", 0400) {|gdbm| @@ -40,7 +39,6 @@ assert_instance_of(GDBM, @gdbm_rdonly = GDBM.new("#{@tmpdir}/#{@prefix}_rdonly", nil)) end def teardown - assert_nil(@gdbm.close) assert_nil(@gdbm_rdonly.close) ObjectSpace.each_object(GDBM) do |obj| obj.close unless obj.closed? @@ -48,6 +46,34 @@ FileUtils.remove_entry_secure @tmpdir end + def test_delete_rdonly + if /^CYGWIN_9/ !~ SYSTEM + assert_raise(GDBMError) { + @gdbm_rdonly.delete("foo") + } + + assert_nil(@gdbm_rdonly.delete("bar")) + end + end + end + + class TestGDBM < Test::Unit::TestCase + SYSTEM = TestGDBM_RDONLY::SYSTEM + + def setup + @tmpdir = Dir.mktmpdir("tmptest_gdbm") + @prefix = "tmptest_gdbm_#{$$}" + @path = "#{@tmpdir}/#{@prefix}_" + assert_instance_of(GDBM, @gdbm = GDBM.new(@path)) + end + def teardown + assert_nil(@gdbm.close) + ObjectSpace.each_object(GDBM) do |obj| + obj.close unless obj.closed? + end + FileUtils.remove_entry_secure @tmpdir + end + def check_size(expect, gdbm=@gdbm) assert_equal(expect, gdbm.size) n = 0 @@ -438,15 +464,8 @@ assert_equal(2, @gdbm.size) assert_nil(@gdbm.delete(key)) + end - if /^CYGWIN_9/ !~ SYSTEM - assert_raise(GDBMError) { - @gdbm_rdonly.delete("foo") - } - - assert_nil(@gdbm_rdonly.delete("bar")) - end - end def test_delete_with_block key = 'no called block' @gdbm[key] = 'foo' -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/