| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #!/bin/bash
- # Copyright (C) 2014 Jakob Borg and other contributors. All rights reserved.
- # Use of this source code is governed by an MIT-style license that can be
- # found in the LICENSE file.
- id1=I6KAH76-66SLLLB-5PFXSOA-UFJCDZC-YAOMLEK-CP2GB32-BV5RQST-3PSROAU
- id2=JMFJCXB-GZDE4BN-OCJE3VF-65GYZNU-AIVJRET-3J6HMRQ-AUQIGJO-FKNHMQU
- go build json.go
- go build md5r.go
- go build genfiles.go
- start() {
- echo "Starting..."
- STTRACE=model,scanner STPROFILER=":9091" syncthing -home "f1" > 1.out 2>&1 &
- STTRACE=model,scanner STPROFILER=":9092" syncthing -home "f2" > 2.out 2>&1 &
- sleep 1
- }
- stop() {
- echo "Stopping..."
- for i in 1 2 ; do
- curl -HX-API-Key:abc123 -X POST "http://localhost:808$i/rest/shutdown"
- done
- sleep 1
- }
- setup() {
- echo "Setting up..."
- rm -rf s? s??-?
- rm -rf f?/*.idx.gz f?/index
- mkdir -p s1
- pushd s1 >/dev/null
- ../genfiles
- ../md5r > ../md5-1
- popd >/dev/null
- }
- testConvergence() {
- torestart="$1"
- prevcomp=0
- while true ; do
- sleep 5
- comp=$(curl -HX-API-Key:abc123 -s "http://localhost:8081/rest/debug/peerCompletion" | ./json "$id2")
- comp=${comp:-0}
- echo $comp / 100
- if [[ $comp == 100 ]] ; then
- echo Done
- break
- fi
- # Restart if the destination has made some progress
- if [[ $comp -gt $prevcomp ]] ; then
- prevcomp=$comp
- curl -HX-API-Key:abc123 -X POST "http://localhost:$torestart/rest/restart"
- fi
- done
- echo "Verifying..."
- pushd s2 >/dev/null
- ../md5r | grep -v .stversions > ../md5-2
- popd >/dev/null
- if ! cmp md5-1 md5-2 ; then
- echo Repos differ
- stop
- exit 1
- fi
- }
- echo Testing reconnects during pull where the source node restarts
- setup
- start
- testConvergence 8081
- stop
- echo Testing reconnects during pull where the destination node restarts
- setup
- start
- testConvergence 8082
- stop
- exit 0
|