From patchwork Fri Mar 20 23:07:34 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D8189: testlib: add a small scrip to help process to synchronise using file From: phabricator X-Patchwork-Id: 45853 Message-Id: <76429eddee8401735f97a2c6f26b69e6@localhost.localdomain> To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Fri, 20 Mar 2020 23:07:34 +0000 marmoute updated this revision to Diff 20856. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D8189?vs=20392&id=20856 BRANCH default CHANGES SINCE LAST ACTION https://phab.mercurial-scm.org/D8189/new/ REVISION DETAIL https://phab.mercurial-scm.org/D8189 AFFECTED FILES tests/testlib/wait-on-file CHANGE DETAILS To: marmoute, #hg-reviewers Cc: durin42, mharbison72, mercurial-devel diff --git a/tests/testlib/wait-on-file b/tests/testlib/wait-on-file new file mode 100755 --- /dev/null +++ b/tests/testlib/wait-on-file @@ -0,0 +1,32 @@ +#!/bin/bash +# +# wait up to TIMEOUT seconds until a WAIT_ON_FILE is created. +# +# In addition, this script can create CREATE_FILE once it is ready to wait. + +if [ $# -lt 2 ] || [ $# -gt 3 ]; then + echo $# + echo "USAGE: $0 TIMEOUT WAIT_ON_FILE [CREATE_FILE]" +fi + +timer="$1" +wait_on="$2" +create="" +if [ $# -eq 3 ]; then + create="$3" +fi + +if [ -n "$create" ]; +then + touch "$create" + create="" +fi +while [ "$timer" -gt 0 ] && [ ! -f "$wait_on" ]; +do + timer=$(( timer - 1)) + sleep 0.01 +done +if [ "$timer" -le 0 ]; then + echo "file not created after $1 seconds: $wait_on" >&2 + exit 1 +fi