Bug#929730: systemd: boot-and-services test expects first kernel log line, but not always in logs

Dan Streetman dan.streetman at canonical.com
Wed May 29 17:19:52 BST 2019


Package: systemd
Version: 241-5
Severity: normal
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu eoan ubuntu-patch

Dear Maintainer,

boot-and-services test expects the first(ish) kernel log line to be in the system logs, but that is not guaranteed to be in the logs.

-- Package-specific info:


  * d/t/boot-and-services:
    - don't fail if some kernel msgs are missed (LP: #1830479)


Thanks for considering the patch.


-- System Information:
Debian Release: buster/sid
  APT prefers disco-updates
  APT policy: (500, 'disco-updates'), (500, 'disco-security'), (500, 'disco'), (100, 'disco-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.0.0-13-generic (SMP w/24 CPU cores)
Kernel taint flags: TAINT_WARN
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages systemd is related to:
pn  dracut           <none>
ii  initramfs-tools  0.131ubuntu19
ii  udev             240-6ubuntu5
-------------- next part --------------
diff -Nru systemd-241/debian/tests/boot-and-services systemd-241/debian/tests/boot-and-services
--- systemd-241/debian/tests/boot-and-services	2019-05-24 16:58:59.000000000 -0400
+++ systemd-241/debian/tests/boot-and-services	2019-05-29 12:17:13.000000000 -0400
@@ -108,8 +108,15 @@
         with open('/var/log/syslog') as f:
             log = f.read()
         if not is_container:
+            out = subprocess.check_output(['journalctl'])
+            if re.search(b'Missed.*kernel messages', out):
+                # if we missed some, just check for any kernel msg
+                kernel_regex = 'kernel:.*'
+            else:
+                # otherwise, check for the first(ish) kernel msg
+                kernel_regex = 'kernel:.*[cC]ommand line:'
             # has kernel messages
-            self.assertRegex(log, 'kernel:.*[cC]ommand line:')
+            self.assertRegex(log, kernel_regex)
         # has init messages
         self.assertRegex(log, 'systemd.*Reached target Graphical Interface')
         # has other services
@@ -185,8 +192,14 @@
     def test_no_options(self):
         out = subprocess.check_output(['journalctl'])
         if not is_container:
+            if re.search(b'Missed.*kernel messages', out):
+                # if we missed some, just check for any kernel msg
+                kernel_regex = b'kernel:.*'
+            else:
+                # otherwise, check for the first(ish) kernel msg
+                kernel_regex = b'kernel:.*[cC]ommand line:'
             # has kernel messages
-            self.assertRegex(out, b'kernel:.*[cC]ommand line:')
+            self.assertRegex(out, kernel_regex)
         # has init messages
         self.assertRegex(out, b'systemd.*Reached target Graphical Interface')
         # has other services


More information about the Pkg-systemd-maintainers mailing list