diff options
| author | Ross Burton <ross.burton@arm.com> | 2025-03-24 17:20:07 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-03-27 11:19:04 +0000 |
| commit | 32139d1420931540905c0f568b5ec3c6c6c4b871 (patch) | |
| tree | e255ceca486df325723e7e0a1801099ccd20b267 /meta/recipes-support | |
| parent | 862a1f290437b99b4373784ae3f8f0ec5daba739 (diff) | |
| download | poky-32139d1420931540905c0f568b5ec3c6c6c4b871.tar.gz | |
attr: improve ptest packaging
As there's just a few test binaries in attr, instead of installing large
chunks of the build tree we can install just those and use a boilerplate
test runner.
Also add a comment explaining why we have to sed the test suite if musl
is used.
(From OE-Core rev: baa1cbab47326656f762562303ddf4b0d9cc2b5c)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support')
| -rw-r--r-- | meta/recipes-support/attr/attr/run-ptest | 34 | ||||
| -rw-r--r-- | meta/recipes-support/attr/attr_2.5.2.bb | 40 |
2 files changed, 38 insertions, 36 deletions
diff --git a/meta/recipes-support/attr/attr/run-ptest b/meta/recipes-support/attr/attr/run-ptest index 3e7a3a17a0..028671a9bd 100644 --- a/meta/recipes-support/attr/attr/run-ptest +++ b/meta/recipes-support/attr/attr/run-ptest | |||
| @@ -1,10 +1,30 @@ | |||
| 1 | #!/bin/sh | 1 | #!/bin/sh |
| 2 | 2 | ||
| 3 | set +e | 3 | failed=0 |
| 4 | make test-suite.log | 4 | all=0 |
| 5 | exitcode=$? | 5 | |
| 6 | if [ $exitcode -ne 0 -a -e test-suite.log ]; then | 6 | for f in *.test; do |
| 7 | cat test-suite.log | 7 | ./run $f |
| 8 | fi | 8 | case "$?" in |
| 9 | exit $exitcode | 9 | 0) |
| 10 | echo "PASS: $f" | ||
| 11 | all=$((all + 1)) | ||
| 12 | ;; | ||
| 13 | 77) | ||
| 14 | echo "SKIP: $f" | ||
| 15 | ;; | ||
| 16 | *) | ||
| 17 | echo "FAIL: $f" | ||
| 18 | failed=$((failed + 1)) | ||
| 19 | all=$((all + 1)) | ||
| 20 | ;; | ||
| 21 | esac | ||
| 22 | done | ||
| 10 | 23 | ||
| 24 | if [ "$failed" -eq 0 ] ; then | ||
| 25 | echo "All $all tests passed" | ||
| 26 | exit 0 | ||
| 27 | else | ||
| 28 | echo "$failed of $all tests failed" | ||
| 29 | exit 1 | ||
| 30 | fi | ||
diff --git a/meta/recipes-support/attr/attr_2.5.2.bb b/meta/recipes-support/attr/attr_2.5.2.bb index b1a20930ed..390445b959 100644 --- a/meta/recipes-support/attr/attr_2.5.2.bb +++ b/meta/recipes-support/attr/attr_2.5.2.bb | |||
| @@ -32,47 +32,29 @@ ALTERNATIVE:${PN} = "setfattr getfattr" | |||
| 32 | ALTERNATIVE_TARGET[setfattr] = "${bindir}/setfattr" | 32 | ALTERNATIVE_TARGET[setfattr] = "${bindir}/setfattr" |
| 33 | ALTERNATIVE_TARGET[getfattr] = "${bindir}/getfattr" | 33 | ALTERNATIVE_TARGET[getfattr] = "${bindir}/getfattr" |
| 34 | 34 | ||
| 35 | PTEST_BUILD_HOST_FILES = "builddefs" | ||
| 36 | PTEST_BUILD_HOST_PATTERN = "^RPM" | ||
| 37 | |||
| 38 | do_install_ptest() { | 35 | do_install_ptest() { |
| 39 | cp ${B}/Makefile ${D}${PTEST_PATH} | 36 | install -m755 ${S}/test/run ${S}/test/sort-getfattr-output ${D}${PTEST_PATH}/ |
| 40 | sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ | ||
| 41 | -e 's|${DEBUG_PREFIX_MAP}||g' \ | ||
| 42 | -e 's:${HOSTTOOLS_DIR}/::g' \ | ||
| 43 | -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ | ||
| 44 | -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ | ||
| 45 | -i ${D}${PTEST_PATH}/Makefile | ||
| 46 | |||
| 47 | sed -e "s|^srcdir =.*|srcdir = .|" \ | ||
| 48 | -e "s|^abs_srcdir =.*|abs_srcdir = .|" \ | ||
| 49 | -e "s|^abs_top_srcdir =.*|abs_top_srcdir = ..|" \ | ||
| 50 | -e "s|^Makefile:.*|Makefile:|" \ | ||
| 51 | -e "/^TEST_LOG_DRIVER =/s|(top_srcdir)|(top_builddir)|" \ | ||
| 52 | -i ${D}${PTEST_PATH}/Makefile | ||
| 53 | 37 | ||
| 54 | cp -rf ${S}/build-aux/ ${D}${PTEST_PATH} | 38 | for t in $(makefile-getvar ${S}/test/Makemodule.am TESTS); do |
| 55 | cp -rf ${S}/test/ ${D}${PTEST_PATH} | 39 | install -m644 ${S}/$t ${D}${PTEST_PATH}/ |
| 40 | done | ||
| 56 | } | 41 | } |
| 57 | 42 | ||
| 58 | do_install_ptest:append:libc-musl() { | 43 | do_install_ptest:append:libc-musl() { |
| 59 | sed -i -e 's|f: Operation n|f: N|g' ${D}${PTEST_PATH}/test/attr.test | 44 | # With glibc strerror(ENOTSUP) is "Operation not supported" but |
| 45 | # musl is "Not supported". | ||
| 46 | # https://savannah.nongnu.org/bugs/?62370 | ||
| 47 | sed -i -e 's|f: Operation not supported|f: Not supported|g' ${D}${PTEST_PATH}/attr.test | ||
| 60 | } | 48 | } |
| 61 | 49 | ||
| 62 | RDEPENDS:${PN}-ptest = "attr \ | 50 | RDEPENDS:${PN}-ptest = "attr \ |
| 63 | bash \ | ||
| 64 | coreutils \ | ||
| 65 | perl-module-constant \ | ||
| 66 | perl-module-filehandle \ | ||
| 67 | perl-module-getopt-std \ | ||
| 68 | perl-module-posix \ | ||
| 69 | make \ | ||
| 70 | perl \ | 51 | perl \ |
| 71 | gawk \ | ||
| 72 | perl-module-cwd \ | 52 | perl-module-cwd \ |
| 73 | perl-module-file-basename \ | 53 | perl-module-file-basename \ |
| 74 | perl-module-file-path \ | 54 | perl-module-file-path \ |
| 75 | perl-module-file-spec \ | 55 | perl-module-filehandle \ |
| 56 | perl-module-getopt-std \ | ||
| 57 | perl-module-posix \ | ||
| 76 | " | 58 | " |
| 77 | 59 | ||
| 78 | BBCLASSEXTEND = "native nativesdk" | 60 | BBCLASSEXTEND = "native nativesdk" |
