blob: a259b89c6fcafbe815b7a0edeaba123609263b6a [file] [log] [blame]
#!/bin/bash
# Test running an application using the agent.
source "${VEYRON_ROOT}/scripts/lib/shell_test.sh"
build() {
veyron go build veyron.io/veyron/veyron/security/agent/agentd || shell_test::fail "line ${LINENO}: failed to build agentd"
veyron go build -o pingpong veyron.io/veyron/veyron/security/agent/test || shell_test::fail "line ${LINENO}: failed to build pingpong"
}
main() {
local workdir="$(shell::tmp_dir)"
cd "${workdir}"
build
shell_test::setup_server_test
# Test running a single app.
shell_test::start_server ./pingpong --server
export VEYRON_PUBLICID_STORE="$(shell::tmp_dir)"
echo VEYRON_PUBLICID_STORE=$VEYRON_PUBLICID_STORE
ls $VEYRON_PUBLICID_STORE
./agentd --v=4 ./pingpong || shell_test::fail "line ${LINENO}: ping"
local identity=$(./agentd bash -c 'echo $VEYRON_IDENTITY')
if [[ -n "${identity}" ]]; then
shell_test::fail "line ${LINENO}: identity preserved"
fi
# Test running multiple apps connecting to the same agent.
exec ./agentd bash ${VEYRON_ROOT}/veyron/go/src/veyron.io/veyron/veyron/security/agent/testchild.sh
}
main "$@"