mirror of
https://github.com/servalproject/serval-dna.git
synced 2025-01-30 08:03:49 +00:00
Improve test scripts: use new 'wait_until' primitive
This commit is contained in:
parent
cc39a02443
commit
218e7883ce
40
testdefs.sh
40
testdefs.sh
@ -464,30 +464,9 @@ start_servald_instances() {
|
|||||||
eval LOG${I#+}="$instance_servald_log"
|
eval LOG${I#+}="$instance_servald_log"
|
||||||
done
|
done
|
||||||
# Now wait until they see each other.
|
# Now wait until they see each other.
|
||||||
local timeout_seconds=30
|
wait_until --sleep=0.25 instances_see_each_other "$@"
|
||||||
local timeout_retry_seconds=0.25
|
|
||||||
sleep $timeout_seconds &
|
|
||||||
local timeout_pid=$!
|
|
||||||
tfw_log "# wait for instances to see each other"
|
|
||||||
while true; do
|
|
||||||
local allseen=true
|
|
||||||
for I; do
|
|
||||||
for J; do
|
|
||||||
[ $I = $J ] && continue
|
|
||||||
local logvar=LOG${I#+}
|
|
||||||
local sidvar=SID${J#+}
|
|
||||||
if ! grep "ADD OVERLAY NODE sid=${!sidvar}" "${!logvar}"; then
|
|
||||||
allseen=false
|
|
||||||
break 2
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
$allseen && break
|
|
||||||
kill -0 $timeout_pid 2>/dev/null || fail "timeout"
|
|
||||||
tfw_log "sleep $timeout_retry_seconds"
|
|
||||||
sleep $timeout_retry_seconds
|
|
||||||
done
|
|
||||||
tfw_log "# dummynet file:" $(ls -l $DUMMYNET)
|
tfw_log "# dummynet file:" $(ls -l $DUMMYNET)
|
||||||
|
# Assert that all instances report complete all-peer lists.
|
||||||
for I; do
|
for I; do
|
||||||
set_instance $I
|
set_instance $I
|
||||||
executeOk_servald id allpeers
|
executeOk_servald id allpeers
|
||||||
@ -500,3 +479,18 @@ start_servald_instances() {
|
|||||||
done
|
done
|
||||||
pop_instance
|
pop_instance
|
||||||
}
|
}
|
||||||
|
|
||||||
|
instances_see_each_other() {
|
||||||
|
local I J
|
||||||
|
for I; do
|
||||||
|
for J; do
|
||||||
|
[ $I = $J ] && continue
|
||||||
|
local logvar=LOG${I#+}
|
||||||
|
local sidvar=SID${J#+}
|
||||||
|
if ! grep "ADD OVERLAY NODE sid=${!sidvar}" "${!logvar}"; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
@ -38,7 +38,7 @@ setup_rhizome() {
|
|||||||
create_rhizome_identities 1
|
create_rhizome_identities 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# Called by start_servald_instances.
|
# Called by start_servald_instances for each instance.
|
||||||
configure_servald_server() {
|
configure_servald_server() {
|
||||||
executeOk_servald config set debug.rhizome on
|
executeOk_servald config set debug.rhizome on
|
||||||
executeOk_servald config set debug.rhizomesync on
|
executeOk_servald config set debug.rhizomesync on
|
||||||
@ -52,26 +52,15 @@ setup_FileTransferNew() {
|
|||||||
setup_rhizome
|
setup_rhizome
|
||||||
assert_no_servald_processes
|
assert_no_servald_processes
|
||||||
start_servald_instances +A +B
|
start_servald_instances +A +B
|
||||||
set_instance +A
|
|
||||||
echo 'File one' >file1
|
echo 'File one' >file1
|
||||||
|
set_instance +A
|
||||||
executeOk_servald rhizome add file '' '' file1 file1.manifest
|
executeOk_servald rhizome add file '' '' file1 file1.manifest
|
||||||
extract_manifest_id BID file1.manifest
|
extract_manifest_id BID file1.manifest
|
||||||
extract_manifest_version VERSION file1.manifest
|
extract_manifest_version VERSION file1.manifest
|
||||||
|
set_instance +B
|
||||||
}
|
}
|
||||||
test_FileTransferNew() {
|
test_FileTransferNew() {
|
||||||
sleep 30 &
|
wait_until grep "RHIZOME ADD MANIFEST service=file bid=$BID version=$VERSION" "$LOGB"
|
||||||
local timeout_pid=$!
|
|
||||||
local timeout_retry_seconds=1
|
|
||||||
tfw_log "# wait for manifest to arrive"
|
|
||||||
while true; do
|
|
||||||
if grep "RHIZOME ADD MANIFEST service=file bid=$BID version=$VERSION" "$LOGB"; then
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
kill -0 $timeout_pid 2>/dev/null || fail "timeout"
|
|
||||||
tfw_log "sleep $timeout_retry_seconds"
|
|
||||||
sleep $timeout_retry_seconds
|
|
||||||
done
|
|
||||||
set_instance +B
|
|
||||||
executeOk_servald rhizome list ''
|
executeOk_servald rhizome list ''
|
||||||
assert_rhizome_list file1!
|
assert_rhizome_list file1!
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user