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