1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* test/dbm/test_dbm.rb: split tests for read only database.

* test/gdbm/test_gdbm.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2011-11-08 11:51:28 +00:00
parent c2c0707949
commit ddb9acd9f8
3 changed files with 66 additions and 24 deletions

View file

@ -1,3 +1,9 @@
Tue Nov 8 20:50:45 2011 Tanaka Akira <akr@fsij.org>
* 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@fsij.org>
* ext/pty/pty.c (MasterDevice): define only when used.

View file

@ -10,8 +10,8 @@ if defined? DBM
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 @@ if defined? DBM
@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 @@ if defined? DBM
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 @@ if defined? DBM
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 @@ if defined? DBM
assert_equal(2, @dbm.size)
assert_nil(@dbm.delete(key))
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'

View file

@ -10,8 +10,8 @@ if defined? GDBM
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 @@ if defined? GDBM
@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 @@ if defined? GDBM
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 @@ if defined? GDBM
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 @@ if defined? GDBM
assert_equal(2, @gdbm.size)
assert_nil(@gdbm.delete(key))
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'