Skip to content
Snippets Groups Projects
Commit c9ff9673 authored by Martyn Welch's avatar Martyn Welch
Browse files

Tweak to use journal rather than audit.log

parent 2f09ef75
No related branches found
No related tags found
1 merge request!2T4802: Fix up issues with apparmor-dbus testing
...@@ -66,10 +66,11 @@ if [ ! -r ${bash_history} ]; then ...@@ -66,10 +66,11 @@ if [ ! -r ${bash_history} ]; then
fi fi
fi fi
# Catch any new lines added to audit.log # Create a temporary directory for files
AUDIT_FILE=$( mktemp ) TMP_DIR=$(mktemp -d)
tail -n0 -f /var/log/audit/audit.log > ${AUDIT_FILE} &
AUDIT_PID=$! # Log start time
START_TIME=$(date +"%F %T")
if [ "${LAUNCH_DBUS}" = "True" ]; then if [ "${LAUNCH_DBUS}" = "True" ]; then
# Start a new D-Bus session for this test # Start a new D-Bus session for this test
...@@ -122,11 +123,12 @@ else ...@@ -122,11 +123,12 @@ else
SOMETHING_FAILED="True" SOMETHING_FAILED="True"
fi fi
# Give auditd time to log the entries. # Give journal time to log the entries.
sleep 3 sleep 3
# Need to stop tailing audit # Get audit information from journal
kill ${AUDIT_PID} AUDIT_FILE=${TMP_DIR}/AUDIT
journalctl -S "${START_TIME}" -t audit -o cat > ${AUDIT_FILE}
echo "#=== ${TEST_TITLE} ===" echo "#=== ${TEST_TITLE} ==="
...@@ -138,28 +140,26 @@ echo "#---8<--- expected output from aa_log_extract_tokens.pl" ...@@ -138,28 +140,26 @@ echo "#---8<--- expected output from aa_log_extract_tokens.pl"
cat ${EXPECT_FILE} | sed 's/^/# /' cat ${EXPECT_FILE} | sed 's/^/# /'
echo "#--->8---" echo "#--->8---"
EXPECT_SPLIT_DIR=$(mktemp -d) cp ${EXPECT_FILE} ${TMP_DIR}/REMAIN
cp ${EXPECT_FILE} ${EXPECT_SPLIT_DIR}/REMAIN
EXPECT_COUNT=1 EXPECT_COUNT=1
SEPARATOR=$( grep -m1 -x -n "${ALTERNATIVE_SEPARATOR}" ${EXPECT_SPLIT_DIR}/REMAIN | cut -d: -f1 ) SEPARATOR=$( grep -m1 -x -n "${ALTERNATIVE_SEPARATOR}" ${TMP_DIR}/REMAIN | cut -d: -f1 )
while [ "${SEPARATOR}" != "" ]; do while [ "${SEPARATOR}" != "" ]; do
echo "SEPARATOR=\"${SEPARATOR}\"" echo "SEPARATOR=\"${SEPARATOR}\""
echo "REMAIN:" echo "REMAIN:"
cat ${EXPECT_SPLIT_DIR}/REMAIN cat ${TMP_DIR}/REMAIN
head -n $((${SEPARATOR}-1)) ${EXPECT_SPLIT_DIR}/REMAIN > ${EXPECT_SPLIT_DIR}/EXPECT${EXPECT_COUNT} head -n $((${SEPARATOR}-1)) ${TMP_DIR}/REMAIN > ${TMP_DIR}/EXPECT${EXPECT_COUNT}
SEPARATOR=$((${SEPARATOR}+1)) SEPARATOR=$((${SEPARATOR}+1))
tail -n +${SEPARATOR} ${EXPECT_SPLIT_DIR}/REMAIN > ${EXPECT_SPLIT_DIR}/REMAIN.new tail -n +${SEPARATOR} ${TMP_DIR}/REMAIN > ${TMP_DIR}/REMAIN.new
mv ${EXPECT_SPLIT_DIR}/REMAIN.new ${EXPECT_SPLIT_DIR}/REMAIN mv ${TMP_DIR}/REMAIN.new ${TMP_DIR}/REMAIN
EXPECT_COUNT=$((${EXPECT_COUNT}+1)) EXPECT_COUNT=$((${EXPECT_COUNT}+1))
SEPARATOR=$( grep -m1 -x -n "${ALTERNATIVE_SEPARATOR}" ${EXPECT_SPLIT_DIR}/REMAIN | cut -d: -f1 ) SEPARATOR=$( grep -m1 -x -n "${ALTERNATIVE_SEPARATOR}" ${TMP_DIR}/REMAIN | cut -d: -f1 )
done done
mv ${EXPECT_SPLIT_DIR}/REMAIN ${EXPECT_SPLIT_DIR}/EXPECT${EXPECT_COUNT} mv ${TMP_DIR}/REMAIN ${TMP_DIR}/EXPECT${EXPECT_COUNT}
PARSE_FILE="${EXPECT_SPLIT_DIR}/PARSE" PARSE_FILE="${TMP_DIR}/PARSE"
RET=$( cat ${AUDIT_FILE} | common/aa_log_extract_tokens.pl REJECTING > ${PARSE_FILE} ) RET=$( cat ${AUDIT_FILE} | common/aa_log_extract_tokens.pl REJECTING > ${PARSE_FILE} )
...@@ -169,18 +169,18 @@ if [ "${RET}" != "0" ]; then ...@@ -169,18 +169,18 @@ if [ "${RET}" != "0" ]; then
LINES=$(wc -l ${AUDIT_FILE} | cut -d ' ' -f1 ) LINES=$(wc -l ${AUDIT_FILE} | cut -d ' ' -f1 )
cat ${AUDIT_FILE} | while read LINE; do cat ${AUDIT_FILE} | while read LINE; do
echo ${LINE} | common/aa_log_extract_tokens.pl REJECTING 2>${EXPECT_SPLIT_DIR}/STDERR > ${EXPECT_SPLIT_DIR}/STDOUT echo ${LINE} | common/aa_log_extract_tokens.pl REJECTING 2>${TMP_DIR}/STDERR > ${TMP_DIR}/STDOUT
RET=$? RET=$?
cat ${EXPECT_SPLIT_DIR}/STDOUT >> ${EXPECT_SPLIT_DIR}/ERRPARSE cat ${TMP_DIR}/STDOUT >> ${TMP_DIR}/ERRPARSE
cat ${EXPECT_SPLIT_DIR}/STDERR | sed 's/^/E: /' >> ${EXPECT_SPLIT_DIR}/ERRPARSE cat ${TMP_DIR}/STDERR | sed 's/^/E: /' >> ${TMP_DIR}/ERRPARSE
if [ "$RET" != "0" ]; then if [ "$RET" != "0" ]; then
echo -n "^ original line: ${LINE}" >> ${EXPECT_SPLIT_DIR}/ERRPARSE echo -n "^ original line: ${LINE}" >> ${TMP_DIR}/ERRPARSE
fi fi
done done
mv ${EXPECT_SPLIT_DIR}/ERRPARSE ${PARSE_FILE} mv ${TMP_DIR}/ERRPARSE ${PARSE_FILE}
fi fi
echo "#---8<--- actual output from aa_log_extract_tokens.pl" echo "#---8<--- actual output from aa_log_extract_tokens.pl"
...@@ -191,10 +191,10 @@ MATCH_EXPECTATION="False" ...@@ -191,10 +191,10 @@ MATCH_EXPECTATION="False"
# We might have alternative expectations, take that into consideration. # We might have alternative expectations, take that into consideration.
OUTPUT_MD5=$( cat ${PARSE_FILE} | md5sum ) OUTPUT_MD5=$( cat ${PARSE_FILE} | md5sum )
COUNT=$( ls -1 ${EXPECT_SPLIT_DIR}/EXPECT* | wc -l ) COUNT=$( ls -1 ${TMP_DIR}/EXPECT* | wc -l )
NUM=1 NUM=1
while [ $((${NUM} <= ${COUNT})) = 1 ]; do while [ $((${NUM} <= ${COUNT})) = 1 ]; do
EXPECTED_MD5=$( cat ${EXPECT_SPLIT_DIR}/EXPECT${NUM} | md5sum ) EXPECTED_MD5=$( cat ${TMP_DIR}/EXPECT${NUM} | md5sum )
if [ "${OUTPUT_MD5}" = "${EXPECTED_MD5}" ]; then if [ "${OUTPUT_MD5}" = "${EXPECTED_MD5}" ]; then
echo "# audit log matches alternative expectation ${NUM}/${COUNT}" echo "# audit log matches alternative expectation ${NUM}/${COUNT}"
MATCH_EXPECTATION="True" MATCH_EXPECTATION="True"
...@@ -206,7 +206,7 @@ if [ "${MATCH_EXPECTATION}" = "True" ]; then ...@@ -206,7 +206,7 @@ if [ "${MATCH_EXPECTATION}" = "True" ]; then
echo "${TEST_TITLE}: pass" echo "${TEST_TITLE}: pass"
else else
echo "#---8<--- diff" echo "#---8<--- diff"
diff -urN ${EXPECT_SPLIT_DIR}/EXPECT${NUM} ${PARSE_FILE} diff -urN ${TMP_DIR}/EXPECT${NUM} ${PARSE_FILE}
echo "#--->8---" echo "#--->8---"
echo "${TEST_TITLE}: fail" echo "${TEST_TITLE}: fail"
SOMETHING_FAILED="True" SOMETHING_FAILED="True"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment