Patrick Williams | 169d7bc | 2024-01-05 11:33:25 -0600 | [diff] [blame] | 1 | # |
| 2 | # Copyright OpenEmbedded Contributors |
| 3 | # |
| 4 | # SPDX-License-Identifier: MIT |
| 5 | # |
| 6 | |
| 7 | import os |
| 8 | import shutil |
| 9 | from oeqa.selftest.case import OESelftestTestCase |
| 10 | from oeqa.utils.commands import bitbake |
| 11 | from oeqa.utils.commands import bitbake, get_bb_var, get_test_layer |
| 12 | |
| 13 | class UserGroupTests(OESelftestTestCase): |
| 14 | def test_group_from_dep_package(self): |
| 15 | self.logger.info("Building creategroup2") |
| 16 | bitbake(' creategroup2 creategroup1') |
| 17 | bitbake(' creategroup2 creategroup1 -c clean') |
| 18 | self.logger.info("Packaging creategroup2") |
| 19 | self.assertTrue(bitbake(' creategroup2 -c package')) |
| 20 | |
| 21 | def test_add_task_between_p_sysroot_and_package(self): |
| 22 | # Test for YOCTO #14961 |
| 23 | self.assertTrue(bitbake('useraddbadtask -C fetch')) |
| 24 | |
Patrick Williams | 3965356 | 2024-03-01 08:54:02 -0600 | [diff] [blame] | 25 | def test_postinst_order(self): |
| 26 | self.logger.info("Building dcreategroup") |
| 27 | self.assertTrue(bitbake(' dcreategroup')) |
| 28 | |
Patrick Williams | 169d7bc | 2024-01-05 11:33:25 -0600 | [diff] [blame] | 29 | def test_static_useradd_from_dynamic(self): |
| 30 | metaselftestpath = get_test_layer() |
| 31 | self.logger.info("Building core-image-minimal to generate passwd/group file") |
| 32 | bitbake(' core-image-minimal') |
| 33 | self.logger.info("Setting up useradd-staticids") |
| 34 | repropassdir = os.path.join(metaselftestpath, "conf/include") |
| 35 | os.makedirs(repropassdir) |
| 36 | etcdir=os.path.join(os.path.join(os.path.join(get_bb_var("TMPDIR"), "work"), \ |
| 37 | os.path.join(get_bb_var("MACHINE").replace("-","_")+"-poky-linux", "core-image-minimal/1.0/rootfs/etc"))) |
| 38 | shutil.copy(os.path.join(etcdir, "passwd"), os.path.join(repropassdir, "reproducable-passwd")) |
| 39 | shutil.copy(os.path.join(etcdir, "group"), os.path.join(repropassdir, "reproducable-group")) |
| 40 | # Copy the original local.conf |
| 41 | shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 'conf/local.conf'), os.path.join(os.environ.get('BUILDDIR'), 'conf/local.conf.orig')) |
| 42 | |
| 43 | self.write_config("USERADDEXTENSION = \"useradd-staticids\"") |
| 44 | self.write_config("USERADD_ERROR_DYNAMIC ??= \"error\"") |
| 45 | self.write_config("USERADD_UID_TABLES += \"conf/include/reproducible-passwd\"") |
| 46 | self.write_config("USERADD_GID_TABLES += \"conf/include/reproducible-group\"") |
| 47 | self.logger.info("Rebuild with staticids") |
| 48 | bitbake(' core-image-minimal') |
| 49 | shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 'conf/local.conf.orig'), os.path.join(os.environ.get('BUILDDIR'), 'conf/local.conf')) |
| 50 | self.logger.info("Rebuild without staticids") |
| 51 | bitbake(' core-image-minimal') |
| 52 | self.write_config("USERADDEXTENSION = \"useradd-staticids\"") |
| 53 | self.write_config("USERADD_ERROR_DYNAMIC ??= \"error\"") |
| 54 | self.write_config("USERADD_UID_TABLES += \"files/static-passwd\"") |
| 55 | self.write_config("USERADD_GID_TABLES += \"files/static-group\"") |
| 56 | self.logger.info("Rebuild with other staticids") |
| 57 | self.assertTrue(bitbake(' core-image-minimal')) |