diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-08-12 22:29:18 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-08-15 09:44:33 +0100 |
commit | 20c8be711f3ffbc9f7916c9e101db19bb0281efb (patch) | |
tree | 8b31c6483edefd9b935a2660cf73ba2e3e0be888 | |
parent | 5f8a1525138817ff71cfb3eee12d28a76bfa1af1 (diff) | |
download | poky-20c8be711f3ffbc9f7916c9e101db19bb0281efb.tar.gz |
selftest/package: Add test to ensure sparse files are preserved
Add a new element to the hardlink test to check we also preseve file
sparseness during the packing process. This should ensure we don't regress this
issue again.
(From OE-Core rev: 0a4e6974b49bf68c4a4098d339b5d655e202a3fd)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb | 1 | ||||
-rw-r--r-- | meta/lib/oeqa/selftest/cases/package.py | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb b/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb index 8a0e6336aa..ec330fa9ff 100644 --- a/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb +++ b/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb | |||
@@ -16,4 +16,5 @@ do_install () { | |||
16 | ln ${D}${bindir}/hello ${D}${bindir}/hello2 | 16 | ln ${D}${bindir}/hello ${D}${bindir}/hello2 |
17 | ln ${D}${bindir}/hello ${D}${bindir}/hello3 | 17 | ln ${D}${bindir}/hello ${D}${bindir}/hello3 |
18 | ln ${D}${bindir}/hello ${D}${bindir}/hello4 | 18 | ln ${D}${bindir}/hello ${D}${bindir}/hello4 |
19 | dd if=/dev/zero of=${D}${bindir}/sparsetest bs=1 count=0 seek=1M | ||
19 | } | 20 | } |
diff --git a/meta/lib/oeqa/selftest/cases/package.py b/meta/lib/oeqa/selftest/cases/package.py index f288fcafdb..4ff9b08c96 100644 --- a/meta/lib/oeqa/selftest/cases/package.py +++ b/meta/lib/oeqa/selftest/cases/package.py | |||
@@ -88,6 +88,7 @@ class VersionOrdering(OESelftestTestCase): | |||
88 | 88 | ||
89 | class PackageTests(OESelftestTestCase): | 89 | class PackageTests(OESelftestTestCase): |
90 | # Verify that a recipe which sets up hardlink files has those preserved into split packages | 90 | # Verify that a recipe which sets up hardlink files has those preserved into split packages |
91 | # Also test file sparseness is preserved | ||
91 | def test_preserve_hardlinks(self): | 92 | def test_preserve_hardlinks(self): |
92 | result = bitbake("selftest-hardlink -c package") | 93 | result = bitbake("selftest-hardlink -c package") |
93 | 94 | ||
@@ -97,3 +98,8 @@ class PackageTests(OESelftestTestCase): | |||
97 | # Recipe creates 4 hardlinked files, there is a copy in package/ and a copy in packages-split/ | 98 | # Recipe creates 4 hardlinked files, there is a copy in package/ and a copy in packages-split/ |
98 | # so expect 8 in total. | 99 | # so expect 8 in total. |
99 | self.assertEqual(os.stat(dest + "/selftest-hardlink" + bindir + "/hello").st_nlink, 8) | 100 | self.assertEqual(os.stat(dest + "/selftest-hardlink" + bindir + "/hello").st_nlink, 8) |
101 | |||
102 | # Test a sparse file remains sparse | ||
103 | sparsestat = os.stat(dest + "/selftest-hardlink" + bindir + "/sparsetest") | ||
104 | self.assertEqual(sparsestat.st_blocks, 0) | ||
105 | self.assertEqual(sparsestat.st_size, 1048576) | ||