]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ctdb-tests: Clean up handling of CTDB_SCRIPT_VARDIR
authorMartin Schwenke <martin@meltin.net>
Thu, 8 Feb 2018 11:04:51 +0000 (22:04 +1100)
committerAmitay Isaacs <amitay@samba.org>
Wed, 28 Mar 2018 00:57:17 +0000 (02:57 +0200)
Only set this in ctdb_set_pnn() and always use the PNN in the path.

Generic setup functions like setup_ctdb() will go away soon in favour
of more doing setup that is specific to the script being tested.
Therefore, call ctdb_set_pnn() in define_test() to ensure that
CTDB_SCRIPT_VARDIR is always set.  Note that setup_ctdb() is never
called with an argument so the default PNN has always been 0.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/tests/eventscripts/scripts/local.sh

index 7c17c6bf77f36b28210513a01bc01dc41f19a16a..d525c8d0961824ffbfe2f479df18dff488ea27b7 100644 (file)
@@ -28,8 +28,6 @@ if [ -d "$EVENTSCRIPTS_TESTS_VAR_DIR" ] ; then
 fi
 mkdir -p "$EVENTSCRIPTS_TESTS_VAR_DIR"
 
-export CTDB_SCRIPT_VARDIR="$EVENTSCRIPTS_TESTS_VAR_DIR/scripts"
-
 export CTDB_LOGGING="file:${EVENTSCRIPTS_TESTS_VAR_DIR}/log.ctdb"
 touch "${CTDB_LOGGING#file:}" || \
     die "Unable to setup logging for \"$CTDB_LOGGING\""
@@ -341,7 +339,8 @@ ctdb_set_pnn ()
     export FAKE_CTDB_PNN="$1"
     echo "Setting up PNN ${FAKE_CTDB_PNN}"
 
-    export CTDB_SCRIPT_VARDIR="$EVENTSCRIPTS_TESTS_VAR_DIR/script-state/${FAKE_CTDB_PNN}"
+    CTDB_SCRIPT_VARDIR="${EVENTSCRIPTS_TESTS_VAR_DIR}/scripts/${FAKE_CTDB_PNN}"
+    export CTDB_SCRIPT_VARDIR
     mkdir -p "$CTDB_SCRIPT_VARDIR"
 }
 
@@ -349,8 +348,6 @@ setup_ctdb ()
 {
     setup_generic
 
-    ctdb_set_pnn "${2:-0}"
-
     setup_public_addresses
 
     export FAKE_CTDB_EXTRA_CONFIG="$EVENTSCRIPTS_TESTS_VAR_DIR/fake-config.sh"
@@ -1285,6 +1282,8 @@ define_test ()
        die "Internal error - unable to find script \"${script_dir}/${script}\""
 
     printf "%-17s %-10s %-4s - %s\n\n" "$script" "$event" "$_num" "$desc"
+
+    ctdb_set_pnn 0
 }
 
 # Run an eventscript once.  The test passes if the return code and