3838 SIGNAL_CLI=" $PWD /build/install/signal-cli/bin/signal-cli"
3939fi
4040
41+ # Prefer line-buffered output for external commands when available
42+ if command -v stdbuf > /dev/null 2>&1 ; then
43+ STD_BUF=" stdbuf -oL -eL --"
44+ else
45+ STD_BUF=" "
46+ fi
47+
4148run () {
4249 # To update graalvm config, set GRAALVM_HOME, e.g:
4350 # export GRAALVM_HOME=/usr/lib/jvm/java-25-graalvm
@@ -48,11 +55,23 @@ run() {
4855
4956 set -x
5057 if [ " $JSON_RPC " -eq 1 ]; then
51- " $SIGNAL_CLI " $@
58+ if [ -n " $STD_BUF " ]; then
59+ $STD_BUF " $SIGNAL_CLI " $@
60+ else
61+ " $SIGNAL_CLI " $@
62+ fi
5263 elif [ " $DBUS " -eq 1 ]; then
53- " $SIGNAL_CLI " --dbus --verbose --verbose $@ | grep -v ' Warning:' | grep -v ' at org'
64+ if [ -n " $STD_BUF " ]; then
65+ $STD_BUF " $SIGNAL_CLI " --dbus --verbose --verbose $@ | grep --line-buffered -v ' Warning:' | grep --line-buffered -v ' at org'
66+ else
67+ " $SIGNAL_CLI " --dbus --verbose --verbose $@ | grep --line-buffered -v ' Warning:' | grep --line-buffered -v ' at org'
68+ fi
5469 else
55- " $SIGNAL_CLI " --service-environment=" staging" --verbose --verbose $@ | grep -v ' Warning:' | grep -v ' at org'
70+ if [ -n " $STD_BUF " ]; then
71+ $STD_BUF " $SIGNAL_CLI " --service-environment=" staging" --verbose --verbose $@ | grep --line-buffered -v ' Warning:' | grep --line-buffered -v ' at org'
72+ else
73+ " $SIGNAL_CLI " --service-environment=" staging" --verbose --verbose $@ | grep --line-buffered -v ' Warning:' | grep --line-buffered -v ' at org'
74+ fi
5675 fi
5776 set +x
5877}
@@ -98,9 +117,10 @@ link() {
98117 rm -f " $LINK_CODE_FILE "
99118 mkfifo " $LINK_CODE_FILE "
100119 run_linked link -n " test-device" > " $LINK_CODE_FILE " &
101- read LINK_CODE < " $LINK_CODE_FILE "
120+ LINK_PID=$!
121+ read -r LINK_CODE < " $LINK_CODE_FILE "
102122 run_main -a " $NUMBER " addDevice --uri " $LINK_CODE "
103- wait
123+ wait $LINK_PID
104124 run_linked -a " $NUMBER " send --note-to-self -m hi
105125 run_main -a " $NUMBER " receive
106126 run_linked -a " $NUMBER " receive
@@ -180,6 +200,7 @@ run_main -a "$NUMBER_2" updateContact "$NUMBER_1" -n NUMBER_1 -e 10
180200run_main -a " $NUMBER_2 " block " $NUMBER_1 "
181201run_main -a " $NUMBER_2 " unblock " $NUMBER_1 "
182202run_main -a " $NUMBER_2 " listContacts
203+ run_main -a " $NUMBER_2 " listContacts " $NUMBER_1 "
183204
184205run_main -a " $NUMBER_1 " send " $NUMBER_2 " -m hi
185206run_main -a " $NUMBER_2 " receive
@@ -207,6 +228,7 @@ run_main -a "$NUMBER_1" updateGroup -g "$GROUP_ID" -m "$NUMBER_2"
207228run_main -a " $NUMBER_1 " listGroups -d
208229run_main -a " $NUMBER_1 " --output=json listGroups -d
209230run_main -a " $NUMBER_2 " receive
231+ run_main -a " $NUMBER_2 " listGroups -g " $GROUP_ID "
210232run_main -a " $NUMBER_2 " quitGroup -g " $GROUP_ID "
211233run_main -a " $NUMBER_2 " listGroups -d
212234run_main -a " $NUMBER_2 " --output=json listGroups -d
@@ -228,15 +250,16 @@ for OUTPUT in "plain-text" "json"; do
228250 run_main -a " $NUMBER_2 " --output=" $OUTPUT " receive
229251 run_main -a " $NUMBER_1 " --output=" $OUTPUT " receive
230252 run_main -a " $NUMBER_1 " --output=" $OUTPUT " send -e " $NUMBER_2 "
253+ run_main -a " $NUMBER_1 " --output=" $OUTPUT " send " $NUMBER_2 " -m test
231254 run_main -a " $NUMBER_2 " --output=" $OUTPUT " receive
232255done
233256
234257# # Profile
235258run_main -a " $NUMBER_1 " updateProfile --given-name=GIVEN --family-name=FAMILY --about=ABOUT --about-emoji=EMOJI --avatar=LICENSE --mobile-coin-address=" YWJjCg=="
236259
237260# # Provisioning
238- link " $NUMBER_1 "
239- link " $NUMBER_2 "
261+ link " $NUMBER_1 " || true
262+ link " $NUMBER_2 " || true
240263run_main -a " $NUMBER_1 " listDevices
241264run_linked -a " $NUMBER_1 " sendSyncRequest
242265run_main -a " $NUMBER_1 " sendContacts
0 commit comments