From 29cfda8eae635c4cc9fc486d3faeb63f0311d545 Mon Sep 17 00:00:00 2001 From: Alexander Todorov Date: Wed, 6 Nov 2019 14:23:34 +0200 Subject: [PATCH] [tests] Collect compose logs after each build - save compose logs under /var/log/$TEST - save qemu logs under /var/log/$TEST/qemu.log - download everything to $TEST_ATTACHMENTS so it can be saved in CI results Cherry-picked from 8af9723c Related: rhbz#1769525 --- test/composertest.py | 3 +++ tests/cli/lib/lib.sh | 10 ++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/test/composertest.py b/test/composertest.py index 4f68bc63..fae996e1 100644 --- a/test/composertest.py +++ b/test/composertest.py @@ -55,6 +55,9 @@ class ComposerTestCase(unittest.TestCase): self.assertEqual(r.returncode, 0) def tearDown(self): + if os.environ.get('TEST_ATTACHMENTS'): + self.machine.download_dir('/var/log/tests', os.environ.get('TEST_ATTACHMENTS')) + # Peek into internal data structure, because there's no way to get the # TestResult at this point. `errors` is a list of tuples (method, error) errors = list(e[1] for e in self._outcome.errors if e[1]) diff --git a/tests/cli/lib/lib.sh b/tests/cli/lib/lib.sh index d29db151..3a488ab8 100755 --- a/tests/cli/lib/lib.sh +++ b/tests/cli/lib/lib.sh @@ -26,8 +26,10 @@ export SSH_PORT=2222 boot_image() { QEMU_BOOT=$1 TIMEOUT=$2 - rlRun -t -c "$QEMU -m 2048 $QEMU_BOOT -nographic \ - -net user,id=nic0,hostfwd=tcp::$SSH_PORT-:22 -net nic &" + rlRun -t -c "$QEMU -m 2048 $QEMU_BOOT -nographic -monitor none \ + -net user,id=nic0,hostfwd=tcp::$SSH_PORT-:22 -net nic \ + -chardev null,id=log0,mux=on,logfile=/var/log$TEST/qemu.log,logappend=on \ + -serial chardev:log0 &" # wait for ssh to become ready (yes, http is the wrong protocol, but it returns the header) tries=0 until curl -sS -m 15 "http://localhost:$SSH_PORT/" | grep 'OpenSSH'; do @@ -162,6 +164,10 @@ wait_for_compose() { rlLogInfo "Waiting for compose to finish ..." done; check_compose_status "$UUID" + + rlRun -t -c "mkdir -p /var/log/$TEST" + rlRun -t -c "$CLI compose logs $UUID" + rlRun -t -c "mv $UUID-logs.tar /var/log/$TEST" else rlFail "Compose UUID is empty!" fi