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:
parent
c2c0707949
commit
ddb9acd9f8
3 changed files with 66 additions and 24 deletions
|
@ -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.
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
Loading…
Reference in a new issue