diff options
3 files changed, 60 insertions, 0 deletions
diff --git a/meta-selftest/recipes-test/sysroot-test/sysroot-la-test_1.0.bb b/meta-selftest/recipes-test/sysroot-test/sysroot-la-test_1.0.bb new file mode 100644 index 0000000000..21f06782fb --- /dev/null +++ b/meta-selftest/recipes-test/sysroot-test/sysroot-la-test_1.0.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | SUMMARY = "Produce a broken la file" | ||
2 | LICENSE = "CLOSED" | ||
3 | INHIBIT_DEFAULT_DEPS = "1" | ||
4 | |||
5 | EXCLUDE_FROM_WORLD = "1" | ||
6 | |||
7 | # remove-libtool.bbclass is inherited by default and removes all | ||
8 | # .la files which for this test we specifically do not want. | ||
9 | REMOVE_LIBTOOL_LA = "0" | ||
10 | |||
11 | do_install() { | ||
12 | install -d ${D}${libdir}/test/ | ||
13 | echo '${WORKDIR}' > ${D}${libdir}/test/la-test.la | ||
14 | } | ||
15 | |||
16 | BBCLASSEXTEND += "native" | ||
diff --git a/meta-selftest/recipes-test/sysroot-test/sysroot-pc-test_1.0.bb b/meta-selftest/recipes-test/sysroot-test/sysroot-pc-test_1.0.bb new file mode 100644 index 0000000000..e748310fc4 --- /dev/null +++ b/meta-selftest/recipes-test/sysroot-test/sysroot-pc-test_1.0.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | SUMMARY = "Produce a broken pc file" | ||
2 | LICENSE = "CLOSED" | ||
3 | INHIBIT_DEFAULT_DEPS = "1" | ||
4 | |||
5 | EXCLUDE_FROM_WORLD = "1" | ||
6 | |||
7 | do_install() { | ||
8 | install -d ${D}${libdir}/test/ | ||
9 | echo '${WORKDIR}' > ${D}${libdir}/test/test.pc | ||
10 | } | ||
11 | |||
12 | BBCLASSEXTEND += "native" | ||
diff --git a/meta/lib/oeqa/selftest/cases/sysroot.py b/meta/lib/oeqa/selftest/cases/sysroot.py index 9457f1e3ac..588fc8c713 100644 --- a/meta/lib/oeqa/selftest/cases/sysroot.py +++ b/meta/lib/oeqa/selftest/cases/sysroot.py | |||
@@ -45,3 +45,35 @@ TESTSTRING:pn-sysroot-test-arch2 = "%s" | |||
45 | expected = "maximum shebang size exceeded, the maximum size is 128. [shebang-size]" | 45 | expected = "maximum shebang size exceeded, the maximum size is 128. [shebang-size]" |
46 | res = bitbake("sysroot-shebang-test-native -c populate_sysroot", ignore_status=True) | 46 | res = bitbake("sysroot-shebang-test-native -c populate_sysroot", ignore_status=True) |
47 | self.assertTrue(expected in res.output, msg=res.output) | 47 | self.assertTrue(expected in res.output, msg=res.output) |
48 | |||
49 | def test_sysroot_la(self): | ||
50 | """ | ||
51 | Summary: Check that workdir paths are not contained in .la files. | ||
52 | Expected: Fail when a workdir path is found in the file content. | ||
53 | Author: Paulo Neves <ptsneves@gmail.com> | ||
54 | """ | ||
55 | expected = "la-test.la failed sanity test (workdir) in path" | ||
56 | |||
57 | res = bitbake("sysroot-la-test -c populate_sysroot", ignore_status=True) | ||
58 | self.assertTrue(expected in res.output, msg=res.output) | ||
59 | self.assertTrue('[la]' in res.output, msg=res.output) | ||
60 | |||
61 | res = bitbake("sysroot-la-test-native -c populate_sysroot", ignore_status=True) | ||
62 | self.assertTrue(expected in res.output, msg=res.output) | ||
63 | self.assertTrue('[la]' in res.output, msg=res.output) | ||
64 | |||
65 | def test_sysroot_pkgconfig(self): | ||
66 | """ | ||
67 | Summary: Check that tmpdir paths are not contained in .pc files. | ||
68 | Expected: Fail when a tmpdir path is found in the file content. | ||
69 | Author: Paulo Neves <ptsneves@gmail.com> | ||
70 | """ | ||
71 | expected = "test.pc failed sanity test (tmpdir) in path" | ||
72 | |||
73 | res = bitbake("sysroot-pc-test -c populate_sysroot", ignore_status=True) | ||
74 | self.assertTrue('[pkgconfig]' in res.output, msg=res.output) | ||
75 | self.assertTrue(expected in res.output, msg=res.output) | ||
76 | |||
77 | res = bitbake("sysroot-pc-test-native -c populate_sysroot", ignore_status=True) | ||
78 | self.assertTrue(expected in res.output, msg=res.output) | ||
79 | self.assertTrue('[pkgconfig]' in res.output, msg=res.output) | ||