Unittest import error
jelmer at samba.org
Thu May 13 01:22:16 MDT 2010
On Thu, 2010-05-13 at 10:11 +0300, Zahari Zahariev wrote:
> Anatoliy has had the same problem and told me a bit later that
> "python-subunit" was an additional package.
> Why isn't it in ./configure script as this is obviously a constant
> problem for people trying to run individual unittests? I think this
> problem should be addressed because the last time when I was
> using/writing unittests for Ldb (6 months ago) there was no such
This is only an issue for the unit tests in lib/ldb, the other tests all
use a convenience function in the samba python module that can
automatically do the import for you.
Is there any reason for not just using "make test TESTS=ldap..." ?
> On Wed, May 12, 2010 at 6:21 PM, Jelmer Vernooij <jelmer at vernstok.nl>
> Hi Zahari,
> On Wed, 2010-05-12 at 16:15 +0300, Zahari Zahariev wrote:
> > I wanted to start some manual unittest files and I bumped
> into an
> > error:
> > root at darkstar:~/samba-master/source4# python
> > lib/ldb/tests/python/ldap.py localhost -U%
> > Traceback (most recent call last):
> > File "lib/ldb/tests/python/ldap.py", line 31, in <module>
> > from subunit.run import SubunitTestRunner
> > ImportError: No module named subunit.run
> > Can you tell why does this happen?
> You should either have subunit installed on your system or you
> need to
> pull in the version that is included with Samba somehow. The
> latter is
> probably not desirable since that file lives in the ldb
> directory and we
> do want ldb to be installable standalone.
> So you could either add an attempt to import 'samba' and a
> call to
> ensure_external() in that file (but allowing that to fail, as
> the samba
> module might not be available), or you could install subunit
> on your
> system or you could set PYTHONPATH to a path that includes the
> that is included with Samba (../lib/subunit/python IIRC).
More information about the samba-technical