This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: test_dumbdbm failing
Type: Stage:
Components: Library (Lib) Versions: Python 2.4
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: loewis Nosy List: brett.cannon, loewis, rhettinger
Priority: normal Keywords:

Created on 2003-09-05 02:02 by brett.cannon, last changed 2022-04-10 16:11 by admin. This issue is now closed.

Messages (3)
msg18065 - (view) Author: Brett Cannon (brett.cannon) * (Python committer) Date: 2003-09-05 02:02
Getting the following failures:

test_close_twice (__main__.DumbDBMTestCase) ... ok
test_dumbdbm_creation (__main__.DumbDBMTestCase) ... 
ok
test_dumbdbm_keys (__main__.DumbDBMTestCase) ... 
ERROR
test_dumbdbm_modification (__main__.DumbDBMTestCase) 
... ERROR
test_dumbdbm_read (__main__.DumbDBMTestCase) ... 
ERROR
test_random (__main__.DumbDBMTestCase) ... ERROR
test_write_write_read (__main__.DumbDBMTestCase) ... 
ERROR


They all error out with the same problem:

Traceback (most recent call last):
  File "Lib/test/test_dumbdbm.py", line 73, in 
test_write_write_read
    f = dumbdbm.open(_fname)
  File "/Users/drifty/Progs/Python/CVS/python/dist/src/Lib/
dumbdbm.py", line 232, in open
    return _Database(file, mode)
  File "/Users/drifty/Progs/Python/CVS/python/dist/src/Lib/
dumbdbm.py", line 73, in __init__
    self._update()
  File "/Users/drifty/Progs/Python/CVS/python/dist/src/Lib/
dumbdbm.py", line 84, in _update
    key, pos_and_siz_pair = eval(line)
TypeError: expected string without null bytes


test_whichdb is also failing for essentially the same reason 
although it is hidden under some executed code:

test_whichdb_dbm (__main__.WhichDBTestCase) ... ok
test_whichdb_dumbdbm (__main__.WhichDBTestCase) ... 
FAIL

=====================================
=================================
FAIL: test_whichdb_dumbdbm (__main__.WhichDBTestCase)
--------------------------------------------------------------------
--
Traceback (most recent call last):
  File "Lib/test/test_whichdb.py", line 56, in 
test_whichdb_name
    self.assertEqual(name, whichdb.whichdb(_fname))
  File "/Users/drifty/Progs/Python/CVS/python/dist/src/Lib/
unittest.py", line 292, in failUnlessEqual
    raise self.failureException, \
AssertionError: 'dumbdbm' != None


If I run the test by hand by copy-n-paste in the interpreter I 
get the same error as above about null bytes.

Now I compile with --enable-unicode=ucs4, if that has 
anything to do with it.

This is all on OS X 10.2.6 .
msg18066 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2003-09-06 04:52
Logged In: YES 
user_id=80475

Martin, this appears to be caused by your recent patch to 
fileobject.c and fileobject.h.

FYI, it only fails when run with python_d.
msg18067 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2003-09-07 20:44
Logged In: YES 
user_id=21627

This is now fixed in fileobject.c 2.183 and 2.179.8.2.

The bug was triggered by a bug in dumbdbm: the mode argument
does not actually define the file mode, but the buffer size...
History
Date User Action Args
2022-04-10 16:11:00adminsetgithub: 39184
2003-09-05 02:02:12brett.cannoncreate