summaryrefslogtreecommitdiff
path: root/ctdb/tests
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2020-03-06 05:10:05 +1100
committerMartin Schwenke <martins@samba.org>2020-07-22 09:14:35 +0000
commit484a764e832bcfcaf15a1c6f157643bd0e0df5d1 (patch)
treeae020054b9b312e01e22e3ec535625908f5ce3b2 /ctdb/tests
parentf4c2c77ff726dd7d28a7d8c3cd815c802a8a6cfa (diff)
downloadsamba-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-xctdb/tests/INTEGRATION/database/basics.001.attach.sh48
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