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

Lukas Slebodnik lslebodn at redhat.com
Wed May 30 22:00:30 UTC 2018


ehlo,

Please consider merging the patch. It simplify packaging (running unit tests)
in downstream with multiple architecture supported (fedora)

BTW May I know a reason why ldb-mdb id not supported on 32 bit architectures?
Because lmdb is build for all architectures on fedora
https://koji.fedoraproject.org/koji/buildinfo?buildID=1075088

LS
-------------- next part --------------
From 04e74153057d34b5dbdbc03f47d7684b4d4c1093 Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <lslebodn at fedoraproject.org>
Date: Wed, 30 May 2018 23:22:40 +0200
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 f5cb1e0ab28dc01e5b031c7c290bed26c7007676..03279772557284d96f5b8c81ed4a8513e5c65f17 100644
--- a/lib/ldb/wscript
+++ b/lib/ldb/wscript
@@ -518,10 +518,6 @@ def test(ctx):
     env = samba_utils.LOAD_ENVIRONMENT()
     ctx.env = env
 
-    if not env.HAVE_LMDB:
-        raise Utils.WafError('make test called, but ldb was built '
-                             '--without-ldb-lmdb')
-
     test_prefix = "%s/st" % (Utils.g_module.blddir)
     shutil.rmtree(test_prefix, ignore_errors=True)
     os.makedirs(test_prefix)
@@ -537,9 +533,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
@@ -549,7 +549,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.17.0



More information about the samba-technical mailing list