Patchwork D8189: testlib: add a small scrip to help process to synchronise using file

login
register
mail settings
Submitter phabricator
Date April 1, 2020, 3:21 p.m.
Message ID <c9bb3f37bbc29ea6ad8dbfc2120f0c86@localhost.localdomain>
Download mbox | patch
Permalink /patch/45960/
State Not Applicable
Headers show

Comments

phabricator - April 1, 2020, 3:21 p.m.
Closed by commit rHG1ed6293fc31b: testlib: add a small scrip to help process to synchronise using file (authored by marmoute).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs Review".

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D8189?vs=20856&id=20930

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: pulkit, durin42, mharbison72, mercurial-devel

Patch

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