selftest: Only run clusteredmember tests if ctdb is built
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Tue, 11 Apr 2023 22:15:30 +0000 (10:15 +1200)
committerAndreas Schneider <asn@cryptomilk.org>
Wed, 12 Apr 2023 13:52:32 +0000 (13:52 +0000)
Trying to run any of these tests without having built ctdb results in a
failure, as the environment cannot be started.

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andreas Schneider <asn@samba.org>
source3/selftest/tests.py
source4/selftest/tests.py

index 0346867abd15aefd9d26dc15badafe92ee06afbc..682afba7e1ef328f7d4cf73df1c0c5825a9a1971 100755 (executable)
@@ -94,6 +94,8 @@ with_pthreadpool = ("WITH_PTHREADPOOL" in config_hash)
 
 have_smb3_unix_extensions = ("HAVE_SMB3_UNIX_EXTENSIONS" in config_hash)
 
+have_cluster_support = "CLUSTER_SUPPORT" in config_hash
+
 def is_module_enabled(module):
     if module in config_hash["STRING_SHARED_MODULES"]:
         return True
@@ -1545,16 +1547,17 @@ plantestsuite("samba3.blackbox.smbXsrv_client_dead_rec", "fileserver:local",
                '$SERVER_IP',
                "tmp"])
 
-plantestsuite("samba3.blackbox.smbXsrv_client_cross_node", "clusteredmember:local",
-              [os.path.join(samba3srcdir,
-                            "script/tests/test_smbXsrv_client_cross_node.sh"),
-               configuration,
-               'ctdb0', 'ctdb1',
-               "tmp"])
-plantestsuite("samba3.blackbox.registry_share", "clusteredmember",
-              [os.path.join(samba3srcdir,
-                            "script/tests/test_registry_share.sh"),
-               "$SERVER", '$DC_USERNAME', "$DC_PASSWORD"])
+if have_cluster_support:
+    plantestsuite("samba3.blackbox.smbXsrv_client_cross_node", "clusteredmember:local",
+                  [os.path.join(samba3srcdir,
+                                "script/tests/test_smbXsrv_client_cross_node.sh"),
+                   configuration,
+                   'ctdb0', 'ctdb1',
+                   "tmp"])
+    plantestsuite("samba3.blackbox.registry_share", "clusteredmember",
+                  [os.path.join(samba3srcdir,
+                                "script/tests/test_registry_share.sh"),
+                   "$SERVER", '$DC_USERNAME', "$DC_PASSWORD"])
 
 env = 'fileserver'
 plantestsuite("samba3.blackbox.virus_scanner", "%s:local" % (env),
@@ -1660,28 +1663,29 @@ plantestsuite("samba3.blackbox.smbclient-mget",
                "$PASSWORD",
                "valid_users"])
 
-t = "readdir-timestamp"
-plantestsuite(
-    "samba3.smbtorture_s3.plain.%s" % t,
-    "clusteredmember",
-    [os.path.join(samba3srcdir,
-                  "script/tests/test_smbtorture_s3.sh"),
-     t,
-     '//foo/bar',
-     '$DOMAIN\\\\$DC_USERNAME',
-     '$DC_PASSWORD',
-     smbtorture3,
-     "",
-     "-b $PREFIX/clusteredmember/unclists/tmp.txt -N 5 -o 10"])
+if have_cluster_support:
+    t = "readdir-timestamp"
+    plantestsuite(
+        "samba3.smbtorture_s3.plain.%s" % t,
+        "clusteredmember",
+        [os.path.join(samba3srcdir,
+                      "script/tests/test_smbtorture_s3.sh"),
+         t,
+         '//foo/bar',
+         '$DOMAIN\\\\$DC_USERNAME',
+         '$DC_PASSWORD',
+         smbtorture3,
+         "",
+         "-b $PREFIX/clusteredmember/unclists/tmp.txt -N 5 -o 10"])
 
