diff options
author | Martin Schwenke <martin@meltin.net> | 2020-03-06 05:10:05 +1100 |
---|---|---|
committer | Martin Schwenke <martins@samba.org> | 2020-07-22 09:14:35 +0000 |
commit | 484a764e832bcfcaf15a1c6f157643bd0e0df5d1 (patch) | |
tree | ae020054b9b312e01e22e3ec535625908f5ce3b2 /ctdb/tests | |
parent | f4c2c77ff726dd7d28a7d8c3cd815c802a8a6cfa (diff) | |
download | samba-484a764e832bcfcaf15a1c6f157643bd0e0df5d1.tar.gz |
ctdb-tests: Improve test portability/quality
Avoid use of non-portable md5sum by constructing database names using
index. Improve indentation, use more modern commands, code
improvements (shellcheck).
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Wed Jul 22 09:14:35 UTC 2020 on sn-devel-184
Diffstat (limited to 'ctdb/tests')
-rwxr-xr-x | ctdb/tests/INTEGRATION/database/basics.001.attach.sh | 48 |
1 files changed, 23 insertions, 25 deletions
diff --git a/ctdb/tests/INTEGRATION/database/basics.001.attach.sh b/ctdb/tests/INTEGRATION/database/basics.001.attach.sh index e5c6b81ba65..1fbffc58436 100755 --- a/ctdb/tests/INTEGRATION/database/basics.001.attach.sh +++ b/ctdb/tests/INTEGRATION/database/basics.001.attach.sh @@ -8,14 +8,11 @@ set -e ctdb_test_init -make_temp_db_filename () -{ - dd if=/dev/urandom count=1 bs=512 2>/dev/null | - md5sum | - awk '{printf "%s.tdb\n", $1}' -} +select_test_node -try_command_on_node -v 0 "$CTDB getdbmap" +# test_node set by select_test_node() above +# shellcheck disable=SC2154 +ctdb_onnode -v "$test_node" getdbmap dbid='dbid:0x[[:xdigit:]]+' name='name:[^[:space:]]+' @@ -24,27 +21,28 @@ opts='( (PERSISTENT|STICKY|READONLY|REPLICATED|UNHEALTHY))*' line="${dbid} ${name} ${path}${opts}" dbmap_pattern="^(Number of databases:[[:digit:]]+|${line})\$" +# outfile set by ctdb_onnode() above +# shellcheck disable=SC2154 num_db_init=$(sed -n -e '1s/.*://p' "$outfile") sanity_check_output $(($num_db_init + 1)) "$dbmap_pattern" for i in $(seq 1 5) ; do - f=$(make_temp_db_filename) - echo "Creating test database: $f" - try_command_on_node 0 $CTDB attach "$f" - try_command_on_node 0 $CTDB getdbmap - sanity_check_output $(($num_db_init + 1)) "$dbmap_pattern" - num=$(sed -n -e '1s/^.*://p' "$outfile") - if [ $num = $(($num_db_init + $i)) ] ; then - echo "OK: correct number of additional databases" - else - echo "BAD: no additional database" - exit 1 - fi - if awk '{print $2}' "$outfile" | grep -Fqx "name:$f" ; then - echo "OK: getdbmap knows about \"$f\"" - else - echo "BAD: getdbmap does not know about \"$f\"" - exit 1 - fi + f="attach_test_${i}.tdb" + echo "Creating test database: $f" + ctdb_onnode "$test_node" "attach ${f}" + + ctdb_onnode "$test_node" getdbmap + sanity_check_output $((num_db_init + 1)) "$dbmap_pattern" + num=$(sed -n -e '1s/^.*://p' "$outfile") + if [ "$num" = $((num_db_init + i)) ] ; then + echo "OK: correct number of additional databases" + else + ctdb_test_fail "BAD: no additional database" + fi + if awk '{print $2}' "$outfile" | grep -Fqx "name:$f" ; then + echo "OK: getdbmap knows about \"$f\"" + else + ctdb_test_fail "BAD: getdbmap does not know about \"$f\"" + fi done |