diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-07-30 23:33:27 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-07-31 22:47:35 +0100 |
commit | 318595754b66e8e4f3db1bce1ac086a2409e2eca (patch) | |
tree | dace5709772bdb533aee1fb77a59892970268a9b /meta/lib | |
parent | 099625aacf9064d90c6015bde80e223ba1bf2512 (diff) | |
download | poky-318595754b66e8e4f3db1bce1ac086a2409e2eca.tar.gz |
oeqa/selftest: Add package hardlink test
We keep breaking the preservation of hardlinks during the packaging process.
Add a selftest which tests this to try and prevent this breaking again.
(From OE-Core rev: 751fc7802f57a836a0be5fc6a8d5fdf8b1769c39)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r-- | meta/lib/oeqa/selftest/cases/package.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/meta/lib/oeqa/selftest/cases/package.py b/meta/lib/oeqa/selftest/cases/package.py index ef6eabef66..1e171b5ebe 100644 --- a/meta/lib/oeqa/selftest/cases/package.py +++ b/meta/lib/oeqa/selftest/cases/package.py | |||
@@ -1,6 +1,7 @@ | |||
1 | from oeqa.selftest.case import OESelftestTestCase | 1 | from oeqa.selftest.case import OESelftestTestCase |
2 | from oeqa.core.decorator.oeid import OETestID | 2 | from oeqa.core.decorator.oeid import OETestID |
3 | from oeqa.utils.commands import bitbake, get_bb_vars | 3 | from oeqa.utils.commands import bitbake, get_bb_vars, get_bb_var |
4 | import stat | ||
4 | import subprocess, os | 5 | import subprocess, os |
5 | import oe.path | 6 | import oe.path |
6 | 7 | ||
@@ -84,3 +85,15 @@ class VersionOrdering(OESelftestTestCase): | |||
84 | status = subprocess.call(command, env=env) | 85 | status = subprocess.call(command, env=env) |
85 | self.assertIn(status, (99, 100, 101)) | 86 | self.assertIn(status, (99, 100, 101)) |
86 | self.assertEqual(status - 100, sort, "%s %s (%d) failed" % (ver1, ver2, sort)) | 87 | self.assertEqual(status - 100, sort, "%s %s (%d) failed" % (ver1, ver2, sort)) |
88 | |||
89 | class PackageTests(OESelftestTestCase): | ||
90 | # Verify that a recipe which sets up hardlink files has those preserved into split packages | ||
91 | def test_preserve_hardlinks(self): | ||
92 | result = bitbake("selftest-hardlink") | ||
93 | |||
94 | dest = get_bb_var('PKGDEST', 'selftest-hardlink') | ||
95 | bindir = get_bb_var('bindir', 'selftest-hardlink') | ||
96 | |||
97 | # Recipe creates 4 hardlinked files, there is a copy in package/ and a copy in packages-split/ | ||
98 | # so expect 8 in total. | ||
99 | self.assertEqual(os.stat(dest + "/selftest-hardlink" + bindir + "/hello").st_nlink, 8) | ||