[PATCH] Extending pyldb

Kamen Mazdrashki kamenim at samba.org
Wed Nov 17 16:48:10 MST 2010


Hi Jelmer,

Could you please take a look at this branch:
http://git.samba.org/?p=kamenim/samba.git;a=shortlog;h=refs/heads/py-review-build

I think I've covered all notes of yours (and a test) :)
Except for throwing exception in ldb.modify() in case we have MessageElements()
with no flags (flags = 0). I've avoided this as we have code in many places that
looks like:
	m = ldb.Message('some dn')
	m['foo'] = 'bar'
	ldb_ctx.modify(m)
This code will hit such an exception right away.


Btw, ldb.python API test suite behaves a little bit strange.
I am running it like this: make test TESTS='ldb.python'

It passes everything OK, but I have following in my st/subunit file:
	test: ldb.python.api.ModuleTests.test_register_module
	successful: ldb.python.api.ModuleTests.test_register_module
	test: ldb.python.api.ModuleTests.test_use_module
	successful: ldb.python.api.ModuleTests.test_use_module
	Traceback (most recent call last):
	  File "/home/kamenim/work/samba-drs/source4/scripting/bin/subunitrun",
line 44, in <module>
		program = TestProgram(module=None, argv=[sys.argv[0]] + args,
testRunner=runner)
	  File "/usr/lib/python2.6/unittest.py", line 817, in __init__
		self.runTests()
	  File "/usr/lib/python2.6/unittest.py", line 864, in runTests
		result = testRunner.run(self.test)
	  File "bin/python/samba/../../../../lib/subunit/python/subunit/run.py",
line 42, in run
		test(result)
	  File "/usr/lib/python2.6/unittest.py", line 464, in __call__
		return self.run(*args, **kwds)
	  File "/usr/lib/python2.6/unittest.py", line 460, in run
		test(result)
	  File "/usr/lib/python2.6/unittest.py", line 464, in __call__
		return self.run(*args, **kwds)
	  File "/usr/lib/python2.6/unittest.py", line 460, in run
		test(result)
	  File "/usr/lib/python2.6/unittest.py", line 464, in __call__
		return self.run(*args, **kwds)
	  File "/usr/lib/python2.6/unittest.py", line 457, in run
		for test in self._tests:
	AttributeError: request

If I delete "class ModuleTests" test case though, I am getting:
	test: ldb.python.api.SimpleLdb.test_modify_delete
	error: ldb.python.api.SimpleLdb.test_modify_delete [
	_StringException: _StringException: Traceback (most recent call last):
	  File "/home/kamenim/work/samba-drs/source4/lib/ldb/tests/python/api.py",
line 227, in test_modify_delete
		rm = l.search(m.dn, attrs=["bla"])[0]
	IndexError: list index out of range


	]
But not the error I am getting in a normal case (with class ModuleTests).
Any ideas?

-- 
CU,
Kamen


More information about the samba-technical mailing list