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"
NATIVE=0
JSON_RPC=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"
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
fi
run() {
+ # 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-${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() {
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"
+run_main -a "$NUMBER_1" block -g "$GROUP_ID"
+run_main -a "$NUMBER_1" unblock -g "$GROUP_ID"
## Configuration
run_main -a "$NUMBER_1" updateConfiguration --read-receipts=true
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
## Unregister
run_main -a "$NUMBER_1" unregister
run_main -a "$NUMBER_2" unregister --delete-account
+
+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