Message ID | 5577F2B1.2070007@linaro.org |
---|---|
State | New |
Headers | show |
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? On 10 June 2015 at 10:17, Maxim Uvarov <maxim.uvarov@linaro.org> 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 <christophe.milard@linaro.org> >> --- >> 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 b/configure.ac >> index 96126cb..98eba55 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..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 >> >> >
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 <maxim.uvarov@linaro.org > <mailto:maxim.uvarov@linaro.org>> 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 <christophe.milard@linaro.org > <mailto:christophe.milard@linaro.org>> > --- > 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 > > >
On 10 June 2015 at 11:17, Maxim Uvarov <maxim.uvarov@linaro.org> wrote: > 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. > > That is looking like another hack to me. I would prefer leaving it as is. Yes pktio_run, -which should not be there-, refers to a missing file. so what? Then we take our effort into supressing the dependency to pktio_env and could then include/exclude the whole lot of platform tests from the test top makefile. This is where is should be. On 10 June 2015 at 10:17, Maxim Uvarov <maxim.uvarov@linaro.org <mailto: >> maxim.uvarov@linaro.org>> 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 <christophe.milard@linaro.org >> <mailto:christophe.milard@linaro.org>> >> --- >> 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 >> >> >> >> >
--- 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