-plantestsuite(
-    "samba3.net_machine_account",
-    "clusteredmember",
-    [os.path.join(samba3srcdir,
-                  "script/tests/test_net_machine_account.sh"),
-     "bin/net",
-     "$SERVERCONFFILE",
-     "$SERVER_IP"])
+    plantestsuite(
+        "samba3.net_machine_account",
+        "clusteredmember",
+        [os.path.join(samba3srcdir,
+                      "script/tests/test_net_machine_account.sh"),
+         "bin/net",
+         "$SERVERCONFFILE",
+         "$SERVER_IP"])
 
 plantestsuite(
     "samba3.net_lookup_ldap",
@@ -1724,27 +1728,28 @@ def planclusteredmembertestsuite(tname, prefix):
         modname=modnamearg)
 
 
-CLUSTERED_TESTS = [ 'smb2.deny.deny2' ]
+if have_cluster_support:
+    CLUSTERED_TESTS = [ 'smb2.deny.deny2' ]
 
-for test in CLUSTERED_TESTS:
-    planclusteredmembertestsuite(test, "$PREFIX")
+    for test in CLUSTERED_TESTS:
+        planclusteredmembertestsuite(test, "$PREFIX")
 
-CLUSTERED_LOCAL_TESTS = [
-    "ctdbd-conn1",
-    "local-dbwrap-ctdb1"
-]
+    CLUSTERED_LOCAL_TESTS = [
+        "ctdbd-conn1",
+        "local-dbwrap-ctdb1"
+    ]
 
-for t in CLUSTERED_LOCAL_TESTS:
-    plantestsuite(
-        "samba3.%s" % t,
-        "clusteredmember:local",
-        [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"),
-         t,
-         '//foo/bar',
-         '""',
-         '""',
-         smbtorture3,
-         "-N 1000 -o 2000"])
+    for t in CLUSTERED_LOCAL_TESTS:
+        plantestsuite(
+            "samba3.%s" % t,
+            "clusteredmember:local",
+            [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"),
+             t,
+             '//foo/bar',
+             '""',
+             '""',
+             smbtorture3,
+             "-N 1000 -o 2000"])
 
 if have_smb3_unix_extensions:
     planpythontestsuite("fileserver", "samba.tests.smb3unix")
index 7860e150d2628395b4074c91495d33a06ab2807b..a0869c3a5de9849b7be6a8f672472ddb51da8f25 100755 (executable)
@@ -93,6 +93,7 @@ finally:
 
 have_heimdal_support = ("SAMBA4_USES_HEIMDAL" in config_hash)
 have_gnutls_fips_mode_support = ("HAVE_GNUTLS_FIPS_MODE_SUPPORTED" in config_hash)
+have_cluster_support = "CLUSTER_SUPPORT" in config_hash
 
 for options in ['-U"$USERNAME%$PASSWORD"']:
     plantestsuite("samba4.ldb.ldaps with options %s(ad_dc_ntvfs)" % options, "ad_dc_ntvfs",
@@ -1167,7 +1168,10 @@ planoldpythontestsuite("ad_dc:local", "samba.tests.dckeytab", extra_args=['-U"$U
 planoldpythontestsuite("ad_dc", "samba.tests.sid_strings")
 
 # Run the import test in environments that may not have the ad-dc built
-for env in ['fileserver_smb1', 'nt4_member', 'clusteredmember', 'ktest', 'nt4_dc', 'nt4_dc_smb1_done', 'nt4_dc_smb1', 'simpleserver', 'fileserver_smb1_done', 'fileserver', 'maptoguest', 'nt4_dc_schannel']:
+envs = ['fileserver_smb1', 'nt4_member', 'ktest', 'nt4_dc', 'nt4_dc_smb1_done', 'nt4_dc_smb1', 'simpleserver', 'fileserver_smb1_done', 'fileserver', 'maptoguest', 'nt4_dc_schannel']
+if have_cluster_support:
+    envs.append('clusteredmember')
+for env in envs:
     planoldpythontestsuite(env, "samba.tests.imports")
 
 have_fast_support = 1