summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/numactl
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-support/numactl')
-rw-r--r--meta/recipes-support/numactl/numactl/0001-define-run-test-target.patch33
-rw-r--r--meta/recipes-support/numactl/numactl/Fix-the-test-output-format.patch63
-rw-r--r--meta/recipes-support/numactl/numactl/Makefile7
-rwxr-xr-xmeta/recipes-support/numactl/numactl/run-ptest27
-rw-r--r--meta/recipes-support/numactl/numactl_git.bb59
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"