1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-06 13:18:07 +03:00
samba-mirror/ctdb/tests/INTEGRATION/database/basics.001.attach.sh
Martin Schwenke 484a764e83 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
2020-07-22 09:14:35 +00:00

49 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# Verify that 'ctdb getdbmap' operates as expected
. "${TEST_SCRIPTS_DIR}/integration.bash"
set -e
ctdb_test_init
select_test_node
# test_node set by select_test_node() above
# shellcheck disable=SC2154
ctdb_onnode -v "$test_node" getdbmap
dbid='dbid:0x[[:xdigit:]]+'
name='name:[^[:space:]]+'
path='path:[^[:space:]]+'
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="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