|
Jakub Filak |
4d4725 |
From 244d230f5b4cc75c39c25416c9c8f8d3a3b383d6 Mon Sep 17 00:00:00 2001
|
|
Jakub Filak |
4d4725 |
From: Jakub Filak <jfilak@redhat.com>
|
|
Jakub Filak |
4d4725 |
Date: Tue, 8 Jul 2014 11:40:53 +0200
|
|
Jakub Filak |
4d4725 |
Subject: [PATCH 6/9] testsuite: add tests for abrt-dump-journal-oops
|
|
Jakub Filak |
4d4725 |
|
|
Jakub Filak |
4d4725 |
Related to rhbz#1059724
|
|
Jakub Filak |
4d4725 |
---
|
|
Jakub Filak |
4d4725 |
tests/runtests/aux/test_order | 1 +
|
|
Jakub Filak |
4d4725 |
tests/runtests/journal-oops-processing/PURPOSE | 4 +
|
|
Jakub Filak |
4d4725 |
tests/runtests/journal-oops-processing/runtest.sh | 134 ++++++++++++++++++++++
|
|
Jakub Filak |
4d4725 |
3 files changed, 139 insertions(+)
|
|
Jakub Filak |
4d4725 |
create mode 100644 tests/runtests/journal-oops-processing/PURPOSE
|
|
Jakub Filak |
4d4725 |
create mode 100755 tests/runtests/journal-oops-processing/runtest.sh
|
|
Jakub Filak |
4d4725 |
|
|
Jakub Filak |
4d4725 |
diff --git a/tests/runtests/aux/test_order b/tests/runtests/aux/test_order
|
|
Jakub Filak |
4d4725 |
index 1760ecb..b1b1ab3 100644
|
|
Jakub Filak |
4d4725 |
--- a/tests/runtests/aux/test_order
|
|
Jakub Filak |
4d4725 |
+++ b/tests/runtests/aux/test_order
|
|
Jakub Filak |
4d4725 |
@@ -35,6 +35,7 @@ dbus-elements-handling
|
|
Jakub Filak |
4d4725 |
dbus-configuration
|
|
Jakub Filak |
4d4725 |
bodhi
|
|
Jakub Filak |
4d4725 |
oops-processing
|
|
Jakub Filak |
4d4725 |
+journal-oops-processing
|
|
Jakub Filak |
4d4725 |
abrt-python
|
|
Jakub Filak |
4d4725 |
abrt-python3
|
|
Jakub Filak |
4d4725 |
python-bindings
|
|
Jakub Filak |
4d4725 |
diff --git a/tests/runtests/journal-oops-processing/PURPOSE b/tests/runtests/journal-oops-processing/PURPOSE
|
|
Jakub Filak |
4d4725 |
new file mode 100644
|
|
Jakub Filak |
4d4725 |
index 0000000..8c691a0
|
|
Jakub Filak |
4d4725 |
--- /dev/null
|
|
Jakub Filak |
4d4725 |
+++ b/tests/runtests/journal-oops-processing/PURPOSE
|
|
Jakub Filak |
4d4725 |
@@ -0,0 +1,4 @@
|
|
Jakub Filak |
4d4725 |
+PURPOSE of oops_processing
|
|
Jakub Filak |
4d4725 |
+Description: test for required files in dump directory of koops from journald
|
|
Jakub Filak |
4d4725 |
+Author: Jakub Filak <jfilak@redhat.com>
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
diff --git a/tests/runtests/journal-oops-processing/runtest.sh b/tests/runtests/journal-oops-processing/runtest.sh
|
|
Jakub Filak |
4d4725 |
new file mode 100755
|
|
Jakub Filak |
4d4725 |
index 0000000..06d6b75
|
|
Jakub Filak |
4d4725 |
--- /dev/null
|
|
Jakub Filak |
4d4725 |
+++ b/tests/runtests/journal-oops-processing/runtest.sh
|
|
Jakub Filak |
4d4725 |
@@ -0,0 +1,134 @@
|
|
Jakub Filak |
4d4725 |
+#!/bin/bash
|
|
Jakub Filak |
4d4725 |
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
|
Jakub Filak |
4d4725 |
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Jakub Filak |
4d4725 |
+#
|
|
Jakub Filak |
4d4725 |
+# runtest.sh of oops_processing
|
|
Jakub Filak |
4d4725 |
+# Description: test for required files in dump directory of koops from journald
|
|
Jakub Filak |
4d4725 |
+# Author: Jakub Filak <jfilak@redhat.com>
|
|
Jakub Filak |
4d4725 |
+#
|
|
Jakub Filak |
4d4725 |
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Jakub Filak |
4d4725 |
+#
|
|
Jakub Filak |
4d4725 |
+# Copyright (c) 2014 Red Hat, Inc. All rights reserved.
|
|
Jakub Filak |
4d4725 |
+#
|
|
Jakub Filak |
4d4725 |
+# This program is free software: you can redistribute it and/or
|
|
Jakub Filak |
4d4725 |
+# modify it under the terms of the GNU General Public License as
|
|
Jakub Filak |
4d4725 |
+# published by the Free Software Foundation, either version 3 of
|
|
Jakub Filak |
4d4725 |
+# the License, or (at your option) any later version.
|
|
Jakub Filak |
4d4725 |
+#
|
|
Jakub Filak |
4d4725 |
+# This program is distributed in the hope that it will be
|
|
Jakub Filak |
4d4725 |
+# useful, but WITHOUT ANY WARRANTY; without even the implied
|
|
Jakub Filak |
4d4725 |
+# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
Jakub Filak |
4d4725 |
+# PURPOSE. See the GNU General Public License for more details.
|
|
Jakub Filak |
4d4725 |
+#
|
|
Jakub Filak |
4d4725 |
+# You should have received a copy of the GNU General Public License
|
|
Jakub Filak |
4d4725 |
+# along with this program. If not, see http://www.gnu.org/licenses/.
|
|
Jakub Filak |
4d4725 |
+#
|
|
Jakub Filak |
4d4725 |
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+. /usr/share/beakerlib/beakerlib.sh
|
|
Jakub Filak |
4d4725 |
+. ../aux/lib.sh
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+TEST="journal_oops_processing"
|
|
Jakub Filak |
4d4725 |
+PACKAGE="abrt"
|
|
Jakub Filak |
4d4725 |
+OOPS_REQUIRED_FILES="kernel uuid duphash
|
|
Jakub Filak |
4d4725 |
+pkg_name pkg_arch pkg_epoch pkg_release pkg_version"
|
|
Jakub Filak |
4d4725 |
+EXAMPLES_PATH="../../../examples"
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+rlJournalStart
|
|
Jakub Filak |
4d4725 |
+ rlPhaseStartSetup
|
|
Jakub Filak |
4d4725 |
+ check_prior_crashes
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ TmpDir=$(mktemp -d)
|
|
Jakub Filak |
4d4725 |
+ # the cut command removes syslog prefix
|
|
Jakub Filak |
4d4725 |
+ sed "s/2.6.27.9-159.fc10.i686/<KERNEL_VERSION>/" \
|
|
Jakub Filak |
4d4725 |
+ $EXAMPLES_PATH/oops1.test \
|
|
Jakub Filak |
4d4725 |
+ | cut -d" " -f6- > \
|
|
Jakub Filak |
4d4725 |
+ $TmpDir/oops1.test
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ # the cut command removes syslog prefix
|
|
Jakub Filak |
4d4725 |
+ sed "s/2.6.27.9-159.fc10.i686/<KERNEL_VERSION>/" \
|
|
Jakub Filak |
4d4725 |
+ $EXAMPLES_PATH/oops_no_reliable_frame.test \
|
|
Jakub Filak |
4d4725 |
+ | cut -d" " -f6- > \
|
|
Jakub Filak |
4d4725 |
+ $TmpDir/oops_not_reportable_no_reliable_frame.test
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ sed "s/3.0.0-1.fc16.i686/<KERNEL_VERSION>/" \
|
|
Jakub Filak |
4d4725 |
+ $EXAMPLES_PATH/oops5.test > \
|
|
Jakub Filak |
4d4725 |
+ TmpDir/oops5.test
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ sed "s/3.10.0-33.el7.ppc64/<KERNEL_VERSION>/" \
|
|
Jakub Filak |
4d4725 |
+ $EXAMPLES_PATH/oops8_ppc64.test > \
|
|
Jakub Filak |
4d4725 |
+ $TmpDir/oops8_ppc64.test
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ sed "s/3.69.69-69.0.fit.s390x/<KERNEL_VERSION>/" \
|
|
Jakub Filak |
4d4725 |
+ $EXAMPLES_PATH/oops10_s390x.test > \
|
|
Jakub Filak |
4d4725 |
+ $TmpDir/oops10_s390x.test
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ sed "s/3.10.0-41.el7.x86_64/<KERNEL_VERSION>/" \
|
|
Jakub Filak |
4d4725 |
+ $EXAMPLES_PATH/oops_unsupported_hw.test > \
|
|
Jakub Filak |
4d4725 |
+ $TmpDir/oops_not_reportable_unsupported_hw.test
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ sed "s/2.6.35.6-45.fc14.x86_64/<KERNEL_VERSION>/" \
|
|
Jakub Filak |
4d4725 |
+ $EXAMPLES_PATH/oops_broken_bios.test > \
|
|
Jakub Filak |
4d4725 |
+ $TmpDir/oops_not_reportable_broken_bios.test
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ pushd $TmpDir
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ rlRun "systemctl stop abrt-oops"
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ # The stored cursor is not valid in testing configuration.
|
|
Jakub Filak |
4d4725 |
+ rlRun "rm -rf /var/lib/abrt/abrt-dupm-journal-oops.state"
|
|
Jakub Filak |
4d4725 |
+ rlPhaseEnd
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ rlPhaseStartTest OOPS
|
|
Jakub Filak |
4d4725 |
+ for oops in oops*.test; do
|
|
Jakub Filak |
4d4725 |
+ prepare
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ installed_kernel="$( rpm -q kernel | tail -n1 )"
|
|
Jakub Filak |
4d4725 |
+ kernel_version="$( rpm -q --qf "%{version}" $installed_kernel )"
|
|
Jakub Filak |
4d4725 |
+ sed -i "s/<KERNEL_VERSION>/$installed_kernel/g" $oops
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ rlRun "ABRT_DUMP_JOURNAL_OOPS_DEBUG_FILTER=\"SYSLOG_IDENTIFIER=abrt_test\" abrt-dump-journal-oops -vvv -f -xD >$oops.log 2>&1 &"
|
|
Jakub Filak |
4d4725 |
+ rlRun "ABRT_DUMPER_PID=$!"
|
|
Jakub Filak |
4d4725 |
+ rlRun "logger -t abrt_test -f $oops"
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ rlRun "sleep 1"
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ rlAssertGrep "Found oopses: 1" $oops".log"
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ wait_for_hooks
|
|
Jakub Filak |
4d4725 |
+ get_crash_path
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ ls $crash_PATH > crash_dir_ls
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ for f in $OOPS_REQUIRED_FILES; do
|
|
Jakub Filak |
4d4725 |
+ rlAssertExists "$crash_PATH/$f"
|
|
Jakub Filak |
4d4725 |
+ done
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ if [[ "$oops" == *not_reportable* ]]; then
|
|
Jakub Filak |
4d4725 |
+ rlAssertExists "$crash_PATH/not-reportable"
|
|
Jakub Filak |
4d4725 |
+ else
|
|
Jakub Filak |
4d4725 |
+ rlAssertNotExists "$crash_PATH/not-reportable"
|
|
Jakub Filak |
4d4725 |
+ fi
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ rlAssertGrep "kernel" "$crash_PATH/pkg_name"
|
|
Jakub Filak |
4d4725 |
+ rlAssertGrep "$kernel_version" "$crash_PATH/pkg_version"
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ rlRun "abrt-cli rm $crash_PATH" 0 "Remove crash directory"
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ # Kill the dumper with TERM to verify that it can store its state.
|
|
Jakub Filak |
4d4725 |
+ # Next time, the dumper should start following the journald from
|
|
Jakub Filak |
4d4725 |
+ # the last seen cursor.
|
|
Jakub Filak |
4d4725 |
+ rlRun "kill -TERM $ABRT_DUMPER_PID"
|
|
Jakub Filak |
4d4725 |
+ done
|
|
Jakub Filak |
4d4725 |
+ rlPhaseEnd
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ rlPhaseStartCleanup
|
|
Jakub Filak |
4d4725 |
+ # Do not confuse the system dumper. The stored cursor is invalid in the default configuration.
|
|
Jakub Filak |
4d4725 |
+ rlRun "rm -rf /var/lib/abrt/abrt-dupm-journal-oops.state"
|
|
Jakub Filak |
4d4725 |
+
|
|
Jakub Filak |
4d4725 |
+ rlBundleLogs abrt $(echo *_ls)
|
|
Jakub Filak |
4d4725 |
+ rlRun "popd"
|
|
Jakub Filak |
4d4725 |
+ rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
|
Jakub Filak |
4d4725 |
+ rlPhaseEnd
|
|
Jakub Filak |
4d4725 |
+ rlJournalPrintText
|
|
Jakub Filak |
4d4725 |
+rlJournalEnd
|
|
Jakub Filak |
4d4725 |
--
|
|
Jakub Filak |
4d4725 |
1.9.3
|
|
Jakub Filak |
4d4725 |
|