]> nmode's Git Repositories - signal-cli/blobdiff - run_tests.sh
Fix rare null pointer exception when receiving message from untrusted identity
[signal-cli] / run_tests.sh
index c4f5a2287131bd656ee685610ff1cedb1924ae78..1405ada38db4ae5429c02abfdd4d6f15a83d33db 100755 (executable)
@@ -1,15 +1,15 @@
 #!/bin/sh
 if [ $# -ne 2 ]; then
-       echo "Usage: $0 NUMBER_1 NUMBER_2"
-       exit 1
+  echo "Usage: $0 NUMBER_1 NUMBER_2"
+  exit 1
 fi
 
 set -e
 # To update graalvm config, set GRAALVM_HOME, e.g:
 # export GRAALVM_HOME=/usr/lib/jvm/java-11-graalvm
 if [ ! -z "$GRAALVM_HOME" ]; then
-       export JAVA_HOME=$GRAALVM_HOME
-       export SIGNAL_CLI_OPTS='-agentlib:native-image-agent=config-merge-dir=graalvm-config-dir/'
+  export JAVA_HOME=$GRAALVM_HOME
+  export SIGNAL_CLI_OPTS='-agentlib:native-image-agent=config-merge-dir=graalvm-config-dir/'
 fi
 export SIGNAL_CLI="$PWD/build/install/signal-cli/bin/signal-cli"
 
@@ -24,47 +24,47 @@ PATH_LINK="$PATH_TEST_CONFIG/link"
 ./gradlew installDist
 
 function run() {
-       set -x
-       "$SIGNAL_CLI" --service-environment="sandbox" $@
-       set +x
+  set -x
+  "$SIGNAL_CLI" --service-environment="sandbox" $@
+  set +x
 }
 
 function run_main() {
-       run --config="$PATH_MAIN" $@
+  run --config="$PATH_MAIN" $@
 }
 
 function run_linked() {
-       run --config="$PATH_LINK" $@
+  run --config="$PATH_LINK" $@
 }
 
 function register() {
-       NUMBER=$1
-       PIN=$2
-       echo -n "Enter a captcha token (https://signalcaptchas.org/registration/generate.html): "
-       read CAPTCHA
-       run_main -u "$NUMBER" register --captcha "$CAPTCHA"
-       echo -n "Enter validation code for ${NUMBER}: "
-       read CODE
-       if [ -z "$PIN" ]; then
-               run_main -u "$NUMBER" verify "$CODE"
-       else
-               run_main -u "$NUMBER" verify "$CODE" --pin "$PIN"
-       fi
+  NUMBER=$1
+  PIN=$2
+  echo -n "Enter a captcha token (https://signalcaptchas.org/registration/generate.html): "
+  read CAPTCHA
+  run_main -u "$NUMBER" register --captcha "$CAPTCHA"
+  echo -n "Enter validation code for ${NUMBER}: "
+  read CODE
+  if [ -z "$PIN" ]; then
+    run_main -u "$NUMBER" verify "$CODE"
+  else
+    run_main -u "$NUMBER" verify "$CODE" --pin "$PIN"
+  fi
 }
 
 function link() {
-       NUMBER=$1
-       LINK_CODE_FILE="$PATH_TEST_CONFIG/link_code"
-       rm -f "$LINK_CODE_FILE"
-       mkfifo "$LINK_CODE_FILE"
-       run_linked link -n "test-device" > "$LINK_CODE_FILE" &
-       read LINK_CODE < "$LINK_CODE_FILE"
-       run_main -u "$NUMBER" addDevice --uri "$LINK_CODE"
-       wait
-       run_linked -u "$NUMBER" send --note-to-self -m hi
-       run_main -u "$NUMBER" receive
-       run_linked -u "$NUMBER" receive
-       run_main -u "$NUMBER" receive
+  NUMBER=$1
+  LINK_CODE_FILE="$PATH_TEST_CONFIG/link_code"
+  rm -f "$LINK_CODE_FILE"
+  mkfifo "$LINK_CODE_FILE"
+  run_linked link -n "test-device" >"$LINK_CODE_FILE" &
+  read LINK_CODE <"$LINK_CODE_FILE"
+  run_main -u "$NUMBER" addDevice --uri "$LINK_CODE"
+  wait
+  run_linked -u "$NUMBER" send --note-to-self -m hi
+  run_main -u "$NUMBER" receive
+  run_linked -u "$NUMBER" receive
+  run_main -u "$NUMBER" receive
 }
 
 run_main --version
@@ -112,23 +112,22 @@ run_main -u "$NUMBER_2" trust "$NUMBER_1" -a
 
 ## Basic send/receive
 for OUTPUT in "plain-text" "json"; do
-       run_main -u "$NUMBER_1" --output="$OUTPUT" getUserStatus "$NUMBER_1" "$NUMBER_2" "+111111111"
-       run_main -u "$NUMBER_1" send "$NUMBER_2" -m hi
-       run_main -u "$NUMBER_2" send "$NUMBER_1" -m hi
-       run_main -u "$NUMBER_1" send -g "$GROUP_ID" -m hi -a LICENSE
-       TIMESTAMP=$(uname -a | run_main -u "$NUMBER_1" send "$NUMBER_2")
-       run_main -u "$NUMBER_2" sendReaction "$NUMBER_1" -e 🍀 -a "$NUMBER_1" -t "$TIMESTAMP"
-       run_main -u "$NUMBER_1" remoteDelete "$NUMBER_2" -t "$TIMESTAMP"
-       run_main -u "$NUMBER_2" --output="$OUTPUT" receive
-       run_main -u "$NUMBER_1" --output="$OUTPUT" receive
-       run_main -u "$NUMBER_1" send -e "$NUMBER_2"
-       run_main -u "$NUMBER_2" --output="$OUTPUT" receive
+  run_main -u "$NUMBER_1" --output="$OUTPUT" getUserStatus "$NUMBER_1" "$NUMBER_2" "+111111111"
+  run_main -u "$NUMBER_1" send "$NUMBER_2" -m hi
+  run_main -u "$NUMBER_2" send "$NUMBER_1" -m hi
+  run_main -u "$NUMBER_1" send -g "$GROUP_ID" -m hi -a LICENSE
+  TIMESTAMP=$(uname -a | run_main -u "$NUMBER_1" send "$NUMBER_2")
+  run_main -u "$NUMBER_2" sendReaction "$NUMBER_1" -e 🍀 -a "$NUMBER_1" -t "$TIMESTAMP"
+  run_main -u "$NUMBER_1" remoteDelete "$NUMBER_2" -t "$TIMESTAMP"
+  run_main -u "$NUMBER_2" --output="$OUTPUT" receive
+  run_main -u "$NUMBER_1" --output="$OUTPUT" receive
+  run_main -u "$NUMBER_1" send -e "$NUMBER_2"
+  run_main -u "$NUMBER_2" --output="$OUTPUT" receive
 done
 
 ## Profile
 run_main -u "$NUMBER_1" updateProfile --given-name=GIVEN --family-name=FAMILY --about=ABOUT --about-emoji=EMOJI --avatar=LICENSE
 
-
 ## Provisioning
 link "$NUMBER_1"
 link "$NUMBER_2"
@@ -136,6 +135,14 @@ run_main -u "$NUMBER_1" listDevices
 run_linked -u "$NUMBER_1" sendSyncRequest
 run_main -u "$NUMBER_1" sendContacts
 
+for OUTPUT in "plain-text" "json"; do
+  run_main -u "$NUMBER_1" send "$NUMBER_2" -m hi
+  run_main -u "$NUMBER_2" send "$NUMBER_1" -m hi
+  run_main -u "$NUMBER_2" --output="$OUTPUT" receive
+  run_main -u "$NUMBER_1" --output="$OUTPUT" receive
+  run_linked -u "$NUMBER_1" --output="$OUTPUT" receive
+done
+
 run_main -u "$NUMBER_1" removeDevice -d 2
 
 ## DBus