summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/dbm/test_dbm.rb38
-rw-r--r--test/gdbm/test_gdbm.rb38
-rw-r--r--test/sdbm/test_sdbm.rb8
3 files changed, 66 insertions, 18 deletions
diff --git a/test/dbm/test_dbm.rb b/test/dbm/test_dbm.rb
index 9d63bdf5b3..c7ca50cd09 100644
--- a/test/dbm/test_dbm.rb
+++ b/test/dbm/test_dbm.rb
@@ -87,7 +87,7 @@ if defined? DBM
end
def test_s_open_lock
return unless have_fork? # snip this test
- fork() {
+ pid = fork() {
assert_instance_of(DBM, dbm = DBM.open("tmptest_dbm", 0644))
sleep 2
}
@@ -101,7 +101,7 @@ if defined? DBM
end
}
ensure
- Process.wait
+ Process.wait pid
end
end
@@ -127,7 +127,7 @@ if defined? DBM
end
return unless have_fork? # snip this test
- fork() {
+ pid = fork() {
assert_instance_of(DBM, dbm = DBM.open("tmptest_dbm", 0644,
DBM::NOLOCK))
sleep 2
@@ -139,13 +139,13 @@ if defined? DBM
assert_instance_of(DBM, dbm2 = DBM.open("tmptest_dbm", 0644))
}
ensure
- Process.wait
+ Process.wait pid
dbm2.close if dbm2
end
p Dir.glob("tmptest_dbm*") if $DEBUG
- fork() {
+ pid = fork() {
assert_instance_of(DBM, dbm = DBM.open("tmptest_dbm", 0644))
sleep 2
}
@@ -158,7 +158,7 @@ if defined? DBM
DBM::NOLOCK))
}
ensure
- Process.wait
+ Process.wait pid
dbm2.close if dbm2
end
end
@@ -590,8 +590,32 @@ if defined? DBM
FileUtils.rm_rf TMPROOT if File.directory?(TMPROOT)
end
+ def test_reader_open_notexist
+ assert_raise(Errno::ENOENT) {
+ DBM.open("#{TMPROOT}/a", 0666, DBM::READER)
+ }
+ end
+
+ def test_writer_open_notexist
+ assert_raise(Errno::ENOENT) {
+ DBM.open("#{TMPROOT}/a", 0666, DBM::WRITER)
+ }
+ end
+
+ def test_wrcreat_open_notexist
+ v = DBM.open("#{TMPROOT}/a", 0666, DBM::WRCREAT)
+ assert_instance_of(DBM, v)
+ v.close
+ end
+
+ def test_newdb_open_notexist
+ v = DBM.open("#{TMPROOT}/a", 0666, DBM::NEWDB)
+ assert_instance_of(DBM, v)
+ v.close
+ end
+
def test_reader_open
- DBM.open("#{TMPROOT}/a") {}
+ DBM.open("#{TMPROOT}/a") {} # create a db.
v = DBM.open("#{TMPROOT}/a", nil, DBM::READER) {|d|
# Errno::EPERM is raised on Solaris which use ndbm.
# DBMError is raised on Debian which use gdbm.
diff --git a/test/gdbm/test_gdbm.rb b/test/gdbm/test_gdbm.rb
index 307cd1c3da..db4a656436 100644
--- a/test/gdbm/test_gdbm.rb
+++ b/test/gdbm/test_gdbm.rb
@@ -118,7 +118,7 @@ if defined? GDBM
end
def test_s_open_lock
return unless have_fork? # snip this test
- fork() {
+ pid = fork() {
assert_instance_of(GDBM, gdbm = GDBM.open("tmptest_gdbm", 0644))
sleep 2
}
@@ -132,7 +132,7 @@ if defined? GDBM
end
}
ensure
- Process.wait
+ Process.wait pid
end
end
@@ -158,7 +158,7 @@ if defined? GDBM
end
return unless have_fork? # snip this test
- fork() {
+ pid = fork() {
assert_instance_of(GDBM, gdbm = GDBM.open("tmptest_gdbm", 0644,
GDBM::NOLOCK))
sleep 2
@@ -170,13 +170,13 @@ if defined? GDBM
assert_instance_of(GDBM, gdbm2 = GDBM.open("tmptest_gdbm", 0644))
}
ensure
- Process.wait
+ Process.wait pid
gdbm2.close if gdbm2
end
p Dir.glob("tmptest_gdbm*") if $DEBUG
- fork() {
+ pid = fork() {
assert_instance_of(GDBM, gdbm = GDBM.open("tmptest_gdbm", 0644))
sleep 2
}
@@ -189,7 +189,7 @@ if defined? GDBM
GDBM::NOLOCK))
}
ensure
- Process.wait
+ Process.wait pid
gdbm2.close if gdbm2
end
end
@@ -660,8 +660,32 @@ if defined? GDBM
FileUtils.rm_rf TMPROOT if File.directory?(TMPROOT)
end
+ def test_reader_open_notexist
+ assert_raise(Errno::ENOENT) {
+ GDBM.open("#{TMPROOT}/a", 0666, GDBM::READER)
+ }
+ end
+
+ def test_writer_open_notexist
+ assert_raise(Errno::ENOENT) {
+ GDBM.open("#{TMPROOT}/a", 0666, GDBM::WRITER)
+ }
+ end
+
+ def test_wrcreat_open_notexist
+ v = GDBM.open("#{TMPROOT}/a", 0666, GDBM::WRCREAT)
+ assert_instance_of(GDBM, v)
+ v.close
+ end
+
+ def test_newdb_open_notexist
+ v = GDBM.open("#{TMPROOT}/a", 0666, GDBM::NEWDB)
+ assert_instance_of(GDBM, v)
+ v.close
+ end
+
def test_reader_open
- GDBM.open("#{TMPROOT}/a.dbm") {}
+ GDBM.open("#{TMPROOT}/a.dbm") {} # create a db.
v = GDBM.open("#{TMPROOT}/a.dbm", nil, GDBM::READER) {|d|
assert_raises(GDBMError) { d["k"] = "v" }
true
diff --git a/test/sdbm/test_sdbm.rb b/test/sdbm/test_sdbm.rb
index 3cc75bf23c..09062d311f 100644
--- a/test/sdbm/test_sdbm.rb
+++ b/test/sdbm/test_sdbm.rb
@@ -81,7 +81,7 @@ class TestSDBM < Test::Unit::TestCase
end
return unless have_fork? # snip this test
- fork() {
+ pid = fork() {
assert_instance_of(SDBM, sdbm = SDBM.open("tmptest_sdbm", 0644,
SDBM::NOLOCK))
sleep 2
@@ -93,13 +93,13 @@ class TestSDBM < Test::Unit::TestCase
assert_instance_of(SDBM, sdbm2 = SDBM.open("tmptest_sdbm", 0644))
}
ensure
- Process.wait
+ Process.wait pid
sdbm2.close if sdbm2
end
p Dir.glob("tmptest_sdbm*") if $DEBUG
- fork() {
+ pid = fork() {
assert_instance_of(SDBM, sdbm = SDBM.open("tmptest_sdbm", 0644))
sleep 2
}
@@ -112,7 +112,7 @@ class TestSDBM < Test::Unit::TestCase
SDBM::NOLOCK))
}
ensure
- Process.wait
+ Process.wait pid
sdbm2.close if sdbm2
end
end