diff options
author | Tim Peters <tim.peters@gmail.com> | 2003-07-11 04:09:09 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2003-07-11 04:09:09 (GMT) |
commit | 663d1b61cb1a69671dc5b831681d416e4b76a72d (patch) | |
tree | 5335bf9a649d3e3bbddf37ff86a99190e354c28b | |
parent | e7f343d0f1b72cffa9d8dcc123606ade769ebfd3 (diff) | |
download | cpython-663d1b61cb1a69671dc5b831681d416e4b76a72d.zip cpython-663d1b61cb1a69671dc5b831681d416e4b76a72d.tar.gz cpython-663d1b61cb1a69671dc5b831681d416e4b76a72d.tar.bz2 |
Added a new randomized test.
-rw-r--r-- | Lib/test/test_dumbdbm.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Lib/test/test_dumbdbm.py b/Lib/test/test_dumbdbm.py index 4d1bc0e..08474f7 100644 --- a/Lib/test/test_dumbdbm.py +++ b/Lib/test/test_dumbdbm.py @@ -86,6 +86,34 @@ class DumbDBMTestCase(unittest.TestCase): self.assertEqual(keys, dkeys) return keys + # Perform randomized operations. This doesn't make assumptions about + # what *might* fail. + def test_random(self): + import random + d = {} # mirror the database + for dummy in range(5): + f = dumbdbm.open(_fname) + for dummy in range(100): + k = random.choice('abcdefghijklm') + if random.random() < 0.2: + if k in d: + del d[k] + del f[k] + else: + v = random.choice('abc') * random.randrange(10000) + d[k] = v + f[k] = v + self.assertEqual(f[k], v) + f.close() + + f = dumbdbm.open(_fname) + expected = d.items() + expected.sort() + got = f.items() + got.sort() + self.assertEqual(expected, got) + f.close() + def tearDown(self): _delete_files() |