On 06/10/15 11:37, Christophe Milard wrote:
Hi,
I would agree with you, but saddly pktio_env (which is defined under
platform/linux-generic/test/pktio) is also used in the performance tests.
pktio_env was before packed in the debian package, despite the fact
that the tests were not.
So, If we really want to do something now, it would then be to include
pktio_env when building with performance tests, to include pktio_env
and pktio_run when building with validation tests, and to include
nothing when building with none of the tests. This then looks like a
real hack to me...
So, my approach was to leave it unchanged, and try to see what we can
do to suppress the dependency introduced by pktio_env between the
performance tests and the validation tests later.
When this gets fixed, then, I agree, both the platform agnostic side
and platform dependent side of the tests should be suppressed when not
building with tests.
Does it make sense to you?
For performance test it's not needed in package. Performance test is
odp_generator and odp_l2fwd which are standalone applications.
But before that merge we need at least remove pktio_run because it's
references to missing code. That has to be fixed before this merge.
good fix might be
if test_vald || test_perf
pktio_env
endif
if test_vald
pktio_run
endif
In appropriate Makefiles.
Maxim.
On 10 June 2015 at 10:17, Maxim Uvarov <[email protected]
<mailto:[email protected]>> wrote:
Christophe, if we do not package other tests to deb then there is
no need to package pktio tests also.
In that patch you can extend if test_vald on next 2 lines:
--- a/platform/linux-generic/test/Makefile.am
+++ b/platform/linux-generic/test/Makefile.am
@@ -2,7 +2,9 @@ TESTS_ENVIRONMENT =
TEST_DIR=${top_builddir}/test/validation
if test_vald
TESTS = pktio/pktio_run
-endif
ODP_MODULES = pktio
SUBDIRS = $(ODP_MODULES)
+endif
Maxim.
On 06/09/15 14:44, Christophe Milard wrote:
The platform specific scripts for pktio are now moved
from the validation to the platform side.
Pktio tests are now initiated from the platform side.
Signed-off-by: Christophe Milard <[email protected]
<mailto:[email protected]>>
---
configure.ac <http://configure.ac>
| 1 +
platform/linux-generic/test/.gitignore | 2 +
platform/linux-generic/test/Makefile.am | 9 +++-
platform/linux-generic/test/pktio/.gitignore | 2 +
platform/linux-generic/test/pktio/Makefile.am | 2 +
platform/linux-generic/test/{ => pktio}/pktio_env | 0
.../linux-generic/test}/pktio/pktio_run | 51
++++++++++------------
test/performance/odp_l2fwd_run | 4 +-
test/validation/Makefile.am | 4 +-
test/validation/pktio/Makefile.am | 2 -
10 files changed, 42 insertions(+), 35 deletions(-)
create mode 100644 platform/linux-generic/test/.gitignore
create mode 100644 platform/linux-generic/test/pktio/.gitignore
create mode 100644 platform/linux-generic/test/pktio/Makefile.am
rename platform/linux-generic/test/{ => pktio}/pktio_env (100%)
rename {test/validation =>
platform/linux-generic/test}/pktio/pktio_run (51%)
diff --git a/configure.ac <http://configure.ac> b/configure.ac
<http://configure.ac>
index 96126cb..98eba55 100644
--- a/configure.ac <http://configure.ac>
+++ b/configure.ac <http://configure.ac>
@@ -297,6 +297,7 @@ AC_CONFIG_FILES([Makefile
helper/test/Makefile
pkgconfig/libodp.pc
platform/linux-generic/Makefile
+ platform/linux-generic/test/pktio/Makefile
scripts/Makefile
test/Makefile
test/api_test/Makefile
diff --git a/platform/linux-generic/test/.gitignore
b/platform/linux-generic/test/.gitignore
new file mode 100644
index 0000000..7e563b8
--- /dev/null
+++ b/platform/linux-generic/test/.gitignore
@@ -0,0 +1,2 @@
+*.log
+*.trs
diff --git a/platform/linux-generic/test/Makefile.am
b/platform/linux-generic/test/Makefile.am
index 91e361c..2e0bc11 100644
--- a/platform/linux-generic/test/Makefile.am
+++ b/platform/linux-generic/test/Makefile.am
@@ -1 +1,8 @@
-dist_bin_SCRIPTS = $(srcdir)/pktio_env
+TESTS_ENVIRONMENT = TEST_DIR=${top_builddir}/test/validation
+
+if test_vald
+TESTS = pktio/pktio_run
+endif
+
+ODP_MODULES = pktio
+SUBDIRS = $(ODP_MODULES)
diff --git a/platform/linux-generic/test/pktio/.gitignore
b/platform/linux-generic/test/pktio/.gitignore
new file mode 100644
index 0000000..7e563b8
--- /dev/null
+++ b/platform/linux-generic/test/pktio/.gitignore
@@ -0,0 +1,2 @@
+*.log
+*.trs
diff --git a/platform/linux-generic/test/pktio/Makefile.am
b/platform/linux-generic/test/pktio/Makefile.am
new file mode 100644
index 0000000..93281dd
--- /dev/null
+++ b/platform/linux-generic/test/pktio/Makefile.am
@@ -0,0 +1,2 @@
+dist_bin_SCRIPTS = pktio_env \
+ pktio_run
diff --git a/platform/linux-generic/test/pktio_env
b/platform/linux-generic/test/pktio/pktio_env
similarity index 100%
rename from platform/linux-generic/test/pktio_env
rename to platform/linux-generic/test/pktio/pktio_env
diff --git a/test/validation/pktio/pktio_run
b/platform/linux-generic/test/pktio/pktio_run
similarity index 51%
rename from test/validation/pktio/pktio_run
rename to platform/linux-generic/test/pktio/pktio_run
index aed0cd2..0dc5052 100755
--- a/test/validation/pktio/pktio_run
+++ b/platform/linux-generic/test/pktio/pktio_run
@@ -6,26 +6,26 @@
# SPDX-License-Identifier: BSD-3-Clause
#
-# TEST_DIR is set by Makefile to point to the directory where
binaries have been
-# built (Makefile variable builddir)
-# If TEST_DIR is not set it means we are not running with
make, and in this case
-# there are two situations:
-# 1. user build ODP in the same dir as the source (most likely)
-# here the user can simply call pktio_run
-# 2. user may have built ODP in a separate build dir (like
bitbake usually does)
-# here the user has to do something like
$ODP/test/validation/pktio_run
-#
-# In both situations the script assumes that the user is in
the directory where
-# pktio_main exists. If that's not true, then the user has to
specify the path
-# to it and run:
-# TEST_DIR=$builddir $ODP/test/validation/pktio_run
+# directories where pktio_main binary can be found:
+# -in the validation dir when running make check (intree or
out of tree)
+# -in the script directory, when running after 'make install', or
+# -in the validation when running standalone (./pktio_run)
intree.
+# -in the current directory.
+# running stand alone out of tree requires setting PATH
+PATH=$PATH:${TEST_DIR}/pktio
+PATH=$PATH:$(dirname $0)
+PATH=$PATH:$(dirname $0)/../../../../test/validation/pktio
+PATH=$PATH:.
-# directory where test binaries have been built
-TEST_DIR="${TEST_DIR:-$PWD}"
-# directory where test sources are, including scripts
-TEST_SRC_DIR=$(dirname $0)
+pktio_main_path=$(which pktio_main)
+if [ -x "$pktio_main_path" ] ; then
+ echo "running with pktio_main: $pktio_run_path"
+else
+ echo "cannot find pktio_main: please set you PATH for it."
+fi
-PATH=$TEST_DIR:$PATH
+# directory where platform test sources are, including scripts
+TEST_SRC_DIR=$(dirname $0)
# exit codes expected by automake for skipped tests
TEST_SKIPPED=77
@@ -33,12 +33,8 @@ TEST_SKIPPED=77
# Use installed pktio env or for make check take it from
platform directory
if [ -f "./pktio_env" ]; then
. ./pktio_env
-elif [ "$ODP_PLATFORM" = "" ]; then
- echo "$0: error: ODP_PLATFORM must be defined"
- # not skipped as this should never happen via "make check"
- exit 1
-elif [ -f
${TEST_SRC_DIR}/../../../platform/$ODP_PLATFORM/test/pktio_env
]; then
- .
${TEST_SRC_DIR}/../../../platform/$ODP_PLATFORM/test/pktio_env
+elif [ -f ${TEST_SRC_DIR}/pktio_env ]; then
+ . ${TEST_SRC_DIR}/pktio_env
else
echo "BUG: unable to find pktio_env!"
echo "pktio_env has to be in current directory or in
platform/\$ODP_PLATFORM/test."
@@ -61,7 +57,7 @@ run_test()
if [ "$disabletype" != "SKIP" ]; then
export
ODP_PKTIO_DISABLE_SOCKET_${distype}=y
fi
- ${TEST_DIR}/pktio/pktio_main
+ pktio_main
if [ $? -ne 0 ]; then
ret=1
fi
@@ -76,9 +72,10 @@ run_test()
run()
{
- if [ "$ODP_PLATFORM" != "linux-generic" -o "$(id -u)"
!= "0" ]; then
+ #need to be root to set the interface: if not, run
with default loopback.
+ if [ "$(id -u)" != "0" ]; then
echo "pktio: using 'loop' device"
- ${TEST_DIR}/pktio/pktio_main
+ pktio_main
exit $?
fi
diff --git a/test/performance/odp_l2fwd_run
b/test/performance/odp_l2fwd_run
index bbf0c0c..120da21 100755
--- a/test/performance/odp_l2fwd_run
+++ b/test/performance/odp_l2fwd_run
@@ -37,8 +37,8 @@ elif [ "$ODP_PLATFORM" = "" ]; then
echo "$0: error: ODP_PLATFORM must be defined"
# not skipped as this should never happen via "make check"
exit 1
-elif [ -f
${TEST_SRC_DIR}/../../platform/$ODP_PLATFORM/test/pktio_env ];
then
- .
${TEST_SRC_DIR}/../../platform/$ODP_PLATFORM/test/pktio_env
+elif [ -f
${TEST_SRC_DIR}/../../platform/$ODP_PLATFORM/test/pktio/pktio_env
]; then
+ .
${TEST_SRC_DIR}/../../platform/$ODP_PLATFORM/test/pktio/pktio_env
else
echo "BUG: unable to find pktio_env!"
echo "pktio_env has to be in current directory or in
platform/\$ODP_PLATFORM/test."
diff --git a/test/validation/Makefile.am
b/test/validation/Makefile.am
index 74304f5..0c69636 100644
--- a/test/validation/Makefile.am
+++ b/test/validation/Makefile.am
@@ -25,10 +25,8 @@ EXECUTABLES = odp_buffer \
odp_thread \
odp_ver_abt_log_dbg
-TESTSCRIPTS = pktio/pktio_run
-
if test_vald
-TESTS = $(EXECUTABLES) $(TESTSCRIPTS)
+TESTS = $(EXECUTABLES)
endif
bin_PROGRAMS = $(EXECUTABLES) $(COMPILE_ONLY)
diff --git a/test/validation/pktio/Makefile.am
b/test/validation/pktio/Makefile.am
index c2ecc23..1d1a0d9 100644
--- a/test/validation/pktio/Makefile.am
+++ b/test/validation/pktio/Makefile.am
@@ -1,7 +1,5 @@
include ../Makefile.inc
-dist_bin_SCRIPTS = pktio_run
-
noinst_LIBRARIES = libpktio.a
libpktio_a_SOURCES = pktio.c
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp