]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
oeqa/selftest/imagefeatures: add test for man-db
authorRoss Burton <ross.burton@arm.com>
Tue, 7 Mar 2023 20:09:29 +0000 (20:09 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 8 Mar 2023 16:41:52 +0000 (16:41 +0000)
Add a test to verify that manpages are built with api-documentation
enabled, and apropos works on the target (so mandb has been ran).

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/selftest/cases/imagefeatures.py

index af38150613b616166ac51cfd55f75c321c0769ac..bdd4d3200e2f07501348da29f960a600fb878b50 100644 (file)
@@ -299,3 +299,25 @@ SKIP_RECIPE[busybox] = "Don't build this"
         result = glob.glob(images)
         with open(result[1],"r") as f:
                 self.assertEqual(len(f.read().strip()),0)
+
+    def test_mandb(self):
+        """
+        Test that an image containing manpages has working man and apropos commands.
+        """
+        config = """
+DISTRO_FEATURES:append = " api-documentation"
+CORE_IMAGE_EXTRA_INSTALL = "man-pages kmod-doc"
+"""
+        self.write_config(config)
+        bitbake("core-image-minimal")
+
+        with runqemu('core-image-minimal', ssh=False, runqemuparams='nographic') as qemu:
+            # This manpage is provided by man-pages
+            status, output = qemu.run_serial("apropos 8859")
+            self.assertEqual(status, 1, 'Failed to run apropos: %s' % (output))
+            self.assertIn("iso_8859_15", output)
+
+            # This manpage is provided by kmod
+            status, output = qemu.run_serial("man --pager=cat modprobe")
+            self.assertEqual(status, 1, 'Failed to run man: %s' % (output))
+            self.assertIn("force-modversion", output)