Message ID | 1433955265-4180-8-git-send-email-christophe.milard@linaro.org |
---|---|
State | Accepted |
Commit | 5ab80024aa0cc36c2c86235ce091d003bea07953 |
Headers | show |
I dont have a problem if this patch now answers Maxims issues. On 10 June 2015 at 12:54, Christophe Milard <christophe.milard@linaro.org> 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 <christophe.milard@linaro.org> > > --- > configure.ac | 1 + > platform/linux-generic/test/.gitignore | 2 + > platform/linux-generic/test/Makefile.am | 14 +++++- > 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, 47 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 b/configure.ac > index ffc23c8..2b450f1 100644 > --- a/configure.ac > +++ b/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..e1e1c50 100644 > --- a/platform/linux-generic/test/Makefile.am > +++ b/platform/linux-generic/test/Makefile.am > @@ -1 +1,13 @@ > -dist_bin_SCRIPTS = $(srcdir)/pktio_env > +TESTS_ENVIRONMENT = TEST_DIR=${top_builddir}/test/validation > + > +ODP_MODULES = pktio > + > +if test_vald > +TESTS = pktio/pktio_run > +SUBDIRS = $(ODP_MODULES) > +endif > + > +#performance tests refer to pktio_env > +if test_perf > +SUBDIRS = pktio > +endif > 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..6c6a503 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=${TEST_DIR}/pktio:$PATH > +PATH=$(dirname $0):$PATH > +PATH=$(dirname $0)/../../../../test/validation/pktio:$PATH > +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 > > -- > 1.9.1 > >
diff --git a/configure.ac b/configure.ac index ffc23c8..2b450f1 100644 --- a/configure.ac +++ b/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..e1e1c50 100644 --- a/platform/linux-generic/test/Makefile.am +++ b/platform/linux-generic/test/Makefile.am @@ -1 +1,13 @@ -dist_bin_SCRIPTS = $(srcdir)/pktio_env +TESTS_ENVIRONMENT = TEST_DIR=${top_builddir}/test/validation + +ODP_MODULES = pktio + +if test_vald +TESTS = pktio/pktio_run +SUBDIRS = $(ODP_MODULES) +endif + +#performance tests refer to pktio_env +if test_perf +SUBDIRS = pktio +endif 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..6c6a503 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=${TEST_DIR}/pktio:$PATH +PATH=$(dirname $0):$PATH +PATH=$(dirname $0)/../../../../test/validation/pktio:$PATH +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
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 <christophe.milard@linaro.org> --- configure.ac | 1 + platform/linux-generic/test/.gitignore | 2 + platform/linux-generic/test/Makefile.am | 14 +++++- 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, 47 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%)