diff options
Diffstat (limited to 'meta/recipes-support/numactl')
5 files changed, 189 insertions, 0 deletions
diff --git a/meta/recipes-support/numactl/numactl/0001-define-run-test-target.patch b/meta/recipes-support/numactl/numactl/0001-define-run-test-target.patch new file mode 100644 index 0000000000..68b3e2491f --- /dev/null +++ b/meta/recipes-support/numactl/numactl/0001-define-run-test-target.patch @@ -0,0 +1,33 @@ +From a5e1fa272f294e739d6caaf629968478796ca53a Mon Sep 17 00:00:00 2001 +From: Roy Li <rongqing.li@windriver.com> +Date: Mon, 19 Oct 2020 14:42:11 -0700 +Subject: [PATCH] rename test target as run-test + +Upstream-Status: Pending + +test target not only compile the test files, but also run them, which is +not suitable for cross-compile environment, so rename it as run-test. + +and define test target to compile the test files. + +Signed-off-by: Roy Li <rongqing.li@windriver.com> + +--- + Makefile.am | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index da01d27..c738b93 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -126,7 +126,9 @@ regress2: $(check_PROGRAMS) + test_numademo: numademo + ./numademo -t -e 10M + +-test: all $(check_PROGRAMS) regress1 regress2 test_numademo ++test: all $(check_PROGRAMS) ++ ++run-test: all $(check_PROGRAMS) regress1 regress2 test_numademo + + TESTS_ENVIRONMENT = builddir='$(builddir)'; export builddir; + diff --git a/meta/recipes-support/numactl/numactl/Fix-the-test-output-format.patch b/meta/recipes-support/numactl/numactl/Fix-the-test-output-format.patch new file mode 100644 index 0000000000..8345f71d72 --- /dev/null +++ b/meta/recipes-support/numactl/numactl/Fix-the-test-output-format.patch @@ -0,0 +1,63 @@ +From 29f811d9d381f2ab54b3c8cef77334e32970ef09 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 21 Jul 2015 02:01:22 +0900 +Subject: [PATCH] Fix the test output format + +Upstream-Status: Pending + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com> + +--- + test/regress | 6 +++--- + test/regress2 | 11 +++++------ + 2 files changed, 8 insertions(+), 9 deletions(-) + +diff --git a/test/regress b/test/regress +index f06b22f..2fdfacb 100755 +--- a/test/regress ++++ b/test/regress +@@ -78,6 +78,7 @@ probe_hardware() + if [ $numnodes -lt 2 ] ; then + echo "need at least two nodes with at least $NEEDPAGES each of" + echo "free memory for mempolicy regression tests" ++ echo "SKIP: numa regress" + exit 77 # Skip test + fi + } +@@ -209,10 +210,9 @@ main() + rm A B + + if [ "$EXIT" = 0 ] ; then +- echo '========SUCCESS' ++ echo 'PASS: numactl regress' + else +- echo '========FAILURE' +- exit 1 ++ echo 'FAIL: numactl regress' + fi + } + +diff --git a/test/regress2 b/test/regress2 +index aa6ea41..450c510 100755 +--- a/test/regress2 ++++ b/test/regress2 +@@ -9,12 +9,11 @@ testdir=`dirname "$0"` + export PATH=${builddir}:$PATH + + T() { +- echo "$@" +- if ! $VALGRIND "$@" ; then +- echo $1 FAILED!!!! +- exit 1 +- fi +- echo ++ if ! $VALGRIND "$@" 2>&1 1>/dev/null; then ++ echo "FAIL: $1" ++ else ++ echo "PASS: $1" ++ fi + } + + # still broken diff --git a/meta/recipes-support/numactl/numactl/Makefile b/meta/recipes-support/numactl/numactl/Makefile new file mode 100644 index 0000000000..9a5134c3f2 --- /dev/null +++ b/meta/recipes-support/numactl/numactl/Makefile @@ -0,0 +1,7 @@ +.PHONY: regress1 regress2 + +regress1: + cd test ; ./regress + +regress2: + cd test ; ./regress2 diff --git a/meta/recipes-support/numactl/numactl/run-ptest b/meta/recipes-support/numactl/numactl/run-ptest new file mode 100755 index 0000000000..e019b0d364 --- /dev/null +++ b/meta/recipes-support/numactl/numactl/run-ptest @@ -0,0 +1,27 @@ +#!/bin/sh + +# If there is numa support, run the tests. Otherwise skip all the tests. +# Ideally the skipping would happen by the upstream tests. +if ! numactl -s | grep -q "No NUMA support available on this system."; then + make regress1 + make regress2 + if numademo -t -e 10M; then + echo "PASS: numademo" + else + if [ "$?" = 77 ] ; then + echo "SKIP: numademo" + else + echo "FAIL: numademo" + fi + fi +else + echo "SKIP: ./../test/bind_range" + echo "SKIP: ./../test/checkaffinity" + echo "SKIP: ./../test/checktopology" + echo "SKIP: ./../test/distance" + echo "SKIP: ./../test/nodemap" + echo "SKIP: ./../test/tbitmap" + echo "SKIP: numactl_regress" + echo "SKIP: numademo" +fi + diff --git a/meta/recipes-support/numactl/numactl_git.bb b/meta/recipes-support/numactl/numactl_git.bb new file mode 100644 index 0000000000..6c853f1966 --- /dev/null +++ b/meta/recipes-support/numactl/numactl_git.bb @@ -0,0 +1,59 @@ +SUMMARY = "Development package for building Applications that use numa" +HOMEPAGE = "http://oss.sgi.com/projects/libnuma/" +DESCRIPTION = "Simple NUMA policy support. It consists of a numactl program \ +to run other programs with a specific NUMA policy and a libnuma to do \ +allocations with NUMA policy in applications." +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +SECTION = "apps" + +inherit autotools-brokensep ptest + +LIC_FILES_CHKSUM = "file://README.md;beginline=19;endline=32;md5=9f34c3af4ed6f3f5df0da5f3c0835a43" + +SRCREV = "3871b1c42fc71bceadafd745d2eff5dddfc2d67e" +PV = "2.0.18" + +SRC_URI = "git://github.com/numactl/numactl;branch=master;protocol=https \ + file://Fix-the-test-output-format.patch \ + file://Makefile \ + file://run-ptest \ + file://0001-define-run-test-target.patch \ + " + +S = "${WORKDIR}/git" + +LDFLAGS:append:riscv64 = " -latomic" +LDFLAGS:append:riscv32 = " -latomic" + +do_install() { + oe_runmake DESTDIR=${D} prefix=${D}/usr install + #remove the empty man2 directory + rm -r ${D}${mandir}/man2 +} + +do_compile_ptest() { + oe_runmake test +} + +do_install_ptest() { + #install tests binaries + local test_binaries="distance ftok mbind_mig_pages migrate_pages move_pages \ + mynode nodemap node-parse pagesize prefered randmap realloc_test \ + tbitmap tshared" + + [ ! -d ${D}/${PTEST_PATH}/test ] && mkdir -p ${D}/${PTEST_PATH}/test + for i in $test_binaries; do + install -m 0755 ${B}/test/.libs/$i ${D}${PTEST_PATH}/test + done + + local test_scripts="checktopology checkaffinity printcpu regress regress2 \ + shmtest runltp bind_range" + for i in $test_scripts; do + install -m 0755 ${B}/test/$i ${D}${PTEST_PATH}/test + done + + install -m 0755 ${UNPACKDIR}/Makefile ${D}${PTEST_PATH}/ + install -m 0755 ${B}/.libs/numactl ${D}${PTEST_PATH}/ +} + +RDEPENDS:${PN}-ptest = "bash" |