WVPASS run_server console | WVPASS grep -F 'Hello console'
)
+WVSTART "default_cmd can be set to run_novaboot"
+(
+ export NOVABOOT_SHELL_CONFIG="./.novaboot-shell"
+ cat <<EOF > default_nb_script
+run echo "Hello default_nb_script"
+EOF
+ cat <<'EOF' > $NOVABOOT_SHELL_CONFIG
+default_cmd='run_novaboot default_nb_script --scriptmod=s/default_nb_script/default_nb_script_mod/'
+console_cmd='while sleep 0.01; do echo "Hello console"; done'
+reset_cmd='echo "Hello reset"'
+target_config="\
+--name=some name with spaces and hash #
+--exiton=Hello console
+"
+EOF
+ WVPASS run_server | (
+ stdout=$(cat)
+ WVPASS grep -F 'Hello default_nb_script' <<<"$stdout"
+ WVPASS grep -F 'Hello default_nb_script_mod' <<<"$stdout"
+ WVPASS grep -F 'Hello console' <<<"$stdout"
+ )
+)
+
WVSTART 'Second connection to console prints queue'
coproc console1 { exec_server console; }
WVPASS sed -e '/novaboot-shell: Connected/q0' -e '3q1' <&${console1[0]}
WVPASS run_server console | tee /dev/stderr | WVPASS grep -F "Hello user"
)
+WVSTART "reset_cmd may contain a shell function name"
+(
+ export NOVABOOT_SHELL_CONFIG="./.novaboot-shell"
+ WVPASS tee "$NOVABOOT_SHELL_CONFIG" <<<'reset_cmd () { echo Hello user; }
+reset_cmd=reset_cmd'
+ WVPASS run_server reset | tee /dev/stderr | WVPASS grep -F "Hello user"
+)
+
+if [ -n "$DEB_HOST_ARCH" ]; then
+ echo >&2 "Skipping server tests in Debian package build, because these cannot pass."
+ exit 0
+fi
+
SHELLRC="$NBT_HOME/.novaboot-shell"
TFTPROOT="$NBT_HOME/tftproot"
AUTH="$NBT_HOME/.ssh/authorized_keys"
if [ ! -f id_rsa ]; then
ssh-keygen -t rsa -C "generated by $0" -N '' -f ./id_rsa
fi
+ID_RSA=$(realpath ./id_rsa)
WVPASS ssh-add ./id_rsa
WVSTART "Setup SSH server's admin key"
WVPASS sudo_ mkdir -p $(dirname "$AUTH")
WVPASS sudo_ chmod 700 $(dirname "$AUTH")
-WVPASS sudo_ tee "$AUTH" <<<"command=\"user test admin\" $(cat ./id_rsa.pub)"
+WVPASS sudo_ tee "$AUTH" <<<"command=\"user test admin\" $(cat "$ID_RSA".pub)"
exit
WVSTART "Novaboot --ssh option (connect, rsync, reset)"