From: Brett Cannon Date: Thu, 22 Feb 2007 06:40:59 +0000 (+0000) Subject: Fix test_bsddb3 (along with something bsddb) to work with dict views. X-Git-Tag: v3.0a1~1200 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0072e43d295f25b709ced3b9f7a395fbd35d08e0;p=python Fix test_bsddb3 (along with something bsddb) to work with dict views. --- diff --git a/BROKEN b/BROKEN index d7fca9a2ba..60e105178e 100644 --- a/BROKEN +++ b/BROKEN @@ -1 +1 @@ - test_bsddb test_bsddb3 test_compile + test_bsddb test_compile diff --git a/Lib/bsddb/dbtables.py b/Lib/bsddb/dbtables.py index 5359de8a66..0e426d87f1 100644 --- a/Lib/bsddb/dbtables.py +++ b/Lib/bsddb/dbtables.py @@ -546,7 +546,7 @@ class bsdTableDB : self.__load_column_info(table) if columns is None: columns = self.tablecolumns[table] - for column in (columns + conditions.keys()): + for column in (columns + list(conditions.keys())): if not self.__tablecolumns[table].count(column): raise TableDBError, "unknown column: %r" % (column,) @@ -580,7 +580,7 @@ class bsdTableDB : # leave all unknown condition callables alone as equals return 0 - conditionlist = conditions.items() + conditionlist = list(conditions.items()) conditionlist.sort(cmp_conditions) # Apply conditions to column data to find what we want diff --git a/Lib/bsddb/test/test_dbtables.py b/Lib/bsddb/test/test_dbtables.py index c476e5561a..a7c2c276b8 100644 --- a/Lib/bsddb/test/test_dbtables.py +++ b/Lib/bsddb/test/test_dbtables.py @@ -76,6 +76,7 @@ class TableDBTestCase(unittest.TestCase): values = self.tdb.Select( tabname, [colname], conditions={colname: None}) + values = list(values) colval = pickle.loads(values[0][colname]) assert(colval > 3.141 and colval < 3.142) @@ -102,6 +103,7 @@ class TableDBTestCase(unittest.TestCase): values = self.tdb.Select(tabname, [col2], conditions={col0: lambda x: pickle.loads(x) >= 8}) + values = list(values) assert len(values) == 2 if values[0]['Species'] == 'Penguin' : @@ -179,11 +181,13 @@ class TableDBTestCase(unittest.TestCase): values = self.tdb.Select( tabname, ['a', 'd', 'b'], conditions={'e': dbtables.PrefixCond('Fuzzy')}) + values = list(values) assert len(values) == 1 assert values[0]['d'] == None values = self.tdb.Select(tabname, ['b'], conditions={'c': lambda c: c == 'meep'}) + values = list(values) assert len(values) == 1 assert values[0]['b'] == "bad" @@ -272,6 +276,7 @@ class TableDBTestCase(unittest.TestCase): values = self.tdb.Select( tabname, ['p', 'e'], conditions={'e': dbtables.PrefixCond('the l')}) + values = list(values) assert len(values) == 2, values assert values[0]['e'] == values[1]['e'], values assert values[0]['p'] != values[1]['p'], values @@ -279,6 +284,7 @@ class TableDBTestCase(unittest.TestCase): values = self.tdb.Select( tabname, ['d', 'a'], conditions={'a': dbtables.LikeCond('%aardvark%')}) + values = list(values) assert len(values) == 1, values assert values[0]['d'] == "is for dog", values assert values[0]['a'] == "is for aardvark", values @@ -290,6 +296,7 @@ class TableDBTestCase(unittest.TestCase): 'd':dbtables.ExactCond('is for dog'), 'c':dbtables.PrefixCond('is for'), 'p':lambda s: not s}) + values = list(values) assert len(values) == 1, values assert values[0]['d'] == "is for dog", values assert values[0]['a'] == "is for aardvark", values @@ -354,6 +361,7 @@ class TableDBTestCase(unittest.TestCase): values = self.tdb.Select( tabname, None, conditions={'Type': dbtables.ExactCond('Unknown')}) + values = list(values) assert len(values) == 1, values assert values[0]['Name'] == None, values assert values[0]['Access'] == None, values @@ -362,6 +370,7 @@ class TableDBTestCase(unittest.TestCase): values = self.tdb.Select( tabname, None, conditions={'Name': dbtables.ExactCond('Nifty.MP3')}) + values = list(values) assert len(values) == 1, values assert values[0]['Type'] == "MP3", values assert values[0]['Access'] == "2", values @@ -369,6 +378,7 @@ class TableDBTestCase(unittest.TestCase): # Make sure change applied only to select conditions values = self.tdb.Select( tabname, None, conditions={'Name': dbtables.LikeCond('%doc%')}) + values = list(values) assert len(values) == 1, values assert values[0]['Type'] == "Word", values assert values[0]['Access'] == "9", values