xref: /openbmc/obmc-console/test/test-console-logs-to-file-no-sections (revision 6498f9fa9792ef0c14dab4aca3d38a674f6402cd)
1*6498f9faSAlexander Hansen#!/usr/bin/sh
2*6498f9faSAlexander Hansen
3*6498f9faSAlexander Hansenset -eux
4*6498f9faSAlexander Hansen
5*6498f9faSAlexander HansenSOCAT="$1"
6*6498f9faSAlexander HansenSERVER="$2"
7*6498f9faSAlexander Hansen
8*6498f9faSAlexander Hansen# Meet DBus bus and path name constraints, append own PID for parallel runs
9*6498f9faSAlexander HansenTEST_NAME="$(basename "$0" | tr '-' '_')"_${$}
10*6498f9faSAlexander HansenTEST_DIR="$(mktemp --tmpdir --directory "${TEST_NAME}.XXXXXX")"
11*6498f9faSAlexander HansenPTYS_PID=""
12*6498f9faSAlexander HansenSERVER_PID=""
13*6498f9faSAlexander Hansen
14*6498f9faSAlexander Hansencd "$TEST_DIR"
15*6498f9faSAlexander Hansen
16*6498f9faSAlexander Hansencleanup()
17*6498f9faSAlexander Hansen{
18*6498f9faSAlexander Hansen  [ -z "$SERVER_PID" ] || kill -s INT "$SERVER_PID"
19*6498f9faSAlexander Hansen  [ -z "$PTYS_PID" ] || kill "$PTYS_PID"
20*6498f9faSAlexander Hansen  wait
21*6498f9faSAlexander Hansen  cd -
22*6498f9faSAlexander Hansen  rm -rf "$TEST_DIR"
23*6498f9faSAlexander Hansen}
24*6498f9faSAlexander Hansen
25*6498f9faSAlexander Hansentrap cleanup EXIT
26*6498f9faSAlexander Hansen
27*6498f9faSAlexander HansenTEST_CONF="${TEST_NAME}.conf"
28*6498f9faSAlexander HansenTEST_LOG="${TEST_NAME}.log"
29*6498f9faSAlexander Hansen
30*6498f9faSAlexander Hansencat <<EOF > "$TEST_CONF"
31*6498f9faSAlexander Hansenlogfile = $TEST_LOG
32*6498f9faSAlexander Hansenconsole-id = $TEST_NAME
33*6498f9faSAlexander HansenEOF
34*6498f9faSAlexander Hansen
35*6498f9faSAlexander Hansen"$SOCAT" -u PTY,raw,echo=0,link=remote PTY,raw,echo=0,wait-slave,link=local &
36*6498f9faSAlexander HansenPTYS_PID="$!"
37*6498f9faSAlexander Hansenwhile ! [ -e remote ] || ! [ -e local ]; do sleep 1; done
38*6498f9faSAlexander Hansen
39*6498f9faSAlexander Hansen"$SERVER" --config "$TEST_CONF" "$(realpath local)" &
40*6498f9faSAlexander HansenSERVER_PID="$!"
41*6498f9faSAlexander Hansenwhile ! busctl status --user xyz.openbmc_project.Console."${TEST_NAME}"; do sleep 1; done
42*6498f9faSAlexander Hansen
43*6498f9faSAlexander Hansenecho console-should-log-to-file-legacy-syntax > remote
44*6498f9faSAlexander Hansensleep 1
45*6498f9faSAlexander Hansengrep -LF console-should-log-to-file-legacy-syntax "$TEST_LOG"
46