[PATCH] ldb: Run at least some tests on 32 bit machines

Lukas Slebodnik lslebodn at fedoraproject.org
Fri Jan 18 16:27:45 UTC 2019


ehlo,

This is a rebased version of patch which I sent 8 months ago.
https://lists.samba.org/archive/samba-technical/2018-May/128212.html

Since the release of 1.4.0, there were 5 new releases.
And Just one test was added and it was not related to lmdb.

IMHO it make sense to run at lease some unit tests if people decide
to build libldb without lmdb. And it is not just about 32 bit architectures.
Some distributions needn't have lmdb for various reasons.

LS
-------------- next part --------------
From 6486a9d46ec41e982a4d0b378dcf02eac8ba85ef Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <lslebodn at fedoraproject.org>
Date: Fri, 18 Jan 2019 16:37:17 +0100
Subject: [PATCH] ldb: Run at least some tests on 32 bit machines

lmdb is supported only on 64 bit machines. But there also
unit tests which pass just with tdb on 32 bit architectures.

Signed-off-by: Lukas Slebodnik <lslebodn at fedoraproject.org>
---
 lib/ldb/wscript | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/lib/ldb/wscript b/lib/ldb/wscript
index ca0bf410f1029f33bab9b71514935011d57b1dbc..851344733645f51186d0b568f2741ac888a52660 100644
--- a/lib/ldb/wscript
+++ b/lib/ldb/wscript
@@ -540,10 +540,6 @@ def test(ctx):
     env = samba_utils.LOAD_ENVIRONMENT()
     ctx.env = env
 
-    if not env.HAVE_LMDB:
-        raise Errors.WafError('make test called, but ldb was built '
-                             '--without-ldb-lmdb')
-
     test_prefix = "%s/st" % (Context.g_module.out)
     shutil.rmtree(test_prefix, ignore_errors=True)
     os.makedirs(test_prefix)
@@ -559,9 +555,13 @@ def test(ctx):
     tmp_dir = os.path.join(test_prefix, 'tmp')
     if not os.path.exists(tmp_dir):
         os.mkdir(tmp_dir)
-    pyret = samba_utils.RUN_PYTHON_TESTS(
-        ['tests/python/api.py', 'tests/python/index.py'],
-        extra_env={'SELFTEST_PREFIX': test_prefix})
+
+    if env.HAVE_LMDB:
+        pyret = samba_utils.RUN_PYTHON_TESTS(
+            ['tests/python/api.py', 'tests/python/index.py'],
+            extra_env={'SELFTEST_PREFIX': test_prefix})
+    else:
+        pyret = 0
     print("Python testsuite returned %d" % pyret)
 
     cmocka_ret = 0
@@ -572,7 +572,10 @@ def test(ctx):
                  'ldb_tdb_guid_mod_op_test',
                  'ldb_msg_test',
                  'ldb_tdb_kv_ops_test',
-                 'ldb_tdb_test',
+                 'ldb_tdb_test']
+
+    if env.HAVE_LMDB:
+        test_exes += [
                  'ldb_mdb_mod_op_test',
                  'ldb_lmdb_test',
                  # we don't want to run ldb_lmdb_size_test (which proves we can
-- 
2.20.1



More information about the samba-technical mailing list