summaryrefslogtreecommitdiff
path: root/test/gdbm/test_gdbm.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/gdbm/test_gdbm.rb')
-rw-r--r--test/gdbm/test_gdbm.rb33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/gdbm/test_gdbm.rb b/test/gdbm/test_gdbm.rb
new file mode 100644
index 0000000000..a4bddfe078
--- /dev/null
+++ b/test/gdbm/test_gdbm.rb
@@ -0,0 +1,33 @@
+require 'test/unit/testsuite'
+require 'test/unit/testcase'
+
+begin
+ require 'gdbm'
+rescue LoadError
+end
+
+if defined? GDBM
+ require 'tmpdir'
+ require 'fileutils'
+
+ class TestGDBM < Test::Unit::TestCase
+ TMPROOT = "#{Dir.tmpdir}/ruby-gdbm.#{$$}"
+
+ def setup
+ Dir.mkdir TMPROOT
+ end
+
+ def teardown
+ FileUtils.rm_rf TMPROOT if File.directory?(TMPROOT)
+ end
+
+ def test_open
+ GDBM.open("#{TMPROOT}/a.dbm") {}
+ v = GDBM.open("#{TMPROOT}/a.dbm", nil, GDBM::READER) {|d|
+ assert_raises(GDBMError) { d["k"] = "v" }
+ true
+ }
+ assert(v)
+ end
+ end
+end