Index: Lib/test/test_gdbm.py =================================================================== --- Lib/test/test_gdbm.py (revision 71505) +++ Lib/test/test_gdbm.py (working copy) @@ -17,6 +17,18 @@ self.g.close() unlink(filename) + def test_iter(self): + self.d = gdbm.open(filename, 'c') + a = [('a', 'b'), ('c', 'd')] + for k, v in a: + self.d[k] = v + # An iterator always starts with the first element. + self.assertEqual(sorted((k, self.d[k]) for k in self.d), sorted(a)) + self.assertEqual(sorted((k, self.d[k]) for k in self.d), sorted(a)) + for k in self.d: + break + self.assertEqual(sorted((k, self.d[k]) for k in self.d), sorted(a)) + def test_key_methods(self): self.g = gdbm.open(filename, 'c') self.assertEqual(self.g.keys(), []) Index: Lib/test/test_dbm.py =================================================================== --- Lib/test/test_dbm.py (revision 71505) +++ Lib/test/test_dbm.py (working copy) @@ -13,6 +13,18 @@ for suffix in ['', '.pag', '.dir', '.db']: test_support.unlink(self.filename + suffix) + def test_iter(self): + self.d = dbm.open(self.filename, 'c') + a = [('a', 'b'), ('c', 'd')] + for k, v in a: + self.d[k] = v + # An iterator always starts with the first element. + self.assertEqual(sorted((k, self.d[k]) for k in self.d), sorted(a)) + self.assertEqual(sorted((k, self.d[k]) for k in self.d), sorted(a)) + for k in self.d: + break + self.assertEqual(sorted((k, self.d[k]) for k in self.d), sorted(a)) + def test_keys(self): self.d = dbm.open(self.filename, 'c') self.assertEqual(self.d.keys(), [])