diff --git a/test_suite/scripts/modules/71_lib_wait.sh b/test_suite/scripts/modules/71_lib_wait.sh index f02d97b0..ae737a6c 100644 --- a/test_suite/scripts/modules/71_lib_wait.sh +++ b/test_suite/scripts/modules/71_lib_wait.sh @@ -263,6 +263,8 @@ function lib_wait_for_secondary_to_become_uptodate_and_cmp_cksums "net_throughput" lib_vmsg " ${FUNCNAME[0]} called from ${FUNCNAME[1]}: apply time: $time_waited" + lib_linktree_check_equality_and_correctness_of_replay_links $primary_host \ + $secondary_host $res for role in "primary" "secondary"; do eval host='$'${role}_host diff --git a/test_suite/scripts/modules/81_lib_linktree.sh b/test_suite/scripts/modules/81_lib_linktree.sh index ab5a18aa..7e6f636c 100644 --- a/test_suite/scripts/modules/81_lib_linktree.sh +++ b/test_suite/scripts/modules/81_lib_linktree.sh @@ -179,3 +179,25 @@ function lib_linktree_get_next_logfile } +function lib_linktree_check_equality_and_correctness_of_replay_links +{ + [ $# -eq 3 ] || lib_exit 1 "wrong number $# of arguments (args = $*)" + local primary_host=$1 secondary_host=$2 res=$3 + local host link link_val link_val_primary link_val_secondary h + lib_vmsg " checking equality of replay links" + for h in primary secondary; do + eval host='$'$h'_host' + link="$(lib_linktree_get_res_host_linkname $host $res "replay")" || lib_exit 1 + link_val="$(lib_remote_idfile $host "readlink $link")" || lib_exit 1 + if [ -z "$link_val" ]; then + lib_exit 1 " value of replay link $link on $host is empty" + fi + if ! expr "$link_val" : ".*-$primary_host,.*" >/dev/null; then + lib_exit 1 " value of replay link $link on $host does not contain primary_host $primary_host" + fi + eval link_val_$h="$link_val" + done + if [ "$link_val_primary" != "$link_val_secondary" ]; then + lib_exit 1 "different replay link values: $primary_host: $link_val_primary, $secondary_host: $link_val_secondary" + fi +}