Skip to content

Commit

Permalink
meta-oe: recipes-support: dc: Add ptest
Browse files Browse the repository at this point in the history
Signed-off-by: Ever ATILANO <ever.atilano@smile.fr>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
  • Loading branch information
Ever ATILANO authored and kraj committed Apr 5, 2023
1 parent 74dcb3a commit 1dc0260
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 1 deletion.
25 changes: 24 additions & 1 deletion meta-oe/recipes-support/dc/double-conversion_3.2.1.bb
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,32 @@ S = "${WORKDIR}/git"

SRC_URI = " \
git://github.com/google/double-conversion.git;protocol=https;branch=master \
file://run-ptest \
"
SRCREV = "af09fd65fcf24eee95dc62813ba9123414635428"

inherit cmake
inherit cmake ptest

EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON"

# These ptest use ctest (provided by cmake)
RDEPENDS:${PN}-ptest += "cmake"
# Build tests only if ptest is enabled
EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DBUILD_TESTING=ON', '', d)}"

do_install_ptest() {
install -d ${D}${PTEST_PATH}/test
cp -rf ${B}/test ${D}${PTEST_PATH}
install -m 0644 ${B}/CTestTestfile.cmake ${D}${PTEST_PATH}/
files="
CTestTestfile.cmake
test/CTestTestfile.cmake
test/cmake_install.cmake
test/cctest/CTestTestfile.cmake
test/cctest/cmake_install.cmake
"
for file in $files; do
sed -i -e "s|${B}|${PTEST_PATH}|g" -e "s|${S}|${PTEST_PATH}|g" -e "s|${WORKDIR}/recipe-sysroot-native||g" "${D}${PTEST_PATH}/${file}"
done

}
23 changes: 23 additions & 0 deletions meta-oe/recipes-support/dc/files/run-ptest
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/sh

# This script runs tests taken from the github CI for the Double-Conversion library.
# For more information, please see: https://github.com/google/double-conversion/blob/master/.github/workflows/ci.yml#L60

# Count the number of failed tests
NUM_FAILS=0

# Run all tests using ctest
ctest -V

# VCount the number of failed tests by checking the LastTest.log file generated by ctest
NUM_FAILS=$(grep -c "Failed" Testing/Temporary/LastTest.log)

# Run the tests directly as well, just in case we forgot to add it to ctest
test/cctest/cctest
if [ $? -ne 0 ]; then
# If the test failed, increment the number of failed tests
NUM_FAILS=$(expr $NUM_FAILS + 1)
fi

# Return the number of failed tests
exit $NUM_FAILS

0 comments on commit 1dc0260

Please sign in to comment.