[SCM] Samba Shared Repository - branch master updated
Amitay Isaacs
amitay at samba.org
Tue Sep 17 05:53:03 UTC 2019
The branch, master has been updated
via 84f544b55f2 ctdb-client: Fix some typos in debug messages
via fc7f3b99aca ctdb-scripts: Drop bit-rotted shellcheck directive
via 80cbebce712 ctdb-scripts: Silence shellcheck warning SC2166
via 597039daeb8 ctdb-utils: CID 1273087 - Resource leak
via 32b5ceb3193 ctdb-tools: Stop deleted nodes from influencing ctdb nodestatus exit code
via 2b37d99a5fb ctdb-tests: Put the summary file inside $TEST_VAR_DIR
via 7a5a4a4494d ctdb-tests: Drop run_tests -d option
via 2730e483607 ctdb-tests: Simplify setup_ctdb()
via 8443798846d ctdb-tests: Invert some logic so it makes sense
via 8038f4f64f4 ctdb-tests: Avoid shellcheck warnings
via 497ae563a0b ctdb-tests: Fix zero event scripts test so it tests something
via 429502186a7 ctdb-tests: Drop unused code from onnode unit test ctdb stub
via bb040f27985 ctdb-tests: Only set TEST_SUBDIR when needed
via 284bbca7c73 ctdb-tests: Move NFS test functions to complex local script
via 2c6b098c722 ctdb-tests: Don't run setup_ctdb_base() for real cluster
via 8aed06ce8c8 ctdb-tests: Use db_ctdb_cattdb_count_records()
via 68684377c69 ctdb-tests: Use ctdb_get_all_pnns()
via 522a8480fa5 ctdb-tests: Drop reference to unused ctdb_eventd test directory
from d51bb3137fa whitespace: Conform to coding convention
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 84f544b55f235e2f08596bf4b7854460af008f88
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Sep 4 14:14:22 2019 +1000
ctdb-client: Fix some typos in debug messages
tdb_sore -> tdb_store
SCHDULE_FOR_DELETION -> SCHEDULE_FOR_DELETION
Switch to modern debug macros while touching the lines.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
Autobuild-User(master): Amitay Isaacs <amitay at samba.org>
Autobuild-Date(master): Tue Sep 17 05:52:15 UTC 2019 on sn-devel-184
commit fc7f3b99acad0a1c5ebeb2bc3c0753ec7b31bb49
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Sep 3 15:24:52 2019 +1000
ctdb-scripts: Drop bit-rotted shellcheck directive
The code has changed so this is no longer needed.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
commit 80cbebce7123f934562d74e5e29dae3719e9cc37
Author: Martin Schwenke <martin at meltin.net>
Date: Mon Sep 2 14:58:22 2019 +1000
ctdb-scripts: Silence shellcheck warning SC2166
This covers the following:
SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.
SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
POSIX agrees that -a and -o should not be used:
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html
Fixing these doesn't cause much churn.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
commit 597039daeb88f6d97f71ecaaa55efd7e091638ea
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Jul 3 20:40:44 2019 +1000
ctdb-utils: CID 1273087 - Resource leak
Ensure that p is not leaked.
This is a test program and the program exits anyway. No need to
backport.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
commit 32b5ceb31936ec5447362236c1809db003561d29
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Aug 13 21:42:15 2019 +1000
ctdb-tools: Stop deleted nodes from influencing ctdb nodestatus exit code
Deleted nodes should simply be ignored.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14129
RN: Stop deleted nodes from influencing ctdb nodestatus exit code
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
commit 2b37d99a5fbb08954dc4c0ff20867e9fd9dd5712
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Sep 4 15:04:05 2019 +1000
ctdb-tests: Put the summary file inside $TEST_VAR_DIR
This means less random files dropped in /tmp or similar.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
commit 7a5a4a4494d5fd2514651e06c2206007b8422449
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Sep 4 14:59:22 2019 +1000
ctdb-tests: Drop run_tests -d option
The usage message says it is dodgy and some test suites may not
support it.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
commit 2730e48360750d4fbfd66ea76a2b0f002acfcab9
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Sep 3 19:12:45 2019 +1000
ctdb-tests: Simplify setup_ctdb()
There is no point inventing a whole new set of options here.
Continue to locally implement the --no-event-scripts option. This
must be first, though in practice only one option is ever passed to
setup_ctdb() from ctdb_test_init().
Simply pass all other options through to "local_daemons.sh setup".
This has the side effect of causing failure when an invalid option is
passed.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
commit 8443798846d3e6f67eeb651f98af24272a8a4b5c
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Sep 3 17:54:29 2019 +1000
ctdb-tests: Invert some logic so it makes sense
The test should be outside the loop.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
commit 8038f4f64f4f6a77346837c1877e352be2632cd0
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Sep 6 09:01:36 2019 +1000
ctdb-tests: Avoid shellcheck warnings
SC2086 Double quote to prevent globbing and word splitting
This one doesn't need the double quotes if it is contained within the
preceding variable expansion.
SC2181 Check exit code directly with e.g. 'if mycmd;', not indirectly with $?
SC2004 $/${} is unnecessary on arithmetic variables
These are straightforward.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
commit 497ae563a0b3e45794c22acb67ccde060d34f371
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Sep 3 17:40:59 2019 +1000
ctdb-tests: Fix zero event scripts test so it tests something
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
commit 429502186a70f4220c8597d68a3306a073a33c4c
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Sep 6 20:03:36 2019 +1000
ctdb-tests: Drop unused code from onnode unit test ctdb stub
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
commit bb040f27985245449771a68606f0da2440ba1e7c
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Sep 5 15:51:08 2019 +1000
ctdb-tests: Only set TEST_SUBDIR when needed
This is only needed for setup_ctdb_base() so only set it when calling
this function.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
commit 284bbca7c730235dd2df9ec2acbfc5fa6de5be42
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Sep 5 16:15:54 2019 +1000
ctdb-tests: Move NFS test functions to complex local script
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
commit 2c6b098c7220a3e6d78f6040c912fc22a02f6e46
Author: Martin Schwenke <martin at meltin.net>
Date: Mon Sep 9 16:58:06 2019 +1000
ctdb-tests: Don't run setup_ctdb_base() for real cluster
This has not been needed for some time.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
commit 8aed06ce8c802d75e7bacb289916c835164e7307
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Aug 2 16:18:32 2019 +1000
ctdb-tests: Use db_ctdb_cattdb_count_records()
Avoid reinventing the wheel.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
commit 68684377c6970725a57ec6111cb165736468440f
Author: Martin Schwenke <martin at meltin.net>
Date: Mon Sep 16 19:08:11 2019 +1000
ctdb-tests: Use ctdb_get_all_pnns()
The nested, arbitrary use of onnode can cause messages from ssh on
stderr to appear in the node list:
Getting list of nodes...
Output of "onnode -pq all ctdb pnn | grep '^[0-9][0-9]*$'":
Warning: Permanently added '10.0.0.72' (RSA) to the list of known hosts.^M
Warning: Permanently added '10.0.0.75' (RSA) to the list of known hosts.^M
Warning: Permanently added '10.0.0.73' (RSA) to the list of known hosts.^M
Warning: Permanently added '10.0.0.74' (RSA) to the list of known hosts.^M
1
0
3
2
Create/wipe test database rec_test.tdb
Failed to execute "Permanently added '10.0.0.72' (RSA) to the list of known hosts.^M ctdb attach rec_test.tdb" on node(s) "Warning:"
Invalid <nodespec>
Avoid that by using an existing function that does not nest ssh uses.
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
commit 522a8480fa5e886d66a2efc8d49ac4e2ac6403d7
Author: Martin Schwenke <martin at meltin.net>
Date: Mon Sep 9 16:04:36 2019 +1000
ctdb-tests: Drop reference to unused ctdb_eventd test directory
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
-----------------------------------------------------------------------
Summary of changes:
ctdb/client/client_db.c | 12 ++++----
ctdb/config/events/legacy/11.routing.script | 2 +-
ctdb/config/events/legacy/13.per_ip_routing.script | 15 +++++-----
ctdb/config/events/legacy/60.nfs.script | 4 +--
ctdb/config/functions | 2 --
ctdb/tests/complex/scripts/local.bash | 32 ++++++++++++++++++++++
ctdb/tests/local_daemons.sh | 18 ++++++------
ctdb/tests/onnode/stubs/ctdb | 14 ----------
ctdb/tests/run_tests.sh | 26 ++++++------------
ctdb/tests/scripts/integration.bash | 32 ----------------------
ctdb/tests/shellcheck/scripts/local.sh | 9 +-----
ctdb/tests/simple/01_ctdb_reclock_command.sh | 2 +-
ctdb/tests/simple/19_ip_takeover_noop.sh | 4 +--
ctdb/tests/simple/28_zero_eventscripts.sh | 2 +-
ctdb/tests/simple/69_recovery_resurrect_deleted.sh | 13 +++++----
ctdb/tests/simple/scripts/local.bash | 7 +----
ctdb/tests/simple/scripts/local_daemons.bash | 29 ++++++++------------
ctdb/tools/ctdb.c | 8 +++++-
ctdb/tools/ctdb_diagnostics | 2 +-
ctdb/tools/onnode | 4 +--
ctdb/utils/ping_pong/ping_pong.c | 12 +++++---
ctdb/wscript | 1 -
22 files changed, 109 insertions(+), 141 deletions(-)
Changeset truncated at 500 lines:
diff --git a/ctdb/client/client_db.c b/ctdb/client/client_db.c
index dfa8d970de5..a008f2ad63d 100644
--- a/ctdb/client/client_db.c
+++ b/ctdb/client/client_db.c
@@ -1540,9 +1540,9 @@ struct tevent_req *ctdb_delete_record_send(TALLOC_CTX *mem_ctx,
ret = tdb_store(h->db->ltdb->tdb, h->key, rec, TDB_REPLACE);
if (ret != 0) {
- DEBUG(DEBUG_ERR,
- ("fetch_lock delete: %s tdb_sore failed, %s\n",
- h->db->db_name, tdb_errorstr(h->db->ltdb->tdb)));
+ D_ERR("fetch_lock delete: %s tdb_store failed, %s\n",
+ h->db->db_name,
+ tdb_errorstr(h->db->ltdb->tdb));
tevent_req_error(req, EIO);
return tevent_req_post(req, ev);
}
@@ -1576,9 +1576,9 @@ static void ctdb_delete_record_done(struct tevent_req *subreq)
status = ctdb_client_control_recv(subreq, &ret, NULL, NULL);
TALLOC_FREE(subreq);
if (! status) {
- DEBUG(DEBUG_ERR,
- ("delete_record: %s SCHDULE_FOR_DELETION failed, "
- "ret=%d\n", state->h->db->db_name, ret));
+ D_ERR("delete_record: %s SCHEDULE_FOR_DELETION failed, ret=%d\n",
+ state->h->db->db_name,
+ ret);
tevent_req_error(req, ret);
return;
}
diff --git a/ctdb/config/events/legacy/11.routing.script b/ctdb/config/events/legacy/11.routing.script
index 018ee5732a6..3a526e1ed47 100755
--- a/ctdb/config/events/legacy/11.routing.script
+++ b/ctdb/config/events/legacy/11.routing.script
@@ -39,7 +39,7 @@ updateip)
oiface=$2
niface=$3
while read iface dest gw; do
- if [ "$niface" = "$iface" -o "$oiface" = "$iface" ] ; then
+ if [ "$niface" = "$iface" ] || [ "$oiface" = "$iface" ] ; then
ip route add "$dest" via "$gw" dev "$iface" >/dev/null 2>&1
fi
done <"${CTDB_BASE}/static-routes"
diff --git a/ctdb/config/events/legacy/13.per_ip_routing.script b/ctdb/config/events/legacy/13.per_ip_routing.script
index 269829483ab..ed5677327a1 100755
--- a/ctdb/config/events/legacy/13.per_ip_routing.script
+++ b/ctdb/config/events/legacy/13.per_ip_routing.script
@@ -20,8 +20,8 @@ table_id_prefix="ctdb."
[ "$CTDB_PER_IP_ROUTING_TABLE_ID_LOW" -lt "$CTDB_PER_IP_ROUTING_TABLE_ID_HIGH" ] 2>/dev/null || \
die "error: CTDB_PER_IP_ROUTING_TABLE_ID_LOW[$CTDB_PER_IP_ROUTING_TABLE_ID_LOW] and/or CTDB_PER_IP_ROUTING_TABLE_ID_HIGH[$CTDB_PER_IP_ROUTING_TABLE_ID_HIGH] improperly configured"
-if [ "$CTDB_PER_IP_ROUTING_TABLE_ID_LOW" -le 253 -a \
- 255 -le "$CTDB_PER_IP_ROUTING_TABLE_ID_HIGH" ] ; then
+if [ "$CTDB_PER_IP_ROUTING_TABLE_ID_LOW" -le 253 ] && \
+ [ 255 -le "$CTDB_PER_IP_ROUTING_TABLE_ID_HIGH" ] ; then
die "error: range CTDB_PER_IP_ROUTING_TABLE_ID_LOW[$CTDB_PER_IP_ROUTING_TABLE_ID_LOW]..CTDB_PER_IP_ROUTING_TABLE_ID_HIGH[$CTDB_PER_IP_ROUTING_TABLE_ID_HIGH] must not include 253-255"
fi
@@ -49,7 +49,7 @@ ipv4_is_valid_addr()
for _o in $(export IFS="." ; echo $_ip) ; do
# The 2>/dev/null stops output from failures where an "octet"
# is not numeric. The test will still fail.
- if ! [ 0 -le $_o -a $_o -le 255 ] 2>/dev/null ; then
+ if ! [ 0 -le $_o ] && [ $_o -le 255 ] 2>/dev/null ; then
return 1
fi
_count=$((_count + 1))
@@ -149,8 +149,9 @@ ensure_table_id_for_ip ()
fi
# Potentially update the new table id to be used. The
# redirect stops error spam for a non-numeric value.
- if [ "$_new" -le "$_t" -a \
- "$_t" -le "$CTDB_PER_IP_ROUTING_TABLE_ID_HIGH" ] 2>/dev/null ; then
+ if [ "$_new" -le "$_t" ] && \
+ [ "$_t" -le "$CTDB_PER_IP_ROUTING_TABLE_ID_HIGH" ] \
+ 2>/dev/null ; then
_new=$((_t + 1))
fi
done <"$rt_tables"
@@ -317,8 +318,8 @@ add_missing_routes ()
[ -n "$_iface" ] || continue
_table_id="${table_id_prefix}${_ip}"
- if [ -z "$(ip route show table "$_table_id" 2>/dev/null)" -o \
- "$1" = "force" ] ; then
+ if [ -z "$(ip route show table "$_table_id" 2>/dev/null)" ] || \
+ [ "$1" = "force" ] ; then
add_routing_for_ip "$_iface" "$_ip"
fi
done
diff --git a/ctdb/config/events/legacy/60.nfs.script b/ctdb/config/events/legacy/60.nfs.script
index 2eb90b421c8..1b87b3d27e3 100755
--- a/ctdb/config/events/legacy/60.nfs.script
+++ b/ctdb/config/events/legacy/60.nfs.script
@@ -139,7 +139,7 @@ nfs_check_service ()
fi
if $_ok ; then
- if [ $unhealthy_after -ne 1 -o $restart_every -ne 0 ] ; then
+ if [ $unhealthy_after -ne 1 ] || [ $restart_every -ne 0 ] ; then
ctdb_counter_init "$_progname"
fi
exit 0
@@ -179,7 +179,7 @@ nfs_check_service ()
# shellcheck disable=SC2031
nfs_restart_service ()
{
- if [ -z "$service_stop_cmd" -o -z "$service_start_cmd" ] ; then
+ if [ -z "$service_stop_cmd" ] || [ -z "$service_start_cmd" ] ; then
die "ERROR: Can not restart service \"${_progname}\" without corresponding service_start_cmd/service_stop_cmd settings"
fi
diff --git a/ctdb/config/functions b/ctdb/config/functions
index 1dc16532890..994a30162fe 100755
--- a/ctdb/config/functions
+++ b/ctdb/config/functions
@@ -228,8 +228,6 @@ ctdb_get_ip_address ()
awk -F '|' 'NR == 2 { print $3 }' >"$_ip_addr_file"
fi
- # ip_address is used by caller
- # shellcheck disable=SC2034
cat "$_ip_addr_file"
}
diff --git a/ctdb/tests/complex/scripts/local.bash b/ctdb/tests/complex/scripts/local.bash
index 787f597edcc..20b3ba706b5 100644
--- a/ctdb/tests/complex/scripts/local.bash
+++ b/ctdb/tests/complex/scripts/local.bash
@@ -270,3 +270,35 @@ ping_wrapper ()
*) ping "$@" ;;
esac
}
+
+#######################################
+
+nfs_test_setup ()
+{
+ select_test_node_and_ips
+
+ nfs_first_export=$(showmount -e $test_ip | sed -n -e '2s/ .*//p')
+
+ echo "Creating test subdirectory..."
+ try_command_on_node $test_node "TMPDIR=$nfs_first_export mktemp -d"
+ nfs_test_dir="$out"
+ try_command_on_node $test_node "chmod 777 $nfs_test_dir"
+
+ nfs_mnt_d=$(mktemp -d)
+ nfs_local_file="${nfs_mnt_d}/${nfs_test_dir##*/}/TEST_FILE"
+ nfs_remote_file="${nfs_test_dir}/TEST_FILE"
+
+ ctdb_test_exit_hook_add nfs_test_cleanup
+
+ echo "Mounting ${test_ip}:${nfs_first_export} on ${nfs_mnt_d} ..."
+ mount -o timeo=1,hard,intr,vers=3 \
+ "[${test_ip}]:${nfs_first_export}" ${nfs_mnt_d}
+}
+
+nfs_test_cleanup ()
+{
+ rm -f "$nfs_local_file"
+ umount -f "$nfs_mnt_d"
+ rmdir "$nfs_mnt_d"
+ onnode -q $test_node rmdir "$nfs_test_dir"
+}
diff --git a/ctdb/tests/local_daemons.sh b/ctdb/tests/local_daemons.sh
index 4934783ff9a..15c80713b3b 100755
--- a/ctdb/tests/local_daemons.sh
+++ b/ctdb/tests/local_daemons.sh
@@ -13,14 +13,6 @@ export TEST_SCRIPTS_DIR="${CTDB_TEST_DIR}/scripts"
. "${TEST_SCRIPTS_DIR}/common.sh"
-# common.sh will set TEST_SUBDIR to a stupid value when installed
-# because common.sh is usually sourced by a test. TEST_SUBDIR needs
-# to be correctly set so setup_ctdb_base() finds the etc-ctdb/
-# subdirectory and the test event script is correctly installed, so
-# fix it.
-# shellcheck disable=SC2034
-TEST_SUBDIR="$CTDB_TEST_DIR"
-
if ! $CTDB_TESTS_ARE_INSTALLED ; then
hdir="$CTDB_SCRIPTS_HELPER_BINDIR"
export CTDB_EVENTD="${hdir}/ctdb-eventd"
@@ -205,7 +197,15 @@ local_daemons_setup ()
fi
for _n in $(seq 0 $((_num_nodes - 1))) ; do
- setup_ctdb_base "$directory" "node.${_n}" \
+ # common.sh will set TEST_SUBDIR to a stupid value
+ # when installed because common.sh is usually sourced
+ # by a test. TEST_SUBDIR needs to be correctly set so
+ # setup_ctdb_base() finds the etc-ctdb/ subdirectory
+ # and the test event script is correctly installed, so
+ # fix it.
+ # shellcheck disable=SC2034
+ TEST_SUBDIR="$CTDB_TEST_DIR" \
+ setup_ctdb_base "$directory" "node.${_n}" \
functions notify.sh debug-hung-script.sh
cp "$_nodes_all" "${CTDB_BASE}/nodes"
diff --git a/ctdb/tests/onnode/stubs/ctdb b/ctdb/tests/onnode/stubs/ctdb
index e420d25e029..8d1f855e5da 100755
--- a/ctdb/tests/onnode/stubs/ctdb
+++ b/ctdb/tests/onnode/stubs/ctdb
@@ -2,8 +2,6 @@
# Fake ctdb client for onnode tests.
-cmd=$(echo "$*" | sed -r -e 's@[[:space:]]+ at _@g')
-
out="${ONNODE_TESTS_VAR_DIR}/ctdb.out"
if [ -r "$out" ] ; then
cat "$out"
@@ -16,18 +14,6 @@ if [ -r "$out" ] ; then
exit 0
fi
-f="${ONNODE_TESTCASE_DIR}/ctdb.d/${cmd}.sh"
-if [ -x "$f" ] ; then
- "$f"
- exit $?
-fi
-
-f="${ONNODE_TESTCASE_DIR}/ctdb.d/${cmd}.out"
-if [ -r "$f" ] ; then
- cat "$f"
- exit 0
-fi
-
echo "fake ctdb: no implementation for \"$*\""
exit 1
diff --git a/ctdb/tests/run_tests.sh b/ctdb/tests/run_tests.sh
index 2f692c1b90b..b74d7c5f193 100755
--- a/ctdb/tests/run_tests.sh
+++ b/ctdb/tests/run_tests.sh
@@ -8,7 +8,6 @@ Options:
-A Use "cat -A" to print test output (only some tests)
-c Run integration tests on a cluster
-C Remove TEST_VAR_DIR when done
- -d Print descriptions of tests instead of filenames (dodgy!)
-D Show diff between failed/expected test output (some tests only)
-e Exit on the first test failure
-H No headers - for running single test with other wrapper
@@ -33,7 +32,6 @@ die ()
######################################################################
with_summary=true
-with_desc=false
quiet=false
exit_on_fail=false
max_iterations=1
@@ -50,12 +48,11 @@ export TEST_CLEANUP=false
export TEST_TIMEOUT=3600
export TEST_SOCKET_WRAPPER_SO_PATH=""
-while getopts "AcCdDehHI:NqS:T:vV:xX?" opt ; do
+while getopts "AcCDehHI:NqS:T:vV:xX?" opt ; do
case "$opt" in
A) TEST_CAT_RESULTS_OPTS="-A" ;;
c) TEST_LOCAL_DAEMONS="" ;;
C) TEST_CLEANUP=true ;;
- d) with_desc=true ;; # 4th line of output is description
D) TEST_DIFF_RESULTS=true ;;
e) exit_on_fail=true ;;
H) no_header=true ;;
@@ -178,9 +175,6 @@ if ! type mktemp >/dev/null 2>&1 ; then
}
fi
-tf=$(mktemp) || die "mktemp failed for tf - is TMPDIR missing?"
-sf=$(mktemp) || die "mktemp failed for sf - is TMPDIR missing?"
-
set -o pipefail
run_one_test ()
@@ -189,7 +183,7 @@ run_one_test ()
tests_total=$((tests_total + 1))
- ctdb_test_run "$f" | tee "$tf" | show_progress
+ ctdb_test_run "$f" | show_progress
status=$?
if [ $status -eq 0 ] ; then
tests_passed=$((tests_passed + 1))
@@ -203,11 +197,7 @@ run_one_test ()
else
t="*FAILED*"
fi
- if $with_desc ; then
- desc=$(tail -n +4 "$tf" | head -n 1)
- f="$desc"
- fi
- echo "$t $f" >>"$sf"
+ echo "$t $f" >>"$summary_file"
fi
}
@@ -286,6 +276,9 @@ if [ -z "$TEST_VAR_DIR" ] ; then
fi
mkdir -p "$TEST_VAR_DIR"
+summary_file="${TEST_VAR_DIR}/.summary"
+: >"$summary_file"
+
export TEST_SCRIPTS_DIR="${CTDB_TEST_DIR}/scripts"
unit_tests="
@@ -354,18 +347,15 @@ while [ "$max_iterations" -eq 0 ] || [ $iterations -lt "$max_iterations" ] ; do
fi
done
-rm -f "$tf"
-
if $with_summary ; then
if [ $status -eq 0 ] || ! $exit_on_fail ; then
echo
- cat "$sf"
+ cat "$summary_file"
echo
echo "${tests_passed}/${tests_total} tests passed"
fi
fi
-
-rm -f "$sf"
+rm -f "$summary_file"
echo
diff --git a/ctdb/tests/scripts/integration.bash b/ctdb/tests/scripts/integration.bash
index 284449d4503..0aaede98e8a 100644
--- a/ctdb/tests/scripts/integration.bash
+++ b/ctdb/tests/scripts/integration.bash
@@ -619,38 +619,6 @@ _ctdb_scriptstatus_changed ()
#######################################
-nfs_test_setup ()
-{
- select_test_node_and_ips
-
- nfs_first_export=$(showmount -e $test_ip | sed -n -e '2s/ .*//p')
-
- echo "Creating test subdirectory..."
- try_command_on_node $test_node "TMPDIR=$nfs_first_export mktemp -d"
- nfs_test_dir="$out"
- try_command_on_node $test_node "chmod 777 $nfs_test_dir"
-
- nfs_mnt_d=$(mktemp -d)
- nfs_local_file="${nfs_mnt_d}/${nfs_test_dir##*/}/TEST_FILE"
- nfs_remote_file="${nfs_test_dir}/TEST_FILE"
-
- ctdb_test_exit_hook_add nfs_test_cleanup
-
- echo "Mounting ${test_ip}:${nfs_first_export} on ${nfs_mnt_d} ..."
- mount -o timeo=1,hard,intr,vers=3 \
- "[${test_ip}]:${nfs_first_export}" ${nfs_mnt_d}
-}
-
-nfs_test_cleanup ()
-{
- rm -f "$nfs_local_file"
- umount -f "$nfs_mnt_d"
- rmdir "$nfs_mnt_d"
- onnode -q $test_node rmdir "$nfs_test_dir"
-}
-
-#######################################
-
# If the given IP is hosted then print 2 items: maskbits and iface
ip_maskbits_iface ()
{
diff --git a/ctdb/tests/shellcheck/scripts/local.sh b/ctdb/tests/shellcheck/scripts/local.sh
index ab92aaa5575..84019144009 100644
--- a/ctdb/tests/shellcheck/scripts/local.sh
+++ b/ctdb/tests/shellcheck/scripts/local.sh
@@ -28,14 +28,7 @@ shellcheck_test ()
# SC2164: Use cd ... || exit in case cd fails.
# - Most hits are on known directories. Too
# much churn, maybe later.
- # SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not
- # well defined.
- # SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not
- # well defined.
- # - This can cause issues but the number of
- # true positives will be very low. Too much
- # churn, maybe later.
- _excludes="SC1090,SC1091,SC2162,SC2164,SC2166"
+ _excludes="SC1090,SC1091,SC2162,SC2164"
unit_test shellcheck --exclude="$_excludes" "$@"
else
echo "WARNING: shellcheck not installed, skipping test"
diff --git a/ctdb/tests/simple/01_ctdb_reclock_command.sh b/ctdb/tests/simple/01_ctdb_reclock_command.sh
index 34f82e981a1..1e1bb1b588f 100755
--- a/ctdb/tests/simple/01_ctdb_reclock_command.sh
+++ b/ctdb/tests/simple/01_ctdb_reclock_command.sh
@@ -21,7 +21,7 @@ if [ -z "$TEST_LOCAL_DAEMONS" ] ; then
fi
echo "Starting CTDB with recovery lock command configured..."
-ctdb_test_init --reclock-use-command
+ctdb_test_init -R
cluster_is_healthy
diff --git a/ctdb/tests/simple/19_ip_takeover_noop.sh b/ctdb/tests/simple/19_ip_takeover_noop.sh
index 93caf668c0b..d162f0e5fba 100755
--- a/ctdb/tests/simple/19_ip_takeover_noop.sh
+++ b/ctdb/tests/simple/19_ip_takeover_noop.sh
@@ -23,7 +23,7 @@ if [ -z "$TEST_LOCAL_DAEMONS" ] ; then
fi
echo "Starting CTDB with failover disabled..."
-ctdb_test_init --disable-failover
+ctdb_test_init -F
cluster_is_healthy
@@ -41,7 +41,7 @@ echo "GOOD: All IP addresses are unassigned"
echo "----------------------------------------"
echo "Starting CTDB with an empty public addresses configuration..."
-ctdb_test_init --no-public-addresses
+ctdb_test_init -P /dev/null
cluster_is_healthy
diff --git a/ctdb/tests/simple/28_zero_eventscripts.sh b/ctdb/tests/simple/28_zero_eventscripts.sh
index 75e5e047a73..2e536da5e6a 100755
--- a/ctdb/tests/simple/28_zero_eventscripts.sh
+++ b/ctdb/tests/simple/28_zero_eventscripts.sh
@@ -19,7 +19,7 @@ if [ -z "$TEST_LOCAL_DAEMONS" ] ; then
exit 0
fi
-ctdb_test_init --no-event_scripts
+ctdb_test_init --no-event-scripts
cluster_is_healthy
diff --git a/ctdb/tests/simple/69_recovery_resurrect_deleted.sh b/ctdb/tests/simple/69_recovery_resurrect_deleted.sh
index f6c72c59f2a..51d806a5d47 100755
--- a/ctdb/tests/simple/69_recovery_resurrect_deleted.sh
+++ b/ctdb/tests/simple/69_recovery_resurrect_deleted.sh
@@ -18,11 +18,11 @@ cluster_is_healthy
testdb="rec_test.tdb"
echo "Getting list of nodes..."
-try_command_on_node -v any "onnode -pq all ctdb pnn | grep '^[0-9][0-9]*$'"
+ctdb_get_all_pnns
-first=$(sed -n -e '1p' "$outfile")
-second=$(sed -n -e '2p' "$outfile")
-notfirst=$(tail -n +2 "$outfile")
+first=$(echo "$all_pnns" | sed -n -e '1p')
+second=$(echo "$all_pnns" | sed -n -e '2p')
+notfirst=$(echo "$all_pnns" | tail -n +2)
echo "Create/wipe test database ${testdb}"
try_command_on_node $first $CTDB attach "$testdb"
@@ -45,8 +45,9 @@ database_has_zero_records ()
{
local n
for n in $notfirst ; do
- try_command_on_node $n $CTDB cattdb "$testdb"
- if grep -q '^key(' "$outfile" ; then
+ local num_records
+ num_records=$(db_ctdb_cattdb_count_records "$n" "$testdb")
+ if [ "$num_records" != 0 ] ; then
return 1
fi
done
diff --git a/ctdb/tests/simple/scripts/local.bash b/ctdb/tests/simple/scripts/local.bash
index 7b4a4f030df..5ffe2892c5c 100644
--- a/ctdb/tests/simple/scripts/local.bash
+++ b/ctdb/tests/simple/scripts/local.bash
@@ -6,11 +6,6 @@ export SIMPLE_TESTS_VAR_DIR="${TEST_VAR_DIR}/simple"
# Don't remove old directory since state is retained between tests
mkdir -p "$SIMPLE_TESTS_VAR_DIR"
-if [ -z "$TEST_LOCAL_DAEMONS" ] ; then
- # Running against a real cluster
- setup_ctdb_base "$SIMPLE_TESTS_VAR_DIR" "ctdb-etc" \
- functions \
- nodes
-else
+if [ -n "$TEST_LOCAL_DAEMONS" ] ; then
. "${TEST_SUBDIR}/scripts/local_daemons.bash"
fi
diff --git a/ctdb/tests/simple/scripts/local_daemons.bash b/ctdb/tests/simple/scripts/local_daemons.bash
index 5da900288b2..95af943f6d7 100644
--- a/ctdb/tests/simple/scripts/local_daemons.bash
+++ b/ctdb/tests/simple/scripts/local_daemons.bash
@@ -19,34 +19,29 @@ export ONNODE_SSH="${ctdb_local_daemons} ssh"
setup_ctdb ()
{
- local public_addresses=""
local no_event_scripts=false
--
Samba Shared Repository
More information about the samba-cvs
mailing list