mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* test/dbm/test_dbm.rb: remove locking test, which may not be
supported on some platforms. [ruby-dev:27030] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
86f0a80d7d
commit
757f06fdc7
1 changed files with 0 additions and 77 deletions
|
@ -85,83 +85,6 @@ if defined? DBM
|
||||||
def test_s_open_with_block
|
def test_s_open_with_block
|
||||||
assert_equal(DBM.open("tmptest_dbm") { :foo }, :foo)
|
assert_equal(DBM.open("tmptest_dbm") { :foo }, :foo)
|
||||||
end
|
end
|
||||||
def test_s_open_lock
|
|
||||||
return unless have_fork? # snip this test
|
|
||||||
pid = fork() {
|
|
||||||
assert_instance_of(DBM, dbm = DBM.open("tmptest_dbm", 0644))
|
|
||||||
sleep 2
|
|
||||||
}
|
|
||||||
begin
|
|
||||||
sleep 1
|
|
||||||
assert_raise(Errno::EWOULDBLOCK, "NEVER MIND IF YOU USE Berkeley DB3") {
|
|
||||||
begin
|
|
||||||
assert_instance_of(DBM, dbm2 = DBM.open("tmptest_dbm", 0644))
|
|
||||||
rescue Errno::EAGAIN, Errno::EACCES, Errno::EINVAL
|
|
||||||
raise Errno::EWOULDBLOCK
|
|
||||||
end
|
|
||||||
}
|
|
||||||
ensure
|
|
||||||
Process.wait pid
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
=begin
|
|
||||||
# Is it guaranteed on many OS?
|
|
||||||
def test_s_open_lock_one_process
|
|
||||||
# locking on one process
|
|
||||||
assert_instance_of(DBM, dbm = DBM.open("tmptest_dbm", 0644))
|
|
||||||
assert_raise(Errno::EWOULDBLOCK) {
|
|
||||||
begin
|
|
||||||
DBM.open("tmptest_dbm", 0644)
|
|
||||||
rescue Errno::EAGAIN
|
|
||||||
raise Errno::EWOULDBLOCK
|
|
||||||
end
|
|
||||||
}
|
|
||||||
end
|
|
||||||
=end
|
|
||||||
|
|
||||||
def test_s_open_nolock
|
|
||||||
# dbm 1.8.0 specific
|
|
||||||
if not defined? DBM::NOLOCK
|
|
||||||
return
|
|
||||||
end
|
|
||||||
return unless have_fork? # snip this test
|
|
||||||
|
|
||||||
pid = fork() {
|
|
||||||
assert_instance_of(DBM, dbm = DBM.open("tmptest_dbm", 0644,
|
|
||||||
DBM::NOLOCK))
|
|
||||||
sleep 2
|
|
||||||
}
|
|
||||||
sleep 1
|
|
||||||
begin
|
|
||||||
dbm2 = nil
|
|
||||||
assert_no_exception(Errno::EWOULDBLOCK, Errno::EAGAIN, Errno::EACCES) {
|
|
||||||
assert_instance_of(DBM, dbm2 = DBM.open("tmptest_dbm", 0644))
|
|
||||||
}
|
|
||||||
ensure
|
|
||||||
Process.wait pid
|
|
||||||
dbm2.close if dbm2
|
|
||||||
end
|
|
||||||
|
|
||||||
p Dir.glob("tmptest_dbm*") if $DEBUG
|
|
||||||
|
|
||||||
pid = fork() {
|
|
||||||
assert_instance_of(DBM, dbm = DBM.open("tmptest_dbm", 0644))
|
|
||||||
sleep 2
|
|
||||||
}
|
|
||||||
begin
|
|
||||||
sleep 1
|
|
||||||
dbm2 = nil
|
|
||||||
assert_no_exception(Errno::EWOULDBLOCK, Errno::EAGAIN, Errno::EACCES) {
|
|
||||||
# this test is failed on Cygwin98 (???)
|
|
||||||
assert_instance_of(DBM, dbm2 = DBM.open("tmptest_dbm", 0644,
|
|
||||||
DBM::NOLOCK))
|
|
||||||
}
|
|
||||||
ensure
|
|
||||||
Process.wait pid
|
|
||||||
dbm2.close if dbm2
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_s_open_error
|
def test_s_open_error
|
||||||
assert_instance_of(DBM, dbm = DBM.open("tmptest_dbm", 0))
|
assert_instance_of(DBM, dbm = DBM.open("tmptest_dbm", 0))
|
||||||
|
|
Loading…
Reference in a new issue