X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/4f5d5afc4f526222002d1a2e4515aaf0e6c321ff..7cc0ef1c70f02629659da970528bca4c04986bb8:/run_tests.sh diff --git a/run_tests.sh b/run_tests.sh index aa185c9d..0e5ff4be 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -5,20 +5,15 @@ if [ $# -ne 2 ]; then fi set -e -# To update graalvm config, set GRAALVM_HOME, e.g: -# export GRAALVM_HOME=/usr/lib/jvm/java-17-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/' -fi NUMBER_1="$1" NUMBER_2="$2" TEST_PIN_1=456test_pin_foo123 NATIVE=0 JSON_RPC=0 +TEST_REGISTER=0 -PATH_TEST_CONFIG="$PWD/build/test-config" +PATH_TEST_CONFIG="$PWD/test-config" PATH_MAIN="$PATH_TEST_CONFIG/main" PATH_LINK="$PATH_TEST_CONFIG/link" @@ -26,8 +21,8 @@ if [ "$NATIVE" -eq 1 ]; then SIGNAL_CLI="$PWD/build/native/nativeCompile/signal-cli" elif [ "$JSON_RPC" -eq 1 ]; then (cd client && cargo build) - "$PWD/build/install/signal-cli/bin/signal-cli" --verbose --verbose --trust-new-identities=always --config="$PATH_MAIN" --service-environment="staging" daemon --socket --receive-mode=manual& - "$PWD/build/install/signal-cli/bin/signal-cli" --verbose --verbose --trust-new-identities=always --config="$PATH_LINK" --service-environment="staging" daemon --tcp --receive-mode=manual& + "$PWD/build/install/signal-cli/bin/signal-cli" --verbose --verbose --trust-new-identities=always --config="$PATH_MAIN" --service-environment="staging" --log-file="$PATH_MAIN/log" daemon --socket --receive-mode=manual& + "$PWD/build/install/signal-cli/bin/signal-cli" --verbose --verbose --trust-new-identities=always --config="$PATH_LINK" --service-environment="staging" --log-file="$PATH_LINK/log" daemon --tcp --receive-mode=manual& sleep 5 SIGNAL_CLI="$PWD/client/target/debug/signal-cli-client" else @@ -36,29 +31,40 @@ else fi run() { + # To update graalvm config, set GRAALVM_HOME, e.g: + # export GRAALVM_HOME=/usr/lib/jvm/java-21-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-${SIGNAL_CLI_AGENT_ID}/" + fi + set -x if [ "$JSON_RPC" -eq 1 ]; then "$SIGNAL_CLI" $@ else - "$SIGNAL_CLI" --service-environment="staging" $@ + "$SIGNAL_CLI" --service-environment="staging" --verbose --verbose $@ fi set +x } run_main() { + export SIGNAL_CLI_AGENT_ID=main if [ "$JSON_RPC" -eq 1 ]; then run --json-rpc-socket="$XDG_RUNTIME_DIR/signal-cli/socket" $@ else - run --config="$PATH_MAIN" $@ + run --config="$PATH_MAIN" --log-file="$PATH_MAIN/log" $@ fi + unset SIGNAL_CLI_AGENT_ID } run_linked() { + export SIGNAL_CLI_AGENT_ID=linked if [ "$JSON_RPC" -eq 1 ]; then run --json-rpc-tcp="127.0.0.1:7583" $@ else - run --config="$PATH_LINK" $@ + run --config="$PATH_LINK" --log-file="$PATH_LINK/log" $@ fi + unset SIGNAL_CLI_AGENT_ID } register() { @@ -92,16 +98,20 @@ link() { } run_main --version +run_main version run_main --help ## Register -register "$NUMBER_1" "$TEST_PIN_1" -register "$NUMBER_2" +if [ "$TEST_REGISTER" -eq 1 ]; then + register "$NUMBER_1" "$TEST_PIN_1" + register "$NUMBER_2" +fi sleep 5 run_main listAccounts run_main --output=json listAccounts +run_main --scrub-log listAccounts if [ "$JSON_RPC" -eq 0 ]; then ## DBus @@ -150,6 +160,7 @@ wait fi run_main -a "$NUMBER_1" setPin "$TEST_PIN_1" +run_main -a "$NUMBER_1" register --reregister run_main -a "$NUMBER_2" removePin ## Contacts @@ -172,22 +183,15 @@ run_main -a "$NUMBER_1" updateGroup -g "$GROUP_ID" -r "$NUMBER_2" run_main -a "$NUMBER_1" updateGroup -g "$GROUP_ID" -m "$NUMBER_2" run_main -a "$NUMBER_1" listGroups -d run_main -a "$NUMBER_1" --output=json listGroups -d -run_main -a "$NUMBER_2" --verbose receive +run_main -a "$NUMBER_2" receive run_main -a "$NUMBER_2" quitGroup -g "$GROUP_ID" run_main -a "$NUMBER_2" listGroups -d run_main -a "$NUMBER_2" --output=json listGroups -d run_main -a "$NUMBER_1" receive run_main -a "$NUMBER_1" updateGroup -g "$GROUP_ID" -m "$NUMBER_2" -run_main -a "$NUMBER_1" --verbose block -g "$GROUP_ID" -run_main -a "$NUMBER_1" --verbose unblock -g "$GROUP_ID" - -## Configuration -run_main -a "$NUMBER_1" updateConfiguration --read-receipts=true - -## Identities -run_main -a "$NUMBER_1" listIdentities -run_main -a "$NUMBER_2" listIdentities -run_main -a "$NUMBER_2" trust "$NUMBER_1" -a +run_main -a "$NUMBER_1" block -g "$GROUP_ID" +run_main -a "$NUMBER_1" unblock -g "$GROUP_ID" +run_main -a "$NUMBER_1" submitRateLimitChallenge --challenge 8xxxxxx8-0xx2-4xx9-9xx2-4xxxxxxxxxx7 --captcha signalcaptcha://signal-hcaptcha.5fa.registration.P.h.-K || true ## Basic send/receive for OUTPUT in "plain-text" "json"; do @@ -195,7 +199,7 @@ for OUTPUT in "plain-text" "json"; do run_main -a "$NUMBER_1" --output="$OUTPUT" send "$NUMBER_2" -m hi run_main -a "$NUMBER_2" --output="$OUTPUT" send "$NUMBER_1" -m hi run_main -a "$NUMBER_1" --output="$OUTPUT" send -g "$GROUP_ID" -m hi -a LICENSE --mention "1:1:$NUMBER_2" - TIMESTAMP=$(uname -a | run_main -a "$NUMBER_1" --output=json send "$NUMBER_2" | jq '.timestamp') + TIMESTAMP=$(uname -a | run_main -a "$NUMBER_1" --output=json send --message-from-stdin "$NUMBER_2" | jq '.timestamp') run_main -a "$NUMBER_2" --output="$OUTPUT" sendReaction "$NUMBER_1" -e 🍀 -a "$NUMBER_1" -t "$TIMESTAMP" run_main -a "$NUMBER_1" --output="$OUTPUT" remoteDelete "$NUMBER_2" -t "$TIMESTAMP" run_main -a "$NUMBER_2" --output="$OUTPUT" receive @@ -205,7 +209,7 @@ for OUTPUT in "plain-text" "json"; do done ## Profile -run_main -a "$NUMBER_1" updateProfile --given-name=GIVEN --family-name=FAMILY --about=ABOUT --about-emoji=EMOJI --avatar=LICENSE +run_main -a "$NUMBER_1" updateProfile --given-name=GIVEN --family-name=FAMILY --about=ABOUT --about-emoji=EMOJI --avatar=LICENSE --mobile-coin-address="YWJjCg==" ## Provisioning link "$NUMBER_1" @@ -214,9 +218,19 @@ run_main -a "$NUMBER_1" listDevices run_linked -a "$NUMBER_1" sendSyncRequest run_main -a "$NUMBER_1" sendContacts +## Configuration +run_main -a "$NUMBER_1" updateConfiguration --read-receipts=true + +## Identities +run_main -a "$NUMBER_1" listIdentities +run_main -a "$NUMBER_2" listIdentities +run_main -a "$NUMBER_2" trust "$NUMBER_1" -a + for OUTPUT in "plain-text" "json"; do run_main -a "$NUMBER_1" --output="$OUTPUT" send "$NUMBER_2" -m hi - run_main -a "$NUMBER_2" --output="$OUTPUT" send "$NUMBER_1" -m hi + run_main -a "$NUMBER_1" --output="$OUTPUT" send "$NUMBER_2" -m hi --edit-timestamp 123456677 + run_main -a "$NUMBER_2" --output="$OUTPUT" send "$NUMBER_1" -m hi --text-style "1:1:BOLD" --quote-timestamp 12345 --quote-author "$NUMBER_1" --quote-message hitest --quote-text-style "1:1:BOLD" --preview-url "https://example.com" --preview-title preview --preview-description foo --preview-image LICENSE --story-timestamp 1234567 --story-author "$NUMBER_1" + run_main -a "$NUMBER_1" --output="$OUTPUT" sendPaymentNotification --receipt "YWJjCg==" --note notefoo "$NUMBER_2" run_main -a "$NUMBER_2" --output="$OUTPUT" receive run_main -a "$NUMBER_1" --output="$OUTPUT" receive run_linked -a "$NUMBER_1" --output="$OUTPUT" receive @@ -225,5 +239,13 @@ done run_main -a "$NUMBER_1" removeDevice -d 2 ## Unregister -run_main -a "$NUMBER_1" unregister -run_main -a "$NUMBER_2" unregister --delete-account +if [ "$TEST_REGISTER" -eq 1 ]; then + run_main -a "$NUMBER_1" unregister + run_main -a "$NUMBER_2" unregister --delete-account +fi +run_main -a "$NUMBER_2" deleteLocalAccountData || true + +if [ ! -z "$GRAALVM_HOME" ]; then + "$GRAALVM_HOME"/lib/svm/bin/native-image-configure generate --input-dir=graalvm-config-dir/ --input-dir=graalvm-config-dir-linked/ --input-dir=graalvm-config-dir-main/ --output-dir=graalvm-config-dir// + rm -r graalvm-config-dir-main graalvm-config-dir-linked +fi