Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0072e43

Browse files
committed
Fix test_bsddb3 (along with something bsddb) to work with dict views.
1 parent 5b8d24a commit 0072e43

3 files changed

Lines changed: 13 additions & 3 deletions

File tree

BROKEN

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
test_bsddb test_bsddb3 test_compile
1+
test_bsddb test_compile

Lib/bsddb/dbtables.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,7 @@ def __Select(self, table, columns, conditions):
546546
self.__load_column_info(table)
547547
if columns is None:
548548
columns = self.tablecolumns[table]
549-
for column in (columns + conditions.keys()):
549+
for column in (columns + list(conditions.keys())):
550550
if not self.__tablecolumns[table].count(column):
551551
raise TableDBError, "unknown column: %r" % (column,)
552552

@@ -580,7 +580,7 @@ def cmp_conditions(atuple, btuple):
580580
# leave all unknown condition callables alone as equals
581581
return 0
582582

583-
conditionlist = conditions.items()
583+
conditionlist = list(conditions.items())
584584
conditionlist.sort(cmp_conditions)
585585

586586
# Apply conditions to column data to find what we want

Lib/bsddb/test/test_dbtables.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ def test01(self):
7676

7777
values = self.tdb.Select(
7878
tabname, [colname], conditions={colname: None})
79+
values = list(values)
7980

8081
colval = pickle.loads(values[0][colname])
8182
assert(colval > 3.141 and colval < 3.142)
@@ -102,6 +103,7 @@ def test02(self):
102103

103104
values = self.tdb.Select(tabname, [col2],
104105
conditions={col0: lambda x: pickle.loads(x) >= 8})
106+
values = list(values)
105107

106108
assert len(values) == 2
107109
if values[0]['Species'] == 'Penguin' :
@@ -179,11 +181,13 @@ def test03(self):
179181
values = self.tdb.Select(
180182
tabname, ['a', 'd', 'b'],
181183
conditions={'e': dbtables.PrefixCond('Fuzzy')})
184+
values = list(values)
182185
assert len(values) == 1
183186
assert values[0]['d'] == None
184187

185188
values = self.tdb.Select(tabname, ['b'],
186189
conditions={'c': lambda c: c == 'meep'})
190+
values = list(values)
187191
assert len(values) == 1
188192
assert values[0]['b'] == "bad"
189193

@@ -272,13 +276,15 @@ def test_CondObjs(self):
272276
values = self.tdb.Select(
273277
tabname, ['p', 'e'],
274278
conditions={'e': dbtables.PrefixCond('the l')})
279+
values = list(values)
275280
assert len(values) == 2, values
276281
assert values[0]['e'] == values[1]['e'], values
277282
assert values[0]['p'] != values[1]['p'], values
278283

279284
values = self.tdb.Select(
280285
tabname, ['d', 'a'],
281286
conditions={'a': dbtables.LikeCond('%aardvark%')})
287+
values = list(values)
282288
assert len(values) == 1, values
283289
assert values[0]['d'] == "is for dog", values
284290
assert values[0]['a'] == "is for aardvark", values
@@ -290,6 +296,7 @@ def test_CondObjs(self):
290296
'd':dbtables.ExactCond('is for dog'),
291297
'c':dbtables.PrefixCond('is for'),
292298
'p':lambda s: not s})
299+
values = list(values)
293300
assert len(values) == 1, values
294301
assert values[0]['d'] == "is for dog", values
295302
assert values[0]['a'] == "is for aardvark", values
@@ -354,6 +361,7 @@ def remove_value(value):
354361
values = self.tdb.Select(
355362
tabname, None,
356363
conditions={'Type': dbtables.ExactCond('Unknown')})
364+
values = list(values)
357365
assert len(values) == 1, values
358366
assert values[0]['Name'] == None, values
359367
assert values[0]['Access'] == None, values
@@ -362,13 +370,15 @@ def remove_value(value):
362370
values = self.tdb.Select(
363371
tabname, None,
364372
conditions={'Name': dbtables.ExactCond('Nifty.MP3')})
373+
values = list(values)
365374
assert len(values) == 1, values
366375
assert values[0]['Type'] == "MP3", values
367376
assert values[0]['Access'] == "2", values
368377

369378
# Make sure change applied only to select conditions
370379
values = self.tdb.Select(
371380
tabname, None, conditions={'Name': dbtables.LikeCond('%doc%')})
381+
values = list(values)
372382
assert len(values) == 1, values
373383
assert values[0]['Type'] == "Word", values
374384
assert values[0]['Access'] == "9", values

0 commit comments

Comments
 (0)