svn commit: samba r26677 - in branches/SAMBA_4_0/source/lib/tdb: .
python/tests
tpot at samba.org
tpot at samba.org
Sun Jan 6 23:17:56 GMT 2008
Author: tpot
Date: 2008-01-06 23:17:55 +0000 (Sun, 06 Jan 2008)
New Revision: 26677
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=26677
Log:
Implement and test iter{keys,values,items} for tdb bindings.
Use tempfile.mkstemp() instead of os.tmpnam() in tests.
Modified:
branches/SAMBA_4_0/source/lib/tdb/python/tests/simple.py
branches/SAMBA_4_0/source/lib/tdb/tdb.i
Changeset:
Modified: branches/SAMBA_4_0/source/lib/tdb/python/tests/simple.py
===================================================================
--- branches/SAMBA_4_0/source/lib/tdb/python/tests/simple.py 2008-01-06 22:01:31 UTC (rev 26676)
+++ branches/SAMBA_4_0/source/lib/tdb/python/tests/simple.py 2008-01-06 23:17:55 UTC (rev 26677)
@@ -8,7 +8,7 @@
import tdb
from unittest import TestCase
-import os
+import os, tempfile
class OpenTdbTests(TestCase):
@@ -19,7 +19,7 @@
class SimpleTdbTests(TestCase):
def setUp(self):
super(SimpleTdbTests, self).setUp()
- self.tdb = tdb.Tdb(os.tmpnam(), 0, tdb.DEFAULT, os.O_CREAT|os.O_RDWR)
+ self.tdb = tdb.Tdb(tempfile.mkstemp()[1], 0, tdb.DEFAULT, os.O_CREAT|os.O_RDWR)
self.assertNotEqual(None, self.tdb)
def tearDown(self):
@@ -82,6 +82,13 @@
self.tdb["brainslug"] = "2"
self.assertEquals([("bla", "1"), ("brainslug", "2")], self.tdb.items())
+ def test_iteritems(self):
+ self.tdb["bloe"] = "2"
+ self.tdb["bla"] = "25"
+ i = self.tdb.iteritems()
+ self.assertEquals(set([("bla", "25"), ("bloe", "2")]),
+ set([i.next(), i.next()]))
+
def test_transaction_cancel(self):
self.tdb["bloe"] = "2"
self.tdb.transaction_start()
@@ -107,11 +114,23 @@
self.tdb["bla"] = "25"
self.assertEquals(["bla", "bloe"], self.tdb.keys())
+ def test_iterkeys(self):
+ self.tdb["bloe"] = "2"
+ self.tdb["bla"] = "25"
+ i = self.tdb.iterkeys()
+ self.assertEquals(set(["bloe", "bla"]), set([i.next(), i.next()]))
+
def test_values(self):
self.tdb["bloe"] = "2"
self.tdb["bla"] = "25"
self.assertEquals(["25", "2"], self.tdb.values())
+ def test_itervalues(self):
+ self.tdb["bloe"] = "2"
+ self.tdb["bla"] = "25"
+ i = self.tdb.itervalues()
+ self.assertEquals(set(["25", "2"]), set([i.next(), i.next()]))
+
def test_clear(self):
self.tdb["bloe"] = "2"
self.tdb["bla"] = "25"
Modified: branches/SAMBA_4_0/source/lib/tdb/tdb.i
===================================================================
--- branches/SAMBA_4_0/source/lib/tdb/tdb.i 2008-01-06 22:01:31 UTC (rev 26676)
+++ branches/SAMBA_4_0/source/lib/tdb/tdb.i 2008-01-06 23:17:55 UTC (rev 26677)
@@ -263,8 +263,18 @@
for k in iter(self):
del(self[k])
- # TODO: iterkeys, itervalues, iteritems
+ def iterkeys(self):
+ for k in iter(self):
+ yield k
+
+ def itervalues(self):
+ for k in iter(self):
+ yield self[k]
+ def iteritems(self):
+ for k in iter(self):
+ yield (k, self[k])
+
# TODO: any other missing methods for container types
}
} tdb;
More information about the samba-cvs
mailing list