diff mbox

[PATCHv3] linux-gen: move platform tests into test suite

Message ID 1466063777-2144-1-git-send-email-yi.he@linaro.org
State New
Headers show

Commit Message

Yi He June 16, 2016, 7:56 a.m. UTC
Move platform tests from odp/platform/linux-generic/test
into test suite at odp/test/platform/linux-generic.

Signed-off-by: Yi He <yi.he@linaro.org>
---
v3 fixed missing validation tests in target 'installcheck' by
lifting run-tests script to test/ top level to iterate both
common validation tests as well as platform validation tests
in target 'installcheck'.

 Makefile.am                                        |  1 -
 configure.ac                                       |  2 +-
 platform/linux-generic/m4/configure.m4             |  7 +---
 test/Makefile.am                                   | 13 +++++-
 test/performance/Makefile.am                       |  3 --
 test/performance/odp_l2fwd_run.sh                  |  4 +-
 .../platform/linux-generic}/.gitignore             |  2 +-
 .../platform/linux-generic}/Makefile.am            | 48 ++++------------------
 .../platform/linux-generic}/Makefile.inc           | 24 +++++------
 test/platform/linux-generic/m4/configure.m4        |  5 +++
 .../platform/linux-generic}/pktio/.gitignore       |  0
 .../platform/linux-generic}/pktio/Makefile.am      |  2 +
 .../platform/linux-generic}/pktio/pktio_env        |  0
 .../platform/linux-generic}/pktio/pktio_run.sh     | 29 +++++++------
 .../linux-generic}/pktio/pktio_run_dpdk.sh         | 33 ++++++++-------
 .../linux-generic}/pktio/pktio_run_netmap.sh       | 26 ++++++------
 .../linux-generic}/pktio/pktio_run_pcap.sh         | 23 +++++++----
 .../platform/linux-generic}/pktio/pktio_run_tap.sh | 23 +++++++----
 .../platform/linux-generic}/pktio_ipc/.gitignore   |  0
 .../platform/linux-generic}/pktio_ipc/Makefile.am  |  9 +---
 .../platform/linux-generic}/pktio_ipc/ipc_common.c |  0
 .../platform/linux-generic}/pktio_ipc/ipc_common.h |  0
 .../platform/linux-generic}/pktio_ipc/pktio_ipc1.c |  0
 .../platform/linux-generic}/pktio_ipc/pktio_ipc2.c |  0
 .../linux-generic}/pktio_ipc/pktio_ipc_run.sh      | 23 +++++++----
 .../platform/linux-generic}/ring/.gitignore        |  0
 .../platform/linux-generic}/ring/Makefile.am       |  3 +-
 .../platform/linux-generic}/ring/ring_basic.c      |  0
 .../platform/linux-generic}/ring/ring_main.c       |  0
 .../platform/linux-generic}/ring/ring_stress.c     |  0
 .../platform/linux-generic}/ring/ring_suites.c     |  0
 .../platform/linux-generic}/ring/ring_suites.h     |  0
 .../platform/linux-generic}/shmem/.gitignore       |  0
 .../platform/linux-generic}/shmem/Makefile.am      |  2 +-
 .../platform/linux-generic}/shmem/shmem.h          |  0
 .../platform/linux-generic}/shmem/shmem_common.h   |  0
 .../platform/linux-generic}/shmem/shmem_linux.c    |  0
 .../platform/linux-generic}/shmem/shmem_linux.h    |  0
 .../platform/linux-generic}/shmem/shmem_odp.c      |  0
 .../platform/linux-generic}/shmem/shmem_odp.h      |  0
 {platform/linux-generic/test => test}/run-test     |  0
 test/validation/.gitignore                         |  1 +
 test/validation/Makefile.am                        | 45 +++++++++++++++++++-
 43 files changed, 184 insertions(+), 144 deletions(-)
 rename {platform/linux-generic/test => test/platform/linux-generic}/.gitignore (33%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/Makefile.am (24%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/Makefile.inc (13%)
 create mode 100644 test/platform/linux-generic/m4/configure.m4
 rename {platform/linux-generic/test => test/platform/linux-generic}/pktio/.gitignore (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/pktio/Makefile.am (82%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/pktio/pktio_env (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/pktio/pktio_run.sh (80%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/pktio/pktio_run_dpdk.sh (70%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/pktio/pktio_run_netmap.sh (79%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/pktio/pktio_run_pcap.sh (54%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/pktio/pktio_run_tap.sh (80%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/pktio_ipc/.gitignore (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/pktio_ipc/Makefile.am (55%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/pktio_ipc/ipc_common.c (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/pktio_ipc/ipc_common.h (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/pktio_ipc/pktio_ipc1.c (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/pktio_ipc/pktio_ipc2.c (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/pktio_ipc/pktio_ipc_run.sh (70%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/ring/.gitignore (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/ring/Makefile.am (85%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/ring/ring_basic.c (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/ring/ring_main.c (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/ring/ring_stress.c (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/ring/ring_suites.c (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/ring/ring_suites.h (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/shmem/.gitignore (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/shmem/Makefile.am (90%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/shmem/shmem.h (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/shmem/shmem_common.h (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/shmem/shmem_linux.c (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/shmem/shmem_linux.h (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/shmem/shmem_odp.c (100%)
 rename {platform/linux-generic/test => test/platform/linux-generic}/shmem/shmem_odp.h (100%)
 rename {platform/linux-generic/test => test}/run-test (100%)

Comments

Yi He June 16, 2016, 10:25 a.m. UTC | #1
Hi, Christophe, thanks for the review.

I did not realise this is deliberately made this way, "The Validation tests
HAVE to be called from the platform side!!", I got this and will rework
tomorrow, also put the run-tests script back to the platform folder.

Best Regards, Yi

On 16 June 2016 at 18:51, Christophe Milard <christophe.milard@linaro.org>
wrote:

> On 2016-06-16 07:56, Yi He wrote:
> > Move platform tests from odp/platform/linux-generic/test
> > into test suite at odp/test/platform/linux-generic.
> >
> > Signed-off-by: Yi He <yi.he@linaro.org>
> > ---
> > v3 fixed missing validation tests in target 'installcheck' by
> > lifting run-tests script to test/ top level to iterate both
> > common validation tests as well as platform validation tests
> > in target 'installcheck'.
> >
> >  Makefile.am                                        |  1 -
> >  configure.ac                                       |  2 +-
> >  platform/linux-generic/m4/configure.m4             |  7 +---
> >  test/Makefile.am                                   | 13 +++++-
> >  test/performance/Makefile.am                       |  3 --
> >  test/performance/odp_l2fwd_run.sh                  |  4 +-
> >  .../platform/linux-generic}/.gitignore             |  2 +-
> >  .../platform/linux-generic}/Makefile.am            | 48
> ++++------------------
> >  .../platform/linux-generic}/Makefile.inc           | 24 +++++------
> >  test/platform/linux-generic/m4/configure.m4        |  5 +++
> >  .../platform/linux-generic}/pktio/.gitignore       |  0
> >  .../platform/linux-generic}/pktio/Makefile.am      |  2 +
> >  .../platform/linux-generic}/pktio/pktio_env        |  0
> >  .../platform/linux-generic}/pktio/pktio_run.sh     | 29 +++++++------
> >  .../linux-generic}/pktio/pktio_run_dpdk.sh         | 33 ++++++++-------
> >  .../linux-generic}/pktio/pktio_run_netmap.sh       | 26 ++++++------
> >  .../linux-generic}/pktio/pktio_run_pcap.sh         | 23 +++++++----
> >  .../platform/linux-generic}/pktio/pktio_run_tap.sh | 23 +++++++----
> >  .../platform/linux-generic}/pktio_ipc/.gitignore   |  0
> >  .../platform/linux-generic}/pktio_ipc/Makefile.am  |  9 +---
> >  .../platform/linux-generic}/pktio_ipc/ipc_common.c |  0
> >  .../platform/linux-generic}/pktio_ipc/ipc_common.h |  0
> >  .../platform/linux-generic}/pktio_ipc/pktio_ipc1.c |  0
> >  .../platform/linux-generic}/pktio_ipc/pktio_ipc2.c |  0
> >  .../linux-generic}/pktio_ipc/pktio_ipc_run.sh      | 23 +++++++----
> >  .../platform/linux-generic}/ring/.gitignore        |  0
> >  .../platform/linux-generic}/ring/Makefile.am       |  3 +-
> >  .../platform/linux-generic}/ring/ring_basic.c      |  0
> >  .../platform/linux-generic}/ring/ring_main.c       |  0
> >  .../platform/linux-generic}/ring/ring_stress.c     |  0
> >  .../platform/linux-generic}/ring/ring_suites.c     |  0
> >  .../platform/linux-generic}/ring/ring_suites.h     |  0
> >  .../platform/linux-generic}/shmem/.gitignore       |  0
> >  .../platform/linux-generic}/shmem/Makefile.am      |  2 +-
> >  .../platform/linux-generic}/shmem/shmem.h          |  0
> >  .../platform/linux-generic}/shmem/shmem_common.h   |  0
> >  .../platform/linux-generic}/shmem/shmem_linux.c    |  0
> >  .../platform/linux-generic}/shmem/shmem_linux.h    |  0
> >  .../platform/linux-generic}/shmem/shmem_odp.c      |  0
> >  .../platform/linux-generic}/shmem/shmem_odp.h      |  0
> >  {platform/linux-generic/test => test}/run-test     |  0
> >  test/validation/.gitignore                         |  1 +
> >  test/validation/Makefile.am                        | 45
> +++++++++++++++++++-
> >  43 files changed, 184 insertions(+), 144 deletions(-)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/.gitignore (33%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/Makefile.am (24%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/Makefile.inc (13%)
> >  create mode 100644 test/platform/linux-generic/m4/configure.m4
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/pktio/.gitignore (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/pktio/Makefile.am (82%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/pktio/pktio_env (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/pktio/pktio_run.sh (80%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/pktio/pktio_run_dpdk.sh (70%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/pktio/pktio_run_netmap.sh (79%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/pktio/pktio_run_pcap.sh (54%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/pktio/pktio_run_tap.sh (80%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/pktio_ipc/.gitignore (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/pktio_ipc/Makefile.am (55%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/pktio_ipc/ipc_common.c (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/pktio_ipc/ipc_common.h (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/pktio_ipc/pktio_ipc1.c (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/pktio_ipc/pktio_ipc2.c (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/pktio_ipc/pktio_ipc_run.sh (70%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/ring/.gitignore (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/ring/Makefile.am (85%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/ring/ring_basic.c (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/ring/ring_main.c (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/ring/ring_stress.c (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/ring/ring_suites.c (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/ring/ring_suites.h (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/shmem/.gitignore (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/shmem/Makefile.am (90%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/shmem/shmem.h (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/shmem/shmem_common.h (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/shmem/shmem_linux.c (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/shmem/shmem_linux.h (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/shmem/shmem_odp.c (100%)
> >  rename {platform/linux-generic/test =>
> test/platform/linux-generic}/shmem/shmem_odp.h (100%)
> >  rename {platform/linux-generic/test => test}/run-test (100%)
> >
> > diff --git a/Makefile.am b/Makefile.am
> > index 2129472..625748a 100644
> > --- a/Makefile.am
> > +++ b/Makefile.am
> > @@ -9,7 +9,6 @@ AM_DISTCHECK_CONFIGURE_FLAGS = --enable-test-cpp \
> >  SUBDIRS = @platform_with_platform@ \
> >         helper \
> >         test \
> > -       @platform_with_platform_test@ \
>
> I am so glad to see this going away :-)
>
> >         helper/test \
> >         doc \
> >         example \
> > diff --git a/configure.ac b/configure.ac
> > index c87755b..f3952db 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -107,7 +107,6 @@ AC_ARG_WITH([platform],
> >
> >  AC_SUBST([with_platform])
> >  AC_SUBST([platform_with_platform], ["platform/${with_platform}"])
> > -AC_SUBST([platform_with_platform_test],
> ["platform/${with_platform}/test"])
>
> so nice :-)
>
> >
> >
> ##########################################################################
> >  # Run platform specific checks and settings
> > @@ -116,6 +115,7 @@ IMPLEMENTATION_NAME=""
> >  if test "${with_platform}" == "linux-generic";
> >  then
> >      m4_include([./platform/linux-generic/m4/configure.m4])
> > +    m4_include([./test/platform/linux-generic/m4/configure.m4])
> >      IMPLEMENTATION_NAME="odp-linux"
> >  else
> >      echo "UNSUPPORTED PLATFORM: ${with_platform}"
> > diff --git a/platform/linux-generic/m4/configure.m4
> b/platform/linux-generic/m4/configure.m4
> > index 5380046..1b1b883 100644
> > --- a/platform/linux-generic/m4/configure.m4
> > +++ b/platform/linux-generic/m4/configure.m4
> > @@ -36,9 +36,4 @@ m4_include([platform/linux-generic/m4/odp_dpdk.m4])
> >  m4_include([platform/linux-generic/m4/odp_ipc.m4])
> >  m4_include([platform/linux-generic/m4/odp_schedule.m4])
> >
> > -AC_CONFIG_FILES([platform/linux-generic/Makefile
> > -              platform/linux-generic/test/Makefile
> > -              platform/linux-generic/test/shmem/Makefile
> > -              platform/linux-generic/test/pktio/Makefile
> > -              platform/linux-generic/test/pktio_ipc/Makefile
> > -              platform/linux-generic/test/ring/Makefile])
> > +AC_CONFIG_FILES([platform/linux-generic/Makefile])
> > diff --git a/test/Makefile.am b/test/Makefile.am
> > index 4a75364..0b0987a 100644
> > --- a/test/Makefile.am
> > +++ b/test/Makefile.am
> > @@ -1,5 +1,16 @@
> >  SUBDIRS = performance miscellaneous
> >
> >  if cunit_support
> > -    SUBDIRS += validation
> > +    SUBDIRS += validation @platform_with_platform@
> >  endif
> > +
> > +dist_check_SCRIPTS = run-test $(LOG_COMPILER)
> > +
> > +test_SCRIPTS = $(dist_check_SCRIPTS)
> > +
> > +if test_installdir
> > +installcheck-local:
> > +     $(DESTDIR)/$(testdir)/run-test
> > +endif
> > +
> > +noinst_HEADERS = $(top_srcdir)/test/test_debug.h
> > diff --git a/test/performance/Makefile.am b/test/performance/Makefile.am
> > index d23bb3e..04e8027 100644
> > --- a/test/performance/Makefile.am
> > +++ b/test/performance/Makefile.am
> > @@ -23,9 +23,6 @@ odp_crypto_CFLAGS = $(AM_CFLAGS) -I${top_srcdir}/test
> >  odp_scheduling_LDFLAGS = $(AM_LDFLAGS) -static
> >  odp_scheduling_CFLAGS = $(AM_CFLAGS) -I${top_srcdir}/test
> >
> > -noinst_HEADERS = \
> > -               $(top_srcdir)/test/test_debug.h
> > -
> >  dist_odp_crypto_SOURCES = odp_crypto.c
> >  dist_odp_scheduling_SOURCES = odp_scheduling.c
> >  dist_odp_pktio_perf_SOURCES = odp_pktio_perf.c
> > diff --git a/test/performance/odp_l2fwd_run.sh
> b/test/performance/odp_l2fwd_run.sh
> > index cab97a8..fc3d05d 100755
> > --- a/test/performance/odp_l2fwd_run.sh
> > +++ b/test/performance/odp_l2fwd_run.sh
> > @@ -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/pktio_env ]; then
> > -     . ${TEST_SRC_DIR}/../../platform/$ODP_PLATFORM/test/pktio/pktio_env
> > +elif [ -f ${TEST_SRC_DIR}/../platform/$ODP_PLATFORM/pktio/pktio_env ];
> then
> > +     . ${TEST_SRC_DIR}/../platform/$ODP_PLATFORM/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/platform/linux-generic/test/.gitignore
> b/test/platform/linux-generic/.gitignore
> > similarity index 33%
> > rename from platform/linux-generic/test/.gitignore
> > rename to test/platform/linux-generic/.gitignore
> > index 5dabf91..1a6e931 100644
> > --- a/platform/linux-generic/test/.gitignore
> > +++ b/test/platform/linux-generic/.gitignore
> > @@ -1,3 +1,3 @@
> >  *.log
> >  *.trs
> > -tests-validation.env
> > +tests-linux-generic.env
>
> hmm, I guess this is linked to my "NO" below...
>
> > diff --git a/platform/linux-generic/test/Makefile.am
> b/test/platform/linux-generic/Makefile.am
> > similarity index 24%
> > rename from platform/linux-generic/test/Makefile.am
> > rename to test/platform/linux-generic/Makefile.am
> > index 2d58c57..d97714f 100644
> > --- a/platform/linux-generic/test/Makefile.am
> > +++ b/test/platform/linux-generic/Makefile.am
> > @@ -1,41 +1,16 @@
> > -include $(top_srcdir)/test/Makefile.inc
> > -TESTS_ENVIRONMENT += TEST_DIR=${top_builddir}/test/validation
> > +include $(top_srcdir)/test/platform/linux-generic/Makefile.inc
>
> Any reason for this long absolute path when these 2 files are in the same
> directory?
>
> >
> > -ODP_MODULES = pktio \
> > -           ring \
> > -           shmem
> > +TESTS_ENVIRONMENT += TEST_DIR=${builddir}
> > +
> > +ODP_MODULES = pktio ring shmem
>
> Why did you gather all these on the same line?  One line per ODP module is
> better
> when diffing files. We normaly prefer 1 line per module in alphabetical
> order,
> as it was before your change.
>
> >
> >  if test_vald
> > +SUBDIRS = $(ODP_MODULES)
> > +
> >  TESTS = pktio/pktio_run.sh \
> >       pktio/pktio_run_tap.sh \
> >       ring/ring_main$(EXEEXT) \
> > -     shmem/shmem_linux \
> > -     ${top_builddir}/test/validation/atomic/atomic_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/barrier/barrier_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/buffer/buffer_main$(EXEEXT) \
> > -
>  ${top_builddir}/test/validation/classification/classification_main$(EXEEXT)
> \
> > -     ${top_builddir}/test/validation/cpumask/cpumask_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/crypto/crypto_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/errno/errno_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/hash/hash_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/init/init_main_ok$(EXEEXT) \
> > -     ${top_builddir}/test/validation/init/init_main_abort$(EXEEXT) \
> > -     ${top_builddir}/test/validation/init/init_main_log$(EXEEXT) \
> > -     ${top_builddir}/test/validation/lock/lock_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/packet/packet_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/pool/pool_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/queue/queue_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/random/random_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/scheduler/scheduler_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/std_clib/std_clib_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/thread/thread_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/time/time_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/timer/timer_main$(EXEEXT) \
> > -
>  ${top_builddir}/test/validation/traffic_mngr/traffic_mngr_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/shmem/shmem_main$(EXEEXT) \
> > -     ${top_builddir}/test/validation/system/system_main$(EXEEXT)
>
> NO!, sorry Yi.
> The Validation tests HAVE to be called from the platform side!!
> That enables for individual platforms to define wrappers around tests:
> If You run the validation tests from the validation side, any platforms
> which needs to have a little twik (e.g. a specific setup, or soon, tests
> args)
> will be stuck. Ping me if this is not clear, I can explain more.
>
> > -
> > -SUBDIRS = $(ODP_MODULES)
> > +     shmem/shmem_linux
> >
> >  if HAVE_PCAP
> >  TESTS += pktio/pktio_run_pcap.sh
> > @@ -54,20 +29,15 @@ endif
> >
> >  TEST_EXTENSIONS = .sh
> >
> > -dist_check_SCRIPTS = run-test tests-validation.env $(LOG_COMPILER)
> > +dist_check_SCRIPTS = tests-linux-generic.env $(LOG_COMPILER)
>
> I guess  you changed this name because the you move the place for test
> execution, but no, all tests should be run from here.
>
> I have to break here, but I send you this comments as you will need a V4a
> anyway.
> sorry... But be assured I (moslty) like what you do here!
>
> Christophe.
>
> >
> >  test_SCRIPTS = $(dist_check_SCRIPTS)
> >
> > -tests-validation.env:
> > +tests-linux-generic.env:
> >       echo "TESTS=\"$(TESTS)\""    > $@
> >       echo "$(TESTS_ENVIRONMENT)" >> $@
> >       echo "$(LOG_COMPILER)"      >> $@
> >
> > -if test_installdir
> > -installcheck-local:
> > -     $(DESTDIR)/$(testdir)/run-test
> > -endif
> > -
> >  #performance tests refer to pktio_env
> >  if test_perf
> >  SUBDIRS = pktio
> > diff --git a/platform/linux-generic/test/Makefile.inc
> b/test/platform/linux-generic/Makefile.inc
> > similarity index 13%
> > rename from platform/linux-generic/test/Makefile.inc
> > rename to test/platform/linux-generic/Makefile.inc
> > index 80b66ae..9f36f9d 100644
> > --- a/platform/linux-generic/test/Makefile.inc
> > +++ b/test/platform/linux-generic/Makefile.inc
> > @@ -1,16 +1,16 @@
> > -# The following definitions may be used by platform tests that wish to
> > -# build specific ODP applications, (i.e those whose do more than
> validation
> > -# test wrapping)
> > +include $(top_srcdir)/test/Makefile.inc
> >
> > +COMMON_DIR = $(top_builddir)/test/validation/common
> > +
> > +#the following option ensure that option '-I.' is not passed to gcc,
> > +#therefore distinguishing between '#include "X"' and '#include <X>'.
> > +#It allows common filenames (such as 'errno.h') to be used locally.
> > +AUTOMAKE_OPTIONS = nostdinc
> > +
> > +AM_CFLAGS += -I$(top_srcdir)/test/validation/common
> >  AM_LDFLAGS += -static
> >
> > -LIBCUNIT_COMMON = $(top_builddir)/test/validation/common/
> libcunit_common.la
> > -LIB   = $(top_builddir)/lib
> > +LIBCUNIT_COMMON = $(COMMON_DIR)/libcunit_common.la
> > +LIBCPUMASK_COMMON = $(COMMON_DIR)/libcpumask_common.la
> > +LIBTHRMASK_COMMON = $(COMMON_DIR)/libthrmask_common.la
> >  LIBODP = $(LIB)/libodphelper-linux.la $(LIB)/libodp-linux.la
> > -
> > -INCCUNIT_COMMON = -I$(top_srcdir)/test/validation/common
> > -INCODP = -I$(top_srcdir)/test \
> > -      -I$(top_srcdir)/platform/@with_platform@/include \
> > -      -I$(top_srcdir)/platform/@with_platform@/arch/$(ARCH_DIR) \
> > -      -I$(top_srcdir)/include \
> > -      -I$(top_srcdir)/helper/include
> > diff --git a/test/platform/linux-generic/m4/configure.m4
> b/test/platform/linux-generic/m4/configure.m4
> > new file mode 100644
> > index 0000000..8c3db21
> > --- /dev/null
> > +++ b/test/platform/linux-generic/m4/configure.m4
> > @@ -0,0 +1,5 @@
> > +AC_CONFIG_FILES([test/platform/linux-generic/Makefile
> > +              test/platform/linux-generic/shmem/Makefile
> > +              test/platform/linux-generic/pktio/Makefile
> > +              test/platform/linux-generic/pktio_ipc/Makefile
> > +              test/platform/linux-generic/ring/Makefile])
> > diff --git a/platform/linux-generic/test/pktio/.gitignore
> b/test/platform/linux-generic/pktio/.gitignore
> > similarity index 100%
> > rename from platform/linux-generic/test/pktio/.gitignore
> > rename to test/platform/linux-generic/pktio/.gitignore
> > diff --git a/platform/linux-generic/test/pktio/Makefile.am
> b/test/platform/linux-generic/pktio/Makefile.am
> > similarity index 82%
> > rename from platform/linux-generic/test/pktio/Makefile.am
> > rename to test/platform/linux-generic/pktio/Makefile.am
> > index 4a14343..209405d 100644
> > --- a/platform/linux-generic/test/pktio/Makefile.am
> > +++ b/test/platform/linux-generic/pktio/Makefile.am
> > @@ -1,3 +1,5 @@
> > +include $(top_srcdir)/test/platform/linux-generic/Makefile.inc
> > +
> >  dist_check_SCRIPTS = pktio_env \
> >                    pktio_run.sh \
> >                    pktio_run_tap.sh
> > diff --git a/platform/linux-generic/test/pktio/pktio_env
> b/test/platform/linux-generic/pktio/pktio_env
> > similarity index 100%
> > rename from platform/linux-generic/test/pktio/pktio_env
> > rename to test/platform/linux-generic/pktio/pktio_env
> > diff --git a/platform/linux-generic/test/pktio/pktio_run.sh
> b/test/platform/linux-generic/pktio/pktio_run.sh
> > similarity index 80%
> > rename from platform/linux-generic/test/pktio/pktio_run.sh
> > rename to test/platform/linux-generic/pktio/pktio_run.sh
> > index 1dc1f44..4840bb0 100755
> > --- a/platform/linux-generic/test/pktio/pktio_run.sh
> > +++ b/test/platform/linux-generic/pktio/pktio_run.sh
> > @@ -15,15 +15,20 @@
> >  # test (legacy mode).
> >  #
> >
> > -# 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
> > +# directory where platform script run-test resides
> > +TEST_DIR="${TEST_DIR:-$PWD}"
> > +
> > +# out-of-tree build searches binaries in build directory
> > +PATH=$TEST_DIR/pktio:$TEST_DIR/../../validation/pktio:$PATH
> > +
> > +# directory where test sources are, including scripts
> > +TEST_SRC_DIR=$(dirname $0)
> > +
> > +# in-tree build searches binaries in source directory
> > +PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
> > +
> > +# run standalone in-tree searches binaries in .
> > +# run standaline out-of-tree requires manually setting PATH
> >  PATH=.:$PATH
> >
> >  pktio_main_path=$(which pktio_main${EXEEXT})
> > @@ -33,9 +38,6 @@ else
> >       echo "cannot find pktio_main: please set you PATH for it."
> >  fi
> >
> > -# directory where platform test sources are, including scripts
> > -TEST_SRC_DIR=$(dirname $0)
> > -
> >  # exit codes expected by automake for skipped tests
> >  TEST_SKIPPED=77
> >
> > @@ -46,7 +48,8 @@ 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."
> > +     echo "pktio_env has to be in current directory" \
> > +             "or in platform/\$ODP_PLATFORM/test."
> >       echo "ODP_PLATFORM=\"$ODP_PLATFORM\""
> >       exit 1
> >  fi
> > diff --git a/platform/linux-generic/test/pktio/pktio_run_dpdk.sh
> b/test/platform/linux-generic/pktio/pktio_run_dpdk.sh
> > similarity index 70%
> > rename from platform/linux-generic/test/pktio/pktio_run_dpdk.sh
> > rename to test/platform/linux-generic/pktio/pktio_run_dpdk.sh
> > index fd552c6..ef5223e 100755
> > --- a/platform/linux-generic/test/pktio/pktio_run_dpdk.sh
> > +++ b/test/platform/linux-generic/pktio/pktio_run_dpdk.sh
> > @@ -15,15 +15,20 @@
> >  # test (legacy mode).
> >  #
> >
> > -# 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
> > +# directory where platform script run-test resides
> > +TEST_DIR="${TEST_DIR:-$PWD}"
> > +
> > +# out-of-tree build searches binaries in build directory
> > +PATH=$TEST_DIR/pktio:$TEST_DIR/../../validation/pktio:$PATH
> > +
> > +# directory where test sources are, including scripts
> > +TEST_SRC_DIR=$(dirname $0)
> > +
> > +# in-tree build searches binaries in source directory
> > +PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
> > +
> > +# run standalone in-tree searches binaries in .
> > +# run standaline out-of-tree requires manually setting PATH
> >  PATH=.:$PATH
> >
> >  pktio_main_path=$(which pktio_main${EXEEXT})
> > @@ -33,9 +38,6 @@ else
> >       echo "cannot find pktio_main: please set you PATH for it."
> >  fi
> >
> > -# directory where platform test sources are, including scripts
> > -TEST_SRC_DIR=$(dirname $0)
> > -
> >  # exit codes expected by automake for skipped tests
> >  TEST_SKIPPED=77
> >
> > @@ -46,7 +48,8 @@ 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."
> > +     echo "pktio_env has to be in current directory" \
> > +             "or in platform/\$ODP_PLATFORM/test."
> >       echo "ODP_PLATFORM=\"$ODP_PLATFORM\""
> >       exit 1
> >  fi
> > @@ -74,7 +77,9 @@ run()
> >
> >       if [ "$ODP_PKTIO_IF0" = "" ]; then
> >               setup_pktio_env clean
> > -             export ODP_PKTIO_DPDK_PARAMS="--vdev eth_pcap0,iface=$IF0
> --vdev eth_pcap1,iface=$IF1"
> > +             IF0_PARAMS="--vdev eth_pcap0,iface=$IF0"
> > +             IF1_PARAMS="--vdev eth_pcap1,iface=$IF1"
> > +             export ODP_PKTIO_DPDK_PARAMS="$IF0_PARAMS $IF1_PARAMS"
> >               export ODP_PKTIO_IF0=0
> >               export ODP_PKTIO_IF1=1
> >       fi
> > diff --git a/platform/linux-generic/test/pktio/pktio_run_netmap.sh
> b/test/platform/linux-generic/pktio/pktio_run_netmap.sh
> > similarity index 79%
> > rename from platform/linux-generic/test/pktio/pktio_run_netmap.sh
> > rename to test/platform/linux-generic/pktio/pktio_run_netmap.sh
> > index b651ea3..11f02ec 100755
> > --- a/platform/linux-generic/test/pktio/pktio_run_netmap.sh
> > +++ b/test/platform/linux-generic/pktio/pktio_run_netmap.sh
> > @@ -9,15 +9,20 @@
> >  # any parameter passed as arguments to this script is passed unchanged
> to
> >  # the test itself (pktio_main)
> >
> > -# 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
> > +# directory where platform script run-test resides
> > +TEST_DIR="${TEST_DIR:-$PWD}"
> > +
> > +# out-of-tree build searches binaries in build directory
> > +PATH=$TEST_DIR/pktio:$TEST_DIR/../../validation/pktio:$PATH
> > +
> > +# directory where test sources are, including scripts
> > +TEST_SRC_DIR=$(dirname $0)
> > +
> > +# in-tree build searches binaries in source directory
> > +PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
> > +
> > +# run standalone in-tree searches binaries in .
> > +# run standaline out-of-tree requires manually setting PATH
> >  PATH=.:$PATH
> >
> >  pktio_main_path=$(which pktio_main${EXEEXT})
> > @@ -27,9 +32,6 @@ else
> >       echo "cannot find pktio_main: please set you PATH for it."
> >  fi
> >
> > -# directory where platform test sources are, including scripts
> > -TEST_SRC_DIR=$(dirname $0)
> > -
> >  # exit codes expected by automake for skipped tests
> >  TEST_SKIPPED=77
> >
> > diff --git a/platform/linux-generic/test/pktio/pktio_run_pcap.sh
> b/test/platform/linux-generic/pktio/pktio_run_pcap.sh
> > similarity index 54%
> > rename from platform/linux-generic/test/pktio/pktio_run_pcap.sh
> > rename to test/platform/linux-generic/pktio/pktio_run_pcap.sh
> > index 51716fb..6d0e5a9 100755
> > --- a/platform/linux-generic/test/pktio/pktio_run_pcap.sh
> > +++ b/test/platform/linux-generic/pktio/pktio_run_pcap.sh
> > @@ -9,15 +9,20 @@
> >  # any parameter passed as arguments to this script is passed unchanged
> to
> >  # the test itself (pktio_main)
> >
> > -# 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 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
> > +# directory where platform script run-test resides
> > +TEST_DIR="${TEST_DIR:-$PWD}"
> > +
> > +# out-of-tree build searches binaries in build directory
> > +PATH=$TEST_DIR/pktio:$TEST_DIR/../../validation/pktio:$PATH
> > +
> > +# directory where test sources are, including scripts
> > +TEST_SRC_DIR=$(dirname $0)
> > +
> > +# in-tree build searches binaries in source directory
> > +PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
> > +
> > +# run standalone in-tree searches binaries in .
> > +# run standaline out-of-tree requires manually setting PATH
> >  PATH=.:$PATH
> >
> >  pktio_main_path=$(which pktio_main${EXEEXT})
> > diff --git a/platform/linux-generic/test/pktio/pktio_run_tap.sh
> b/test/platform/linux-generic/pktio/pktio_run_tap.sh
> > similarity index 80%
> > rename from platform/linux-generic/test/pktio/pktio_run_tap.sh
> > rename to test/platform/linux-generic/pktio/pktio_run_tap.sh
> > index 1150158..b823a15 100755
> > --- a/platform/linux-generic/test/pktio/pktio_run_tap.sh
> > +++ b/test/platform/linux-generic/pktio/pktio_run_tap.sh
> > @@ -10,15 +10,20 @@
> >  # any parameter passed as arguments to this script is passed unchanged
> to
> >  # the test itself (pktio_main)
> >
> > -# 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 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
> > +# directory where platform script run-test resides
> > +TEST_DIR="${TEST_DIR:-$PWD}"
> > +
> > +# out-of-tree build searches binaries in build directory
> > +PATH=$TEST_DIR/pktio:$TEST_DIR/../../validation/pktio:$PATH
> > +
> > +# directory where test sources are, including scripts
> > +TEST_SRC_DIR=$(dirname $0)
> > +
> > +# in-tree build searches binaries in source directory
> > +PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
> > +
> > +# run standalone in-tree searches binaries in .
> > +# run standaline out-of-tree requires manually setting PATH
> >  PATH=.:$PATH
> >
> >  pktio_main_path=$(which pktio_main${EXEEXT})
> > diff --git a/platform/linux-generic/test/pktio_ipc/.gitignore
> b/test/platform/linux-generic/pktio_ipc/.gitignore
> > similarity index 100%
> > rename from platform/linux-generic/test/pktio_ipc/.gitignore
> > rename to test/platform/linux-generic/pktio_ipc/.gitignore
> > diff --git a/platform/linux-generic/test/pktio_ipc/Makefile.am
> b/test/platform/linux-generic/pktio_ipc/Makefile.am
> > similarity index 55%
> > rename from platform/linux-generic/test/pktio_ipc/Makefile.am
> > rename to test/platform/linux-generic/pktio_ipc/Makefile.am
> > index 8858bd2..c0dc242 100644
> > --- a/platform/linux-generic/test/pktio_ipc/Makefile.am
> > +++ b/test/platform/linux-generic/pktio_ipc/Makefile.am
> > @@ -1,15 +1,10 @@
> > -include $(top_srcdir)/test/Makefile.inc
> > -TESTS_ENVIRONMENT += TEST_DIR=${top_builddir}/test/validation
> > +include $(top_srcdir)/test/platform/linux-generic/Makefile.inc
> >
> > -test_PROGRAMS = pktio_ipc1\
> > +test_PROGRAMS = pktio_ipc1 \
> >               pktio_ipc2
> >
> >  pktio_ipc1_CFLAGS = $(AM_CFLAGS) -I${top_srcdir}/example
> > -pktio_ipc1_LDFLAGS = $(AM_LDFLAGS) -static
> >  pktio_ipc2_CFLAGS = $(AM_CFLAGS) -I${top_srcdir}/example
> > -pktio_ipc2_LDFLAGS = $(AM_LDFLAGS) -static
> > -
> > -noinst_HEADERS = $(top_srcdir)/test/test_debug.h
> >
> >  dist_pktio_ipc1_SOURCES = pktio_ipc1.c ipc_common.c
> >  dist_pktio_ipc2_SOURCES = pktio_ipc2.c ipc_common.c
> > diff --git a/platform/linux-generic/test/pktio_ipc/ipc_common.c
> b/test/platform/linux-generic/pktio_ipc/ipc_common.c
> > similarity index 100%
> > rename from platform/linux-generic/test/pktio_ipc/ipc_common.c
> > rename to test/platform/linux-generic/pktio_ipc/ipc_common.c
> > diff --git a/platform/linux-generic/test/pktio_ipc/ipc_common.h
> b/test/platform/linux-generic/pktio_ipc/ipc_common.h
> > similarity index 100%
> > rename from platform/linux-generic/test/pktio_ipc/ipc_common.h
> > rename to test/platform/linux-generic/pktio_ipc/ipc_common.h
> > diff --git a/platform/linux-generic/test/pktio_ipc/pktio_ipc1.c
> b/test/platform/linux-generic/pktio_ipc/pktio_ipc1.c
> > similarity index 100%
> > rename from platform/linux-generic/test/pktio_ipc/pktio_ipc1.c
> > rename to test/platform/linux-generic/pktio_ipc/pktio_ipc1.c
> > diff --git a/platform/linux-generic/test/pktio_ipc/pktio_ipc2.c
> b/test/platform/linux-generic/pktio_ipc/pktio_ipc2.c
> > similarity index 100%
> > rename from platform/linux-generic/test/pktio_ipc/pktio_ipc2.c
> > rename to test/platform/linux-generic/pktio_ipc/pktio_ipc2.c
> > diff --git a/platform/linux-generic/test/pktio_ipc/pktio_ipc_run.sh
> b/test/platform/linux-generic/pktio_ipc/pktio_ipc_run.sh
> > similarity index 70%
> > rename from platform/linux-generic/test/pktio_ipc/pktio_ipc_run.sh
> > rename to test/platform/linux-generic/pktio_ipc/pktio_ipc_run.sh
> > index 1128002..c05bb4f 100755
> > --- a/platform/linux-generic/test/pktio_ipc/pktio_ipc_run.sh
> > +++ b/test/platform/linux-generic/pktio_ipc/pktio_ipc_run.sh
> > @@ -6,15 +6,20 @@
> >  # SPDX-License-Identifier:   BSD-3-Clause
> >  #
> >
> > -# directories where test 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_ipc_run) intree.
> > -# -in the current directory.
> > -# running stand alone out of tree requires setting PATH
> > -PATH=./pktio_ipc:$PATH
> > -PATH=$(dirname $0):$PATH
> > -PATH=$(dirname
> $0)/../../../../platform/linux-generic/test/pktio_ipc:$PATH
> > +# directory where platform script run-test resides
> > +TEST_DIR="${TEST_DIR:-$PWD}"
> > +
> > +# out-of-tree build searches binaries in build directory
> > +PATH=$TEST_DIR/pktio_ipc:$TEST_DIR/../../validation/pktio:$PATH
> > +
> > +# directory where test sources are, including scripts
> > +TEST_SRC_DIR=$(dirname $0)
> > +
> > +# in-tree build searches binaries in source directory
> > +PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
> > +
> > +# run standalone in-tree searches binaries in .
> > +# run standaline out-of-tree requires manually setting PATH
> >  PATH=.:$PATH
> >
> >  run()
> > diff --git a/platform/linux-generic/test/ring/.gitignore
> b/test/platform/linux-generic/ring/.gitignore
> > similarity index 100%
> > rename from platform/linux-generic/test/ring/.gitignore
> > rename to test/platform/linux-generic/ring/.gitignore
> > diff --git a/platform/linux-generic/test/ring/Makefile.am
> b/test/platform/linux-generic/ring/Makefile.am
> > similarity index 85%
> > rename from platform/linux-generic/test/ring/Makefile.am
> > rename to test/platform/linux-generic/ring/Makefile.am
> > index c086584..805d87d 100644
> > --- a/platform/linux-generic/test/ring/Makefile.am
> > +++ b/test/platform/linux-generic/ring/Makefile.am
> > @@ -1,4 +1,4 @@
> > -include ../Makefile.inc
> > +include $(top_srcdir)/test/platform/linux-generic/Makefile.inc
> >
> >  noinst_LTLIBRARIES = libtestring.la
> >  libtestring_la_SOURCES = ring_suites.c ring_basic.c ring_stress.c
> > @@ -11,4 +11,3 @@ ring_main_LDFLAGS = $(AM_LDFLAGS)
> >  ring_main_LDADD = libtestring.la $(LIBCUNIT_COMMON) $(LIBODP)
> >
> >  noinst_HEADERS = ring_suites.h
> > -
> > diff --git a/platform/linux-generic/test/ring/ring_basic.c
> b/test/platform/linux-generic/ring/ring_basic.c
> > similarity index 100%
> > rename from platform/linux-generic/test/ring/ring_basic.c
> > rename to test/platform/linux-generic/ring/ring_basic.c
> > diff --git a/platform/linux-generic/test/ring/ring_main.c
> b/test/platform/linux-generic/ring/ring_main.c
> > similarity index 100%
> > rename from platform/linux-generic/test/ring/ring_main.c
> > rename to test/platform/linux-generic/ring/ring_main.c
> > diff --git a/platform/linux-generic/test/ring/ring_stress.c
> b/test/platform/linux-generic/ring/ring_stress.c
> > similarity index 100%
> > rename from platform/linux-generic/test/ring/ring_stress.c
> > rename to test/platform/linux-generic/ring/ring_stress.c
> > diff --git a/platform/linux-generic/test/ring/ring_suites.c
> b/test/platform/linux-generic/ring/ring_suites.c
> > similarity index 100%
> > rename from platform/linux-generic/test/ring/ring_suites.c
> > rename to test/platform/linux-generic/ring/ring_suites.c
> > diff --git a/platform/linux-generic/test/ring/ring_suites.h
> b/test/platform/linux-generic/ring/ring_suites.h
> > similarity index 100%
> > rename from platform/linux-generic/test/ring/ring_suites.h
> > rename to test/platform/linux-generic/ring/ring_suites.h
> > diff --git a/platform/linux-generic/test/shmem/.gitignore
> b/test/platform/linux-generic/shmem/.gitignore
> > similarity index 100%
> > rename from platform/linux-generic/test/shmem/.gitignore
> > rename to test/platform/linux-generic/shmem/.gitignore
> > diff --git a/platform/linux-generic/test/shmem/Makefile.am
> b/test/platform/linux-generic/shmem/Makefile.am
> > similarity index 90%
> > rename from platform/linux-generic/test/shmem/Makefile.am
> > rename to test/platform/linux-generic/shmem/Makefile.am
> > index 341747f..7f985b8 100644
> > --- a/platform/linux-generic/test/shmem/Makefile.am
> > +++ b/test/platform/linux-generic/shmem/Makefile.am
> > @@ -1,4 +1,4 @@
> > -include ../Makefile.inc
> > +include $(top_srcdir)/test/platform/linux-generic/Makefile.inc
> >
> >  #the main test program is shmem_linux, which, in turn, starts a
> shmem_odp:
> >  test_PROGRAMS = shmem_linux$(EXEEXT)
> > diff --git a/platform/linux-generic/test/shmem/shmem.h
> b/test/platform/linux-generic/shmem/shmem.h
> > similarity index 100%
> > rename from platform/linux-generic/test/shmem/shmem.h
> > rename to test/platform/linux-generic/shmem/shmem.h
> > diff --git a/platform/linux-generic/test/shmem/shmem_common.h
> b/test/platform/linux-generic/shmem/shmem_common.h
> > similarity index 100%
> > rename from platform/linux-generic/test/shmem/shmem_common.h
> > rename to test/platform/linux-generic/shmem/shmem_common.h
> > diff --git a/platform/linux-generic/test/shmem/shmem_linux.c
> b/test/platform/linux-generic/shmem/shmem_linux.c
> > similarity index 100%
> > rename from platform/linux-generic/test/shmem/shmem_linux.c
> > rename to test/platform/linux-generic/shmem/shmem_linux.c
> > diff --git a/platform/linux-generic/test/shmem/shmem_linux.h
> b/test/platform/linux-generic/shmem/shmem_linux.h
> > similarity index 100%
> > rename from platform/linux-generic/test/shmem/shmem_linux.h
> > rename to test/platform/linux-generic/shmem/shmem_linux.h
> > diff --git a/platform/linux-generic/test/shmem/shmem_odp.c
> b/test/platform/linux-generic/shmem/shmem_odp.c
> > similarity index 100%
> > rename from platform/linux-generic/test/shmem/shmem_odp.c
> > rename to test/platform/linux-generic/shmem/shmem_odp.c
> > diff --git a/platform/linux-generic/test/shmem/shmem_odp.h
> b/test/platform/linux-generic/shmem/shmem_odp.h
> > similarity index 100%
> > rename from platform/linux-generic/test/shmem/shmem_odp.h
> > rename to test/platform/linux-generic/shmem/shmem_odp.h
> > diff --git a/platform/linux-generic/test/run-test b/test/run-test
> > similarity index 100%
> > rename from platform/linux-generic/test/run-test
> > rename to test/run-test
> > diff --git a/test/validation/.gitignore b/test/validation/.gitignore
> > index 7e563b8..5dabf91 100644
> > --- a/test/validation/.gitignore
> > +++ b/test/validation/.gitignore
> > @@ -1,2 +1,3 @@
> >  *.log
> >  *.trs
> > +tests-validation.env
> > diff --git a/test/validation/Makefile.am b/test/validation/Makefile.am
> > index 90cc549..58a0757 100644
> > --- a/test/validation/Makefile.am
> > +++ b/test/validation/Makefile.am
> > @@ -1,3 +1,7 @@
> > +include $(top_srcdir)/test/validation/Makefile.inc
> > +
> > +TESTS_ENVIRONMENT += TEST_DIR=${builddir}
> > +
> >  ODP_MODULES = atomic \
> >             barrier \
> >             buffer \
> > @@ -22,7 +26,44 @@ ODP_MODULES = atomic \
> >             shmem \
> >             system
> >
> > -SUBDIRS = common $(ODP_MODULES)
> > -
> >  #The tests will need to retain the deprecated test implementation
> >  AM_CFLAGS += -Wno-deprecated-declarations
> > +
> > +if test_vald
> > +SUBDIRS = common $(ODP_MODULES)
> > +
> > +TESTS = atomic/atomic_main$(EXEEXT) \
> > +     barrier/barrier_main$(EXEEXT) \
> > +     buffer/buffer_main$(EXEEXT) \
> > +     classification/classification_main$(EXEEXT) \
> > +     cpumask/cpumask_main$(EXEEXT) \
> > +     crypto/crypto_main$(EXEEXT) \
> > +     errno/errno_main$(EXEEXT) \
> > +     hash/hash_main$(EXEEXT) \
> > +     init/init_main_ok$(EXEEXT) \
> > +     init/init_main_abort$(EXEEXT) \
> > +     init/init_main_log$(EXEEXT) \
> > +     lock/lock_main$(EXEEXT) \
> > +     packet/packet_main$(EXEEXT) \
> > +     pool/pool_main$(EXEEXT) \
> > +     queue/queue_main$(EXEEXT) \
> > +     random/random_main$(EXEEXT) \
> > +     scheduler/scheduler_main$(EXEEXT) \
> > +     std_clib/std_clib_main$(EXEEXT) \
> > +     thread/thread_main$(EXEEXT) \
> > +     time/time_main$(EXEEXT) \
> > +     timer/timer_main$(EXEEXT) \
> > +     traffic_mngr/traffic_mngr_main$(EXEEXT) \
> > +     shmem/shmem_main$(EXEEXT) \
> > +     system/system_main$(EXEEXT)
> > +
> > +dist_check_SCRIPTS = tests-validation.env $(LOG_COMPILER)
> > +
> > +test_SCRIPTS = $(dist_check_SCRIPTS)
> > +
> > +tests-validation.env:
> > +     echo "TESTS=\"$(TESTS)\""    > $@
> > +     echo "$(TESTS_ENVIRONMENT)" >> $@
> > +     echo "$(LOG_COMPILER)"      >> $@
> > +
> > +endif
> > --
> > 2.7.4
> >
>
Christophe Milard June 16, 2016, 10:51 a.m. UTC | #2
On 2016-06-16 07:56, Yi He wrote:
> Move platform tests from odp/platform/linux-generic/test
> into test suite at odp/test/platform/linux-generic.
> 
> Signed-off-by: Yi He <yi.he@linaro.org>
> ---
> v3 fixed missing validation tests in target 'installcheck' by
> lifting run-tests script to test/ top level to iterate both
> common validation tests as well as platform validation tests
> in target 'installcheck'.
> 
>  Makefile.am                                        |  1 -
>  configure.ac                                       |  2 +-
>  platform/linux-generic/m4/configure.m4             |  7 +---
>  test/Makefile.am                                   | 13 +++++-
>  test/performance/Makefile.am                       |  3 --
>  test/performance/odp_l2fwd_run.sh                  |  4 +-
>  .../platform/linux-generic}/.gitignore             |  2 +-
>  .../platform/linux-generic}/Makefile.am            | 48 ++++------------------
>  .../platform/linux-generic}/Makefile.inc           | 24 +++++------
>  test/platform/linux-generic/m4/configure.m4        |  5 +++
>  .../platform/linux-generic}/pktio/.gitignore       |  0
>  .../platform/linux-generic}/pktio/Makefile.am      |  2 +
>  .../platform/linux-generic}/pktio/pktio_env        |  0
>  .../platform/linux-generic}/pktio/pktio_run.sh     | 29 +++++++------
>  .../linux-generic}/pktio/pktio_run_dpdk.sh         | 33 ++++++++-------
>  .../linux-generic}/pktio/pktio_run_netmap.sh       | 26 ++++++------
>  .../linux-generic}/pktio/pktio_run_pcap.sh         | 23 +++++++----
>  .../platform/linux-generic}/pktio/pktio_run_tap.sh | 23 +++++++----
>  .../platform/linux-generic}/pktio_ipc/.gitignore   |  0
>  .../platform/linux-generic}/pktio_ipc/Makefile.am  |  9 +---
>  .../platform/linux-generic}/pktio_ipc/ipc_common.c |  0
>  .../platform/linux-generic}/pktio_ipc/ipc_common.h |  0
>  .../platform/linux-generic}/pktio_ipc/pktio_ipc1.c |  0
>  .../platform/linux-generic}/pktio_ipc/pktio_ipc2.c |  0
>  .../linux-generic}/pktio_ipc/pktio_ipc_run.sh      | 23 +++++++----
>  .../platform/linux-generic}/ring/.gitignore        |  0
>  .../platform/linux-generic}/ring/Makefile.am       |  3 +-
>  .../platform/linux-generic}/ring/ring_basic.c      |  0
>  .../platform/linux-generic}/ring/ring_main.c       |  0
>  .../platform/linux-generic}/ring/ring_stress.c     |  0
>  .../platform/linux-generic}/ring/ring_suites.c     |  0
>  .../platform/linux-generic}/ring/ring_suites.h     |  0
>  .../platform/linux-generic}/shmem/.gitignore       |  0
>  .../platform/linux-generic}/shmem/Makefile.am      |  2 +-
>  .../platform/linux-generic}/shmem/shmem.h          |  0
>  .../platform/linux-generic}/shmem/shmem_common.h   |  0
>  .../platform/linux-generic}/shmem/shmem_linux.c    |  0
>  .../platform/linux-generic}/shmem/shmem_linux.h    |  0
>  .../platform/linux-generic}/shmem/shmem_odp.c      |  0
>  .../platform/linux-generic}/shmem/shmem_odp.h      |  0
>  {platform/linux-generic/test => test}/run-test     |  0
>  test/validation/.gitignore                         |  1 +
>  test/validation/Makefile.am                        | 45 +++++++++++++++++++-
>  43 files changed, 184 insertions(+), 144 deletions(-)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/.gitignore (33%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/Makefile.am (24%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/Makefile.inc (13%)
>  create mode 100644 test/platform/linux-generic/m4/configure.m4
>  rename {platform/linux-generic/test => test/platform/linux-generic}/pktio/.gitignore (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/pktio/Makefile.am (82%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/pktio/pktio_env (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/pktio/pktio_run.sh (80%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/pktio/pktio_run_dpdk.sh (70%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/pktio/pktio_run_netmap.sh (79%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/pktio/pktio_run_pcap.sh (54%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/pktio/pktio_run_tap.sh (80%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/pktio_ipc/.gitignore (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/pktio_ipc/Makefile.am (55%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/pktio_ipc/ipc_common.c (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/pktio_ipc/ipc_common.h (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/pktio_ipc/pktio_ipc1.c (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/pktio_ipc/pktio_ipc2.c (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/pktio_ipc/pktio_ipc_run.sh (70%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/ring/.gitignore (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/ring/Makefile.am (85%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/ring/ring_basic.c (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/ring/ring_main.c (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/ring/ring_stress.c (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/ring/ring_suites.c (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/ring/ring_suites.h (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/shmem/.gitignore (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/shmem/Makefile.am (90%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/shmem/shmem.h (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/shmem/shmem_common.h (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/shmem/shmem_linux.c (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/shmem/shmem_linux.h (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/shmem/shmem_odp.c (100%)
>  rename {platform/linux-generic/test => test/platform/linux-generic}/shmem/shmem_odp.h (100%)
>  rename {platform/linux-generic/test => test}/run-test (100%)
> 
> diff --git a/Makefile.am b/Makefile.am
> index 2129472..625748a 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -9,7 +9,6 @@ AM_DISTCHECK_CONFIGURE_FLAGS = --enable-test-cpp \
>  SUBDIRS = @platform_with_platform@ \
>  	  helper \
>  	  test \
> -	  @platform_with_platform_test@ \

I am so glad to see this going away :-)

>  	  helper/test \
>  	  doc \
>  	  example \
> diff --git a/configure.ac b/configure.ac
> index c87755b..f3952db 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -107,7 +107,6 @@ AC_ARG_WITH([platform],
>  
>  AC_SUBST([with_platform])
>  AC_SUBST([platform_with_platform], ["platform/${with_platform}"])
> -AC_SUBST([platform_with_platform_test], ["platform/${with_platform}/test"])

so nice :-)

>  
>  ##########################################################################
>  # Run platform specific checks and settings
> @@ -116,6 +115,7 @@ IMPLEMENTATION_NAME=""
>  if test "${with_platform}" == "linux-generic";
>  then
>      m4_include([./platform/linux-generic/m4/configure.m4])
> +    m4_include([./test/platform/linux-generic/m4/configure.m4])
>      IMPLEMENTATION_NAME="odp-linux"
>  else
>      echo "UNSUPPORTED PLATFORM: ${with_platform}"
> diff --git a/platform/linux-generic/m4/configure.m4 b/platform/linux-generic/m4/configure.m4
> index 5380046..1b1b883 100644
> --- a/platform/linux-generic/m4/configure.m4
> +++ b/platform/linux-generic/m4/configure.m4
> @@ -36,9 +36,4 @@ m4_include([platform/linux-generic/m4/odp_dpdk.m4])
>  m4_include([platform/linux-generic/m4/odp_ipc.m4])
>  m4_include([platform/linux-generic/m4/odp_schedule.m4])
>  
> -AC_CONFIG_FILES([platform/linux-generic/Makefile
> -		 platform/linux-generic/test/Makefile
> -		 platform/linux-generic/test/shmem/Makefile
> -		 platform/linux-generic/test/pktio/Makefile
> -		 platform/linux-generic/test/pktio_ipc/Makefile
> -		 platform/linux-generic/test/ring/Makefile])
> +AC_CONFIG_FILES([platform/linux-generic/Makefile])
> diff --git a/test/Makefile.am b/test/Makefile.am
> index 4a75364..0b0987a 100644
> --- a/test/Makefile.am
> +++ b/test/Makefile.am
> @@ -1,5 +1,16 @@
>  SUBDIRS = performance miscellaneous
>  
>  if cunit_support
> -    SUBDIRS += validation
> +    SUBDIRS += validation @platform_with_platform@
>  endif
> +
> +dist_check_SCRIPTS = run-test $(LOG_COMPILER)
> +
> +test_SCRIPTS = $(dist_check_SCRIPTS)
> +
> +if test_installdir
> +installcheck-local:
> +	$(DESTDIR)/$(testdir)/run-test
> +endif
> +
> +noinst_HEADERS = $(top_srcdir)/test/test_debug.h
> diff --git a/test/performance/Makefile.am b/test/performance/Makefile.am
> index d23bb3e..04e8027 100644
> --- a/test/performance/Makefile.am
> +++ b/test/performance/Makefile.am
> @@ -23,9 +23,6 @@ odp_crypto_CFLAGS = $(AM_CFLAGS) -I${top_srcdir}/test
>  odp_scheduling_LDFLAGS = $(AM_LDFLAGS) -static
>  odp_scheduling_CFLAGS = $(AM_CFLAGS) -I${top_srcdir}/test
>  
> -noinst_HEADERS = \
> -		  $(top_srcdir)/test/test_debug.h
> -
>  dist_odp_crypto_SOURCES = odp_crypto.c
>  dist_odp_scheduling_SOURCES = odp_scheduling.c
>  dist_odp_pktio_perf_SOURCES = odp_pktio_perf.c
> diff --git a/test/performance/odp_l2fwd_run.sh b/test/performance/odp_l2fwd_run.sh
> index cab97a8..fc3d05d 100755
> --- a/test/performance/odp_l2fwd_run.sh
> +++ b/test/performance/odp_l2fwd_run.sh
> @@ -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/pktio_env ]; then
> -	. ${TEST_SRC_DIR}/../../platform/$ODP_PLATFORM/test/pktio/pktio_env
> +elif [ -f ${TEST_SRC_DIR}/../platform/$ODP_PLATFORM/pktio/pktio_env ]; then
> +	. ${TEST_SRC_DIR}/../platform/$ODP_PLATFORM/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/platform/linux-generic/test/.gitignore b/test/platform/linux-generic/.gitignore
> similarity index 33%
> rename from platform/linux-generic/test/.gitignore
> rename to test/platform/linux-generic/.gitignore
> index 5dabf91..1a6e931 100644
> --- a/platform/linux-generic/test/.gitignore
> +++ b/test/platform/linux-generic/.gitignore
> @@ -1,3 +1,3 @@
>  *.log
>  *.trs
> -tests-validation.env
> +tests-linux-generic.env

hmm, I guess this is linked to my "NO" below...

> diff --git a/platform/linux-generic/test/Makefile.am b/test/platform/linux-generic/Makefile.am
> similarity index 24%
> rename from platform/linux-generic/test/Makefile.am
> rename to test/platform/linux-generic/Makefile.am
> index 2d58c57..d97714f 100644
> --- a/platform/linux-generic/test/Makefile.am
> +++ b/test/platform/linux-generic/Makefile.am
> @@ -1,41 +1,16 @@
> -include $(top_srcdir)/test/Makefile.inc
> -TESTS_ENVIRONMENT += TEST_DIR=${top_builddir}/test/validation
> +include $(top_srcdir)/test/platform/linux-generic/Makefile.inc

Any reason for this long absolute path when these 2 files are in the same directory?

>  
> -ODP_MODULES = pktio \
> -	      ring \
> -	      shmem
> +TESTS_ENVIRONMENT += TEST_DIR=${builddir}
> +
> +ODP_MODULES = pktio ring shmem

Why did you gather all these on the same line?  One line per ODP module is better
when diffing files. We normaly prefer 1 line per module in alphabetical order,
as it was before your change.

>  
>  if test_vald
> +SUBDIRS = $(ODP_MODULES)
> +
>  TESTS = pktio/pktio_run.sh \
>  	pktio/pktio_run_tap.sh \
>  	ring/ring_main$(EXEEXT) \
> -	shmem/shmem_linux \
> -	${top_builddir}/test/validation/atomic/atomic_main$(EXEEXT) \
> -	${top_builddir}/test/validation/barrier/barrier_main$(EXEEXT) \
> -	${top_builddir}/test/validation/buffer/buffer_main$(EXEEXT) \
> -	${top_builddir}/test/validation/classification/classification_main$(EXEEXT) \
> -	${top_builddir}/test/validation/cpumask/cpumask_main$(EXEEXT) \
> -	${top_builddir}/test/validation/crypto/crypto_main$(EXEEXT) \
> -	${top_builddir}/test/validation/errno/errno_main$(EXEEXT) \
> -	${top_builddir}/test/validation/hash/hash_main$(EXEEXT) \
> -	${top_builddir}/test/validation/init/init_main_ok$(EXEEXT) \
> -	${top_builddir}/test/validation/init/init_main_abort$(EXEEXT) \
> -	${top_builddir}/test/validation/init/init_main_log$(EXEEXT) \
> -	${top_builddir}/test/validation/lock/lock_main$(EXEEXT) \
> -	${top_builddir}/test/validation/packet/packet_main$(EXEEXT) \
> -	${top_builddir}/test/validation/pool/pool_main$(EXEEXT) \
> -	${top_builddir}/test/validation/queue/queue_main$(EXEEXT) \
> -	${top_builddir}/test/validation/random/random_main$(EXEEXT) \
> -	${top_builddir}/test/validation/scheduler/scheduler_main$(EXEEXT) \
> -	${top_builddir}/test/validation/std_clib/std_clib_main$(EXEEXT) \
> -	${top_builddir}/test/validation/thread/thread_main$(EXEEXT) \
> -	${top_builddir}/test/validation/time/time_main$(EXEEXT) \
> -	${top_builddir}/test/validation/timer/timer_main$(EXEEXT) \
> -	${top_builddir}/test/validation/traffic_mngr/traffic_mngr_main$(EXEEXT) \
> -	${top_builddir}/test/validation/shmem/shmem_main$(EXEEXT) \
> -	${top_builddir}/test/validation/system/system_main$(EXEEXT)

NO!, sorry Yi.
The Validation tests HAVE to be called from the platform side!!
That enables for individual platforms to define wrappers around tests:
If You run the validation tests from the validation side, any platforms
which needs to have a little twik (e.g. a specific setup, or soon, tests args)
will be stuck. Ping me if this is not clear, I can explain more.

> -
> -SUBDIRS = $(ODP_MODULES)
> +	shmem/shmem_linux
>  
>  if HAVE_PCAP
>  TESTS += pktio/pktio_run_pcap.sh
> @@ -54,20 +29,15 @@ endif
>  
>  TEST_EXTENSIONS = .sh
>  
> -dist_check_SCRIPTS = run-test tests-validation.env $(LOG_COMPILER)
> +dist_check_SCRIPTS = tests-linux-generic.env $(LOG_COMPILER)

I guess  you changed this name because the you move the place for test
execution, but no, all tests should be run from here.

I have to break here, but I send you this comments as you will need a V4a anyway.
sorry... But be assured I (moslty) like what you do here!

Christophe.

>  
>  test_SCRIPTS = $(dist_check_SCRIPTS)
>  
> -tests-validation.env:
> +tests-linux-generic.env:
>  	echo "TESTS=\"$(TESTS)\""    > $@
>  	echo "$(TESTS_ENVIRONMENT)" >> $@
>  	echo "$(LOG_COMPILER)"      >> $@
>  
> -if test_installdir
> -installcheck-local:
> -	$(DESTDIR)/$(testdir)/run-test
> -endif
> -
>  #performance tests refer to pktio_env
>  if test_perf
>  SUBDIRS = pktio
> diff --git a/platform/linux-generic/test/Makefile.inc b/test/platform/linux-generic/Makefile.inc
> similarity index 13%
> rename from platform/linux-generic/test/Makefile.inc
> rename to test/platform/linux-generic/Makefile.inc
> index 80b66ae..9f36f9d 100644
> --- a/platform/linux-generic/test/Makefile.inc
> +++ b/test/platform/linux-generic/Makefile.inc
> @@ -1,16 +1,16 @@
> -# The following definitions may be used by platform tests that wish to
> -# build specific ODP applications, (i.e those whose do more than validation
> -# test wrapping)
> +include $(top_srcdir)/test/Makefile.inc
>  
> +COMMON_DIR = $(top_builddir)/test/validation/common
> +
> +#the following option ensure that option '-I.' is not passed to gcc,
> +#therefore distinguishing between '#include "X"' and '#include <X>'.
> +#It allows common filenames (such as 'errno.h') to be used locally.
> +AUTOMAKE_OPTIONS = nostdinc
> +
> +AM_CFLAGS += -I$(top_srcdir)/test/validation/common
>  AM_LDFLAGS += -static
>  
> -LIBCUNIT_COMMON = $(top_builddir)/test/validation/common/libcunit_common.la
> -LIB   = $(top_builddir)/lib
> +LIBCUNIT_COMMON = $(COMMON_DIR)/libcunit_common.la
> +LIBCPUMASK_COMMON = $(COMMON_DIR)/libcpumask_common.la
> +LIBTHRMASK_COMMON = $(COMMON_DIR)/libthrmask_common.la
>  LIBODP = $(LIB)/libodphelper-linux.la $(LIB)/libodp-linux.la
> -
> -INCCUNIT_COMMON = -I$(top_srcdir)/test/validation/common
> -INCODP = -I$(top_srcdir)/test \
> -	 -I$(top_srcdir)/platform/@with_platform@/include \
> -	 -I$(top_srcdir)/platform/@with_platform@/arch/$(ARCH_DIR) \
> -	 -I$(top_srcdir)/include \
> -	 -I$(top_srcdir)/helper/include
> diff --git a/test/platform/linux-generic/m4/configure.m4 b/test/platform/linux-generic/m4/configure.m4
> new file mode 100644
> index 0000000..8c3db21
> --- /dev/null
> +++ b/test/platform/linux-generic/m4/configure.m4
> @@ -0,0 +1,5 @@
> +AC_CONFIG_FILES([test/platform/linux-generic/Makefile
> +		 test/platform/linux-generic/shmem/Makefile
> +		 test/platform/linux-generic/pktio/Makefile
> +		 test/platform/linux-generic/pktio_ipc/Makefile
> +		 test/platform/linux-generic/ring/Makefile])
> diff --git a/platform/linux-generic/test/pktio/.gitignore b/test/platform/linux-generic/pktio/.gitignore
> similarity index 100%
> rename from platform/linux-generic/test/pktio/.gitignore
> rename to test/platform/linux-generic/pktio/.gitignore
> diff --git a/platform/linux-generic/test/pktio/Makefile.am b/test/platform/linux-generic/pktio/Makefile.am
> similarity index 82%
> rename from platform/linux-generic/test/pktio/Makefile.am
> rename to test/platform/linux-generic/pktio/Makefile.am
> index 4a14343..209405d 100644
> --- a/platform/linux-generic/test/pktio/Makefile.am
> +++ b/test/platform/linux-generic/pktio/Makefile.am
> @@ -1,3 +1,5 @@
> +include $(top_srcdir)/test/platform/linux-generic/Makefile.inc
> +
>  dist_check_SCRIPTS = pktio_env \
>  		     pktio_run.sh \
>  		     pktio_run_tap.sh
> diff --git a/platform/linux-generic/test/pktio/pktio_env b/test/platform/linux-generic/pktio/pktio_env
> similarity index 100%
> rename from platform/linux-generic/test/pktio/pktio_env
> rename to test/platform/linux-generic/pktio/pktio_env
> diff --git a/platform/linux-generic/test/pktio/pktio_run.sh b/test/platform/linux-generic/pktio/pktio_run.sh
> similarity index 80%
> rename from platform/linux-generic/test/pktio/pktio_run.sh
> rename to test/platform/linux-generic/pktio/pktio_run.sh
> index 1dc1f44..4840bb0 100755
> --- a/platform/linux-generic/test/pktio/pktio_run.sh
> +++ b/test/platform/linux-generic/pktio/pktio_run.sh
> @@ -15,15 +15,20 @@
>  # test (legacy mode).
>  #
>  
> -# 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
> +# directory where platform script run-test resides
> +TEST_DIR="${TEST_DIR:-$PWD}"
> +
> +# out-of-tree build searches binaries in build directory
> +PATH=$TEST_DIR/pktio:$TEST_DIR/../../validation/pktio:$PATH
> +
> +# directory where test sources are, including scripts
> +TEST_SRC_DIR=$(dirname $0)
> +
> +# in-tree build searches binaries in source directory
> +PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
> +
> +# run standalone in-tree searches binaries in .
> +# run standaline out-of-tree requires manually setting PATH
>  PATH=.:$PATH
>  
>  pktio_main_path=$(which pktio_main${EXEEXT})
> @@ -33,9 +38,6 @@ else
>  	echo "cannot find pktio_main: please set you PATH for it."
>  fi
>  
> -# directory where platform test sources are, including scripts
> -TEST_SRC_DIR=$(dirname $0)
> -
>  # exit codes expected by automake for skipped tests
>  TEST_SKIPPED=77
>  
> @@ -46,7 +48,8 @@ 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."
> +	echo "pktio_env has to be in current directory" \
> +		"or in platform/\$ODP_PLATFORM/test."
>  	echo "ODP_PLATFORM=\"$ODP_PLATFORM\""
>  	exit 1
>  fi
> diff --git a/platform/linux-generic/test/pktio/pktio_run_dpdk.sh b/test/platform/linux-generic/pktio/pktio_run_dpdk.sh
> similarity index 70%
> rename from platform/linux-generic/test/pktio/pktio_run_dpdk.sh
> rename to test/platform/linux-generic/pktio/pktio_run_dpdk.sh
> index fd552c6..ef5223e 100755
> --- a/platform/linux-generic/test/pktio/pktio_run_dpdk.sh
> +++ b/test/platform/linux-generic/pktio/pktio_run_dpdk.sh
> @@ -15,15 +15,20 @@
>  # test (legacy mode).
>  #
>  
> -# 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
> +# directory where platform script run-test resides
> +TEST_DIR="${TEST_DIR:-$PWD}"
> +
> +# out-of-tree build searches binaries in build directory
> +PATH=$TEST_DIR/pktio:$TEST_DIR/../../validation/pktio:$PATH
> +
> +# directory where test sources are, including scripts
> +TEST_SRC_DIR=$(dirname $0)
> +
> +# in-tree build searches binaries in source directory
> +PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
> +
> +# run standalone in-tree searches binaries in .
> +# run standaline out-of-tree requires manually setting PATH
>  PATH=.:$PATH
>  
>  pktio_main_path=$(which pktio_main${EXEEXT})
> @@ -33,9 +38,6 @@ else
>  	echo "cannot find pktio_main: please set you PATH for it."
>  fi
>  
> -# directory where platform test sources are, including scripts
> -TEST_SRC_DIR=$(dirname $0)
> -
>  # exit codes expected by automake for skipped tests
>  TEST_SKIPPED=77
>  
> @@ -46,7 +48,8 @@ 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."
> +	echo "pktio_env has to be in current directory" \
> +		"or in platform/\$ODP_PLATFORM/test."
>  	echo "ODP_PLATFORM=\"$ODP_PLATFORM\""
>  	exit 1
>  fi
> @@ -74,7 +77,9 @@ run()
>  
>  	if [ "$ODP_PKTIO_IF0" = "" ]; then
>  		setup_pktio_env clean
> -		export ODP_PKTIO_DPDK_PARAMS="--vdev eth_pcap0,iface=$IF0 --vdev eth_pcap1,iface=$IF1"
> +		IF0_PARAMS="--vdev eth_pcap0,iface=$IF0"
> +		IF1_PARAMS="--vdev eth_pcap1,iface=$IF1"
> +		export ODP_PKTIO_DPDK_PARAMS="$IF0_PARAMS $IF1_PARAMS"
>  		export ODP_PKTIO_IF0=0
>  		export ODP_PKTIO_IF1=1
>  	fi
> diff --git a/platform/linux-generic/test/pktio/pktio_run_netmap.sh b/test/platform/linux-generic/pktio/pktio_run_netmap.sh
> similarity index 79%
> rename from platform/linux-generic/test/pktio/pktio_run_netmap.sh
> rename to test/platform/linux-generic/pktio/pktio_run_netmap.sh
> index b651ea3..11f02ec 100755
> --- a/platform/linux-generic/test/pktio/pktio_run_netmap.sh
> +++ b/test/platform/linux-generic/pktio/pktio_run_netmap.sh
> @@ -9,15 +9,20 @@
>  # any parameter passed as arguments to this script is passed unchanged to
>  # the test itself (pktio_main)
>  
> -# 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
> +# directory where platform script run-test resides
> +TEST_DIR="${TEST_DIR:-$PWD}"
> +
> +# out-of-tree build searches binaries in build directory
> +PATH=$TEST_DIR/pktio:$TEST_DIR/../../validation/pktio:$PATH
> +
> +# directory where test sources are, including scripts
> +TEST_SRC_DIR=$(dirname $0)
> +
> +# in-tree build searches binaries in source directory
> +PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
> +
> +# run standalone in-tree searches binaries in .
> +# run standaline out-of-tree requires manually setting PATH
>  PATH=.:$PATH
>  
>  pktio_main_path=$(which pktio_main${EXEEXT})
> @@ -27,9 +32,6 @@ else
>  	echo "cannot find pktio_main: please set you PATH for it."
>  fi
>  
> -# directory where platform test sources are, including scripts
> -TEST_SRC_DIR=$(dirname $0)
> -
>  # exit codes expected by automake for skipped tests
>  TEST_SKIPPED=77
>  
> diff --git a/platform/linux-generic/test/pktio/pktio_run_pcap.sh b/test/platform/linux-generic/pktio/pktio_run_pcap.sh
> similarity index 54%
> rename from platform/linux-generic/test/pktio/pktio_run_pcap.sh
> rename to test/platform/linux-generic/pktio/pktio_run_pcap.sh
> index 51716fb..6d0e5a9 100755
> --- a/platform/linux-generic/test/pktio/pktio_run_pcap.sh
> +++ b/test/platform/linux-generic/pktio/pktio_run_pcap.sh
> @@ -9,15 +9,20 @@
>  # any parameter passed as arguments to this script is passed unchanged to
>  # the test itself (pktio_main)
>  
> -# 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 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
> +# directory where platform script run-test resides
> +TEST_DIR="${TEST_DIR:-$PWD}"
> +
> +# out-of-tree build searches binaries in build directory
> +PATH=$TEST_DIR/pktio:$TEST_DIR/../../validation/pktio:$PATH
> +
> +# directory where test sources are, including scripts
> +TEST_SRC_DIR=$(dirname $0)
> +
> +# in-tree build searches binaries in source directory
> +PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
> +
> +# run standalone in-tree searches binaries in .
> +# run standaline out-of-tree requires manually setting PATH
>  PATH=.:$PATH
>  
>  pktio_main_path=$(which pktio_main${EXEEXT})
> diff --git a/platform/linux-generic/test/pktio/pktio_run_tap.sh b/test/platform/linux-generic/pktio/pktio_run_tap.sh
> similarity index 80%
> rename from platform/linux-generic/test/pktio/pktio_run_tap.sh
> rename to test/platform/linux-generic/pktio/pktio_run_tap.sh
> index 1150158..b823a15 100755
> --- a/platform/linux-generic/test/pktio/pktio_run_tap.sh
> +++ b/test/platform/linux-generic/pktio/pktio_run_tap.sh
> @@ -10,15 +10,20 @@
>  # any parameter passed as arguments to this script is passed unchanged to
>  # the test itself (pktio_main)
>  
> -# 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 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
> +# directory where platform script run-test resides
> +TEST_DIR="${TEST_DIR:-$PWD}"
> +
> +# out-of-tree build searches binaries in build directory
> +PATH=$TEST_DIR/pktio:$TEST_DIR/../../validation/pktio:$PATH
> +
> +# directory where test sources are, including scripts
> +TEST_SRC_DIR=$(dirname $0)
> +
> +# in-tree build searches binaries in source directory
> +PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
> +
> +# run standalone in-tree searches binaries in .
> +# run standaline out-of-tree requires manually setting PATH
>  PATH=.:$PATH
>  
>  pktio_main_path=$(which pktio_main${EXEEXT})
> diff --git a/platform/linux-generic/test/pktio_ipc/.gitignore b/test/platform/linux-generic/pktio_ipc/.gitignore
> similarity index 100%
> rename from platform/linux-generic/test/pktio_ipc/.gitignore
> rename to test/platform/linux-generic/pktio_ipc/.gitignore
> diff --git a/platform/linux-generic/test/pktio_ipc/Makefile.am b/test/platform/linux-generic/pktio_ipc/Makefile.am
> similarity index 55%
> rename from platform/linux-generic/test/pktio_ipc/Makefile.am
> rename to test/platform/linux-generic/pktio_ipc/Makefile.am
> index 8858bd2..c0dc242 100644
> --- a/platform/linux-generic/test/pktio_ipc/Makefile.am
> +++ b/test/platform/linux-generic/pktio_ipc/Makefile.am
> @@ -1,15 +1,10 @@
> -include $(top_srcdir)/test/Makefile.inc
> -TESTS_ENVIRONMENT += TEST_DIR=${top_builddir}/test/validation
> +include $(top_srcdir)/test/platform/linux-generic/Makefile.inc
>  
> -test_PROGRAMS = pktio_ipc1\
> +test_PROGRAMS = pktio_ipc1 \
>  		pktio_ipc2
>  
>  pktio_ipc1_CFLAGS = $(AM_CFLAGS) -I${top_srcdir}/example
> -pktio_ipc1_LDFLAGS = $(AM_LDFLAGS) -static
>  pktio_ipc2_CFLAGS = $(AM_CFLAGS) -I${top_srcdir}/example
> -pktio_ipc2_LDFLAGS = $(AM_LDFLAGS) -static
> -
> -noinst_HEADERS = $(top_srcdir)/test/test_debug.h
>  
>  dist_pktio_ipc1_SOURCES = pktio_ipc1.c ipc_common.c
>  dist_pktio_ipc2_SOURCES = pktio_ipc2.c ipc_common.c
> diff --git a/platform/linux-generic/test/pktio_ipc/ipc_common.c b/test/platform/linux-generic/pktio_ipc/ipc_common.c
> similarity index 100%
> rename from platform/linux-generic/test/pktio_ipc/ipc_common.c
> rename to test/platform/linux-generic/pktio_ipc/ipc_common.c
> diff --git a/platform/linux-generic/test/pktio_ipc/ipc_common.h b/test/platform/linux-generic/pktio_ipc/ipc_common.h
> similarity index 100%
> rename from platform/linux-generic/test/pktio_ipc/ipc_common.h
> rename to test/platform/linux-generic/pktio_ipc/ipc_common.h
> diff --git a/platform/linux-generic/test/pktio_ipc/pktio_ipc1.c b/test/platform/linux-generic/pktio_ipc/pktio_ipc1.c
> similarity index 100%
> rename from platform/linux-generic/test/pktio_ipc/pktio_ipc1.c
> rename to test/platform/linux-generic/pktio_ipc/pktio_ipc1.c
> diff --git a/platform/linux-generic/test/pktio_ipc/pktio_ipc2.c b/test/platform/linux-generic/pktio_ipc/pktio_ipc2.c
> similarity index 100%
> rename from platform/linux-generic/test/pktio_ipc/pktio_ipc2.c
> rename to test/platform/linux-generic/pktio_ipc/pktio_ipc2.c
> diff --git a/platform/linux-generic/test/pktio_ipc/pktio_ipc_run.sh b/test/platform/linux-generic/pktio_ipc/pktio_ipc_run.sh
> similarity index 70%
> rename from platform/linux-generic/test/pktio_ipc/pktio_ipc_run.sh
> rename to test/platform/linux-generic/pktio_ipc/pktio_ipc_run.sh
> index 1128002..c05bb4f 100755
> --- a/platform/linux-generic/test/pktio_ipc/pktio_ipc_run.sh
> +++ b/test/platform/linux-generic/pktio_ipc/pktio_ipc_run.sh
> @@ -6,15 +6,20 @@
>  # SPDX-License-Identifier:	BSD-3-Clause
>  #
>  
> -# directories where test 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_ipc_run) intree.
> -# -in the current directory.
> -# running stand alone out of tree requires setting PATH
> -PATH=./pktio_ipc:$PATH
> -PATH=$(dirname $0):$PATH
> -PATH=$(dirname $0)/../../../../platform/linux-generic/test/pktio_ipc:$PATH
> +# directory where platform script run-test resides
> +TEST_DIR="${TEST_DIR:-$PWD}"
> +
> +# out-of-tree build searches binaries in build directory
> +PATH=$TEST_DIR/pktio_ipc:$TEST_DIR/../../validation/pktio:$PATH
> +
> +# directory where test sources are, including scripts
> +TEST_SRC_DIR=$(dirname $0)
> +
> +# in-tree build searches binaries in source directory
> +PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
> +
> +# run standalone in-tree searches binaries in .
> +# run standaline out-of-tree requires manually setting PATH
>  PATH=.:$PATH
>  
>  run()
> diff --git a/platform/linux-generic/test/ring/.gitignore b/test/platform/linux-generic/ring/.gitignore
> similarity index 100%
> rename from platform/linux-generic/test/ring/.gitignore
> rename to test/platform/linux-generic/ring/.gitignore
> diff --git a/platform/linux-generic/test/ring/Makefile.am b/test/platform/linux-generic/ring/Makefile.am
> similarity index 85%
> rename from platform/linux-generic/test/ring/Makefile.am
> rename to test/platform/linux-generic/ring/Makefile.am
> index c086584..805d87d 100644
> --- a/platform/linux-generic/test/ring/Makefile.am
> +++ b/test/platform/linux-generic/ring/Makefile.am
> @@ -1,4 +1,4 @@
> -include ../Makefile.inc
> +include $(top_srcdir)/test/platform/linux-generic/Makefile.inc
>  
>  noinst_LTLIBRARIES = libtestring.la
>  libtestring_la_SOURCES = ring_suites.c ring_basic.c ring_stress.c
> @@ -11,4 +11,3 @@ ring_main_LDFLAGS = $(AM_LDFLAGS)
>  ring_main_LDADD = libtestring.la $(LIBCUNIT_COMMON) $(LIBODP)
>  
>  noinst_HEADERS = ring_suites.h
> -
> diff --git a/platform/linux-generic/test/ring/ring_basic.c b/test/platform/linux-generic/ring/ring_basic.c
> similarity index 100%
> rename from platform/linux-generic/test/ring/ring_basic.c
> rename to test/platform/linux-generic/ring/ring_basic.c
> diff --git a/platform/linux-generic/test/ring/ring_main.c b/test/platform/linux-generic/ring/ring_main.c
> similarity index 100%
> rename from platform/linux-generic/test/ring/ring_main.c
> rename to test/platform/linux-generic/ring/ring_main.c
> diff --git a/platform/linux-generic/test/ring/ring_stress.c b/test/platform/linux-generic/ring/ring_stress.c
> similarity index 100%
> rename from platform/linux-generic/test/ring/ring_stress.c
> rename to test/platform/linux-generic/ring/ring_stress.c
> diff --git a/platform/linux-generic/test/ring/ring_suites.c b/test/platform/linux-generic/ring/ring_suites.c
> similarity index 100%
> rename from platform/linux-generic/test/ring/ring_suites.c
> rename to test/platform/linux-generic/ring/ring_suites.c
> diff --git a/platform/linux-generic/test/ring/ring_suites.h b/test/platform/linux-generic/ring/ring_suites.h
> similarity index 100%
> rename from platform/linux-generic/test/ring/ring_suites.h
> rename to test/platform/linux-generic/ring/ring_suites.h
> diff --git a/platform/linux-generic/test/shmem/.gitignore b/test/platform/linux-generic/shmem/.gitignore
> similarity index 100%
> rename from platform/linux-generic/test/shmem/.gitignore
> rename to test/platform/linux-generic/shmem/.gitignore
> diff --git a/platform/linux-generic/test/shmem/Makefile.am b/test/platform/linux-generic/shmem/Makefile.am
> similarity index 90%
> rename from platform/linux-generic/test/shmem/Makefile.am
> rename to test/platform/linux-generic/shmem/Makefile.am
> index 341747f..7f985b8 100644
> --- a/platform/linux-generic/test/shmem/Makefile.am
> +++ b/test/platform/linux-generic/shmem/Makefile.am
> @@ -1,4 +1,4 @@
> -include ../Makefile.inc
> +include $(top_srcdir)/test/platform/linux-generic/Makefile.inc
>  
>  #the main test program is shmem_linux, which, in turn, starts a shmem_odp:
>  test_PROGRAMS = shmem_linux$(EXEEXT)
> diff --git a/platform/linux-generic/test/shmem/shmem.h b/test/platform/linux-generic/shmem/shmem.h
> similarity index 100%
> rename from platform/linux-generic/test/shmem/shmem.h
> rename to test/platform/linux-generic/shmem/shmem.h
> diff --git a/platform/linux-generic/test/shmem/shmem_common.h b/test/platform/linux-generic/shmem/shmem_common.h
> similarity index 100%
> rename from platform/linux-generic/test/shmem/shmem_common.h
> rename to test/platform/linux-generic/shmem/shmem_common.h
> diff --git a/platform/linux-generic/test/shmem/shmem_linux.c b/test/platform/linux-generic/shmem/shmem_linux.c
> similarity index 100%
> rename from platform/linux-generic/test/shmem/shmem_linux.c
> rename to test/platform/linux-generic/shmem/shmem_linux.c
> diff --git a/platform/linux-generic/test/shmem/shmem_linux.h b/test/platform/linux-generic/shmem/shmem_linux.h
> similarity index 100%
> rename from platform/linux-generic/test/shmem/shmem_linux.h
> rename to test/platform/linux-generic/shmem/shmem_linux.h
> diff --git a/platform/linux-generic/test/shmem/shmem_odp.c b/test/platform/linux-generic/shmem/shmem_odp.c
> similarity index 100%
> rename from platform/linux-generic/test/shmem/shmem_odp.c
> rename to test/platform/linux-generic/shmem/shmem_odp.c
> diff --git a/platform/linux-generic/test/shmem/shmem_odp.h b/test/platform/linux-generic/shmem/shmem_odp.h
> similarity index 100%
> rename from platform/linux-generic/test/shmem/shmem_odp.h
> rename to test/platform/linux-generic/shmem/shmem_odp.h
> diff --git a/platform/linux-generic/test/run-test b/test/run-test
> similarity index 100%
> rename from platform/linux-generic/test/run-test
> rename to test/run-test
> diff --git a/test/validation/.gitignore b/test/validation/.gitignore
> index 7e563b8..5dabf91 100644
> --- a/test/validation/.gitignore
> +++ b/test/validation/.gitignore
> @@ -1,2 +1,3 @@
>  *.log
>  *.trs
> +tests-validation.env
> diff --git a/test/validation/Makefile.am b/test/validation/Makefile.am
> index 90cc549..58a0757 100644
> --- a/test/validation/Makefile.am
> +++ b/test/validation/Makefile.am
> @@ -1,3 +1,7 @@
> +include $(top_srcdir)/test/validation/Makefile.inc
> +
> +TESTS_ENVIRONMENT += TEST_DIR=${builddir}
> +
>  ODP_MODULES = atomic \
>  	      barrier \
>  	      buffer \
> @@ -22,7 +26,44 @@ ODP_MODULES = atomic \
>  	      shmem \
>  	      system
>  
> -SUBDIRS = common $(ODP_MODULES)
> -
>  #The tests will need to retain the deprecated test implementation
>  AM_CFLAGS += -Wno-deprecated-declarations
> +
> +if test_vald
> +SUBDIRS = common $(ODP_MODULES)
> +
> +TESTS = atomic/atomic_main$(EXEEXT) \
> +	barrier/barrier_main$(EXEEXT) \
> +	buffer/buffer_main$(EXEEXT) \
> +	classification/classification_main$(EXEEXT) \
> +	cpumask/cpumask_main$(EXEEXT) \
> +	crypto/crypto_main$(EXEEXT) \
> +	errno/errno_main$(EXEEXT) \
> +	hash/hash_main$(EXEEXT) \
> +	init/init_main_ok$(EXEEXT) \
> +	init/init_main_abort$(EXEEXT) \
> +	init/init_main_log$(EXEEXT) \
> +	lock/lock_main$(EXEEXT) \
> +	packet/packet_main$(EXEEXT) \
> +	pool/pool_main$(EXEEXT) \
> +	queue/queue_main$(EXEEXT) \
> +	random/random_main$(EXEEXT) \
> +	scheduler/scheduler_main$(EXEEXT) \
> +	std_clib/std_clib_main$(EXEEXT) \
> +	thread/thread_main$(EXEEXT) \
> +	time/time_main$(EXEEXT) \
> +	timer/timer_main$(EXEEXT) \
> +	traffic_mngr/traffic_mngr_main$(EXEEXT) \
> +	shmem/shmem_main$(EXEEXT) \
> +	system/system_main$(EXEEXT)
> +
> +dist_check_SCRIPTS = tests-validation.env $(LOG_COMPILER)
> +
> +test_SCRIPTS = $(dist_check_SCRIPTS)
> +
> +tests-validation.env:
> +	echo "TESTS=\"$(TESTS)\""    > $@
> +	echo "$(TESTS_ENVIRONMENT)" >> $@
> +	echo "$(LOG_COMPILER)"      >> $@
> +
> +endif
> -- 
> 2.7.4
>
diff mbox

Patch

diff --git a/Makefile.am b/Makefile.am
index 2129472..625748a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -9,7 +9,6 @@  AM_DISTCHECK_CONFIGURE_FLAGS = --enable-test-cpp \
 SUBDIRS = @platform_with_platform@ \
 	  helper \
 	  test \
-	  @platform_with_platform_test@ \
 	  helper/test \
 	  doc \
 	  example \
diff --git a/configure.ac b/configure.ac
index c87755b..f3952db 100644
--- a/configure.ac
+++ b/configure.ac
@@ -107,7 +107,6 @@  AC_ARG_WITH([platform],
 
 AC_SUBST([with_platform])
 AC_SUBST([platform_with_platform], ["platform/${with_platform}"])
-AC_SUBST([platform_with_platform_test], ["platform/${with_platform}/test"])
 
 ##########################################################################
 # Run platform specific checks and settings
@@ -116,6 +115,7 @@  IMPLEMENTATION_NAME=""
 if test "${with_platform}" == "linux-generic";
 then
     m4_include([./platform/linux-generic/m4/configure.m4])
+    m4_include([./test/platform/linux-generic/m4/configure.m4])
     IMPLEMENTATION_NAME="odp-linux"
 else
     echo "UNSUPPORTED PLATFORM: ${with_platform}"
diff --git a/platform/linux-generic/m4/configure.m4 b/platform/linux-generic/m4/configure.m4
index 5380046..1b1b883 100644
--- a/platform/linux-generic/m4/configure.m4
+++ b/platform/linux-generic/m4/configure.m4
@@ -36,9 +36,4 @@  m4_include([platform/linux-generic/m4/odp_dpdk.m4])
 m4_include([platform/linux-generic/m4/odp_ipc.m4])
 m4_include([platform/linux-generic/m4/odp_schedule.m4])
 
-AC_CONFIG_FILES([platform/linux-generic/Makefile
-		 platform/linux-generic/test/Makefile
-		 platform/linux-generic/test/shmem/Makefile
-		 platform/linux-generic/test/pktio/Makefile
-		 platform/linux-generic/test/pktio_ipc/Makefile
-		 platform/linux-generic/test/ring/Makefile])
+AC_CONFIG_FILES([platform/linux-generic/Makefile])
diff --git a/test/Makefile.am b/test/Makefile.am
index 4a75364..0b0987a 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,5 +1,16 @@ 
 SUBDIRS = performance miscellaneous
 
 if cunit_support
-    SUBDIRS += validation
+    SUBDIRS += validation @platform_with_platform@
 endif
+
+dist_check_SCRIPTS = run-test $(LOG_COMPILER)
+
+test_SCRIPTS = $(dist_check_SCRIPTS)
+
+if test_installdir
+installcheck-local:
+	$(DESTDIR)/$(testdir)/run-test
+endif
+
+noinst_HEADERS = $(top_srcdir)/test/test_debug.h
diff --git a/test/performance/Makefile.am b/test/performance/Makefile.am
index d23bb3e..04e8027 100644
--- a/test/performance/Makefile.am
+++ b/test/performance/Makefile.am
@@ -23,9 +23,6 @@  odp_crypto_CFLAGS = $(AM_CFLAGS) -I${top_srcdir}/test
 odp_scheduling_LDFLAGS = $(AM_LDFLAGS) -static
 odp_scheduling_CFLAGS = $(AM_CFLAGS) -I${top_srcdir}/test
 
-noinst_HEADERS = \
-		  $(top_srcdir)/test/test_debug.h
-
 dist_odp_crypto_SOURCES = odp_crypto.c
 dist_odp_scheduling_SOURCES = odp_scheduling.c
 dist_odp_pktio_perf_SOURCES = odp_pktio_perf.c
diff --git a/test/performance/odp_l2fwd_run.sh b/test/performance/odp_l2fwd_run.sh
index cab97a8..fc3d05d 100755
--- a/test/performance/odp_l2fwd_run.sh
+++ b/test/performance/odp_l2fwd_run.sh
@@ -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/pktio_env ]; then
-	. ${TEST_SRC_DIR}/../../platform/$ODP_PLATFORM/test/pktio/pktio_env
+elif [ -f ${TEST_SRC_DIR}/../platform/$ODP_PLATFORM/pktio/pktio_env ]; then
+	. ${TEST_SRC_DIR}/../platform/$ODP_PLATFORM/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/platform/linux-generic/test/.gitignore b/test/platform/linux-generic/.gitignore
similarity index 33%
rename from platform/linux-generic/test/.gitignore
rename to test/platform/linux-generic/.gitignore
index 5dabf91..1a6e931 100644
--- a/platform/linux-generic/test/.gitignore
+++ b/test/platform/linux-generic/.gitignore
@@ -1,3 +1,3 @@ 
 *.log
 *.trs
-tests-validation.env
+tests-linux-generic.env
diff --git a/platform/linux-generic/test/Makefile.am b/test/platform/linux-generic/Makefile.am
similarity index 24%
rename from platform/linux-generic/test/Makefile.am
rename to test/platform/linux-generic/Makefile.am
index 2d58c57..d97714f 100644
--- a/platform/linux-generic/test/Makefile.am
+++ b/test/platform/linux-generic/Makefile.am
@@ -1,41 +1,16 @@ 
-include $(top_srcdir)/test/Makefile.inc
-TESTS_ENVIRONMENT += TEST_DIR=${top_builddir}/test/validation
+include $(top_srcdir)/test/platform/linux-generic/Makefile.inc
 
-ODP_MODULES = pktio \
-	      ring \
-	      shmem
+TESTS_ENVIRONMENT += TEST_DIR=${builddir}
+
+ODP_MODULES = pktio ring shmem
 
 if test_vald
+SUBDIRS = $(ODP_MODULES)
+
 TESTS = pktio/pktio_run.sh \
 	pktio/pktio_run_tap.sh \
 	ring/ring_main$(EXEEXT) \
-	shmem/shmem_linux \
-	${top_builddir}/test/validation/atomic/atomic_main$(EXEEXT) \
-	${top_builddir}/test/validation/barrier/barrier_main$(EXEEXT) \
-	${top_builddir}/test/validation/buffer/buffer_main$(EXEEXT) \
-	${top_builddir}/test/validation/classification/classification_main$(EXEEXT) \
-	${top_builddir}/test/validation/cpumask/cpumask_main$(EXEEXT) \
-	${top_builddir}/test/validation/crypto/crypto_main$(EXEEXT) \
-	${top_builddir}/test/validation/errno/errno_main$(EXEEXT) \
-	${top_builddir}/test/validation/hash/hash_main$(EXEEXT) \
-	${top_builddir}/test/validation/init/init_main_ok$(EXEEXT) \
-	${top_builddir}/test/validation/init/init_main_abort$(EXEEXT) \
-	${top_builddir}/test/validation/init/init_main_log$(EXEEXT) \
-	${top_builddir}/test/validation/lock/lock_main$(EXEEXT) \
-	${top_builddir}/test/validation/packet/packet_main$(EXEEXT) \
-	${top_builddir}/test/validation/pool/pool_main$(EXEEXT) \
-	${top_builddir}/test/validation/queue/queue_main$(EXEEXT) \
-	${top_builddir}/test/validation/random/random_main$(EXEEXT) \
-	${top_builddir}/test/validation/scheduler/scheduler_main$(EXEEXT) \
-	${top_builddir}/test/validation/std_clib/std_clib_main$(EXEEXT) \
-	${top_builddir}/test/validation/thread/thread_main$(EXEEXT) \
-	${top_builddir}/test/validation/time/time_main$(EXEEXT) \
-	${top_builddir}/test/validation/timer/timer_main$(EXEEXT) \
-	${top_builddir}/test/validation/traffic_mngr/traffic_mngr_main$(EXEEXT) \
-	${top_builddir}/test/validation/shmem/shmem_main$(EXEEXT) \
-	${top_builddir}/test/validation/system/system_main$(EXEEXT)
-
-SUBDIRS = $(ODP_MODULES)
+	shmem/shmem_linux
 
 if HAVE_PCAP
 TESTS += pktio/pktio_run_pcap.sh
@@ -54,20 +29,15 @@  endif
 
 TEST_EXTENSIONS = .sh
 
-dist_check_SCRIPTS = run-test tests-validation.env $(LOG_COMPILER)
+dist_check_SCRIPTS = tests-linux-generic.env $(LOG_COMPILER)
 
 test_SCRIPTS = $(dist_check_SCRIPTS)
 
-tests-validation.env:
+tests-linux-generic.env:
 	echo "TESTS=\"$(TESTS)\""    > $@
 	echo "$(TESTS_ENVIRONMENT)" >> $@
 	echo "$(LOG_COMPILER)"      >> $@
 
-if test_installdir
-installcheck-local:
-	$(DESTDIR)/$(testdir)/run-test
-endif
-
 #performance tests refer to pktio_env
 if test_perf
 SUBDIRS = pktio
diff --git a/platform/linux-generic/test/Makefile.inc b/test/platform/linux-generic/Makefile.inc
similarity index 13%
rename from platform/linux-generic/test/Makefile.inc
rename to test/platform/linux-generic/Makefile.inc
index 80b66ae..9f36f9d 100644
--- a/platform/linux-generic/test/Makefile.inc
+++ b/test/platform/linux-generic/Makefile.inc
@@ -1,16 +1,16 @@ 
-# The following definitions may be used by platform tests that wish to
-# build specific ODP applications, (i.e those whose do more than validation
-# test wrapping)
+include $(top_srcdir)/test/Makefile.inc
 
+COMMON_DIR = $(top_builddir)/test/validation/common
+
+#the following option ensure that option '-I.' is not passed to gcc,
+#therefore distinguishing between '#include "X"' and '#include <X>'.
+#It allows common filenames (such as 'errno.h') to be used locally.
+AUTOMAKE_OPTIONS = nostdinc
+
+AM_CFLAGS += -I$(top_srcdir)/test/validation/common
 AM_LDFLAGS += -static
 
-LIBCUNIT_COMMON = $(top_builddir)/test/validation/common/libcunit_common.la
-LIB   = $(top_builddir)/lib
+LIBCUNIT_COMMON = $(COMMON_DIR)/libcunit_common.la
+LIBCPUMASK_COMMON = $(COMMON_DIR)/libcpumask_common.la
+LIBTHRMASK_COMMON = $(COMMON_DIR)/libthrmask_common.la
 LIBODP = $(LIB)/libodphelper-linux.la $(LIB)/libodp-linux.la
-
-INCCUNIT_COMMON = -I$(top_srcdir)/test/validation/common
-INCODP = -I$(top_srcdir)/test \
-	 -I$(top_srcdir)/platform/@with_platform@/include \
-	 -I$(top_srcdir)/platform/@with_platform@/arch/$(ARCH_DIR) \
-	 -I$(top_srcdir)/include \
-	 -I$(top_srcdir)/helper/include
diff --git a/test/platform/linux-generic/m4/configure.m4 b/test/platform/linux-generic/m4/configure.m4
new file mode 100644
index 0000000..8c3db21
--- /dev/null
+++ b/test/platform/linux-generic/m4/configure.m4
@@ -0,0 +1,5 @@ 
+AC_CONFIG_FILES([test/platform/linux-generic/Makefile
+		 test/platform/linux-generic/shmem/Makefile
+		 test/platform/linux-generic/pktio/Makefile
+		 test/platform/linux-generic/pktio_ipc/Makefile
+		 test/platform/linux-generic/ring/Makefile])
diff --git a/platform/linux-generic/test/pktio/.gitignore b/test/platform/linux-generic/pktio/.gitignore
similarity index 100%
rename from platform/linux-generic/test/pktio/.gitignore
rename to test/platform/linux-generic/pktio/.gitignore
diff --git a/platform/linux-generic/test/pktio/Makefile.am b/test/platform/linux-generic/pktio/Makefile.am
similarity index 82%
rename from platform/linux-generic/test/pktio/Makefile.am
rename to test/platform/linux-generic/pktio/Makefile.am
index 4a14343..209405d 100644
--- a/platform/linux-generic/test/pktio/Makefile.am
+++ b/test/platform/linux-generic/pktio/Makefile.am
@@ -1,3 +1,5 @@ 
+include $(top_srcdir)/test/platform/linux-generic/Makefile.inc
+
 dist_check_SCRIPTS = pktio_env \
 		     pktio_run.sh \
 		     pktio_run_tap.sh
diff --git a/platform/linux-generic/test/pktio/pktio_env b/test/platform/linux-generic/pktio/pktio_env
similarity index 100%
rename from platform/linux-generic/test/pktio/pktio_env
rename to test/platform/linux-generic/pktio/pktio_env
diff --git a/platform/linux-generic/test/pktio/pktio_run.sh b/test/platform/linux-generic/pktio/pktio_run.sh
similarity index 80%
rename from platform/linux-generic/test/pktio/pktio_run.sh
rename to test/platform/linux-generic/pktio/pktio_run.sh
index 1dc1f44..4840bb0 100755
--- a/platform/linux-generic/test/pktio/pktio_run.sh
+++ b/test/platform/linux-generic/pktio/pktio_run.sh
@@ -15,15 +15,20 @@ 
 # test (legacy mode).
 #
 
-# 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
+# directory where platform script run-test resides
+TEST_DIR="${TEST_DIR:-$PWD}"
+
+# out-of-tree build searches binaries in build directory
+PATH=$TEST_DIR/pktio:$TEST_DIR/../../validation/pktio:$PATH
+
+# directory where test sources are, including scripts
+TEST_SRC_DIR=$(dirname $0)
+
+# in-tree build searches binaries in source directory
+PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
+
+# run standalone in-tree searches binaries in .
+# run standaline out-of-tree requires manually setting PATH
 PATH=.:$PATH
 
 pktio_main_path=$(which pktio_main${EXEEXT})
@@ -33,9 +38,6 @@  else
 	echo "cannot find pktio_main: please set you PATH for it."
 fi
 
-# directory where platform test sources are, including scripts
-TEST_SRC_DIR=$(dirname $0)
-
 # exit codes expected by automake for skipped tests
 TEST_SKIPPED=77
 
@@ -46,7 +48,8 @@  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."
+	echo "pktio_env has to be in current directory" \
+		"or in platform/\$ODP_PLATFORM/test."
 	echo "ODP_PLATFORM=\"$ODP_PLATFORM\""
 	exit 1
 fi
diff --git a/platform/linux-generic/test/pktio/pktio_run_dpdk.sh b/test/platform/linux-generic/pktio/pktio_run_dpdk.sh
similarity index 70%
rename from platform/linux-generic/test/pktio/pktio_run_dpdk.sh
rename to test/platform/linux-generic/pktio/pktio_run_dpdk.sh
index fd552c6..ef5223e 100755
--- a/platform/linux-generic/test/pktio/pktio_run_dpdk.sh
+++ b/test/platform/linux-generic/pktio/pktio_run_dpdk.sh
@@ -15,15 +15,20 @@ 
 # test (legacy mode).
 #
 
-# 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
+# directory where platform script run-test resides
+TEST_DIR="${TEST_DIR:-$PWD}"
+
+# out-of-tree build searches binaries in build directory
+PATH=$TEST_DIR/pktio:$TEST_DIR/../../validation/pktio:$PATH
+
+# directory where test sources are, including scripts
+TEST_SRC_DIR=$(dirname $0)
+
+# in-tree build searches binaries in source directory
+PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
+
+# run standalone in-tree searches binaries in .
+# run standaline out-of-tree requires manually setting PATH
 PATH=.:$PATH
 
 pktio_main_path=$(which pktio_main${EXEEXT})
@@ -33,9 +38,6 @@  else
 	echo "cannot find pktio_main: please set you PATH for it."
 fi
 
-# directory where platform test sources are, including scripts
-TEST_SRC_DIR=$(dirname $0)
-
 # exit codes expected by automake for skipped tests
 TEST_SKIPPED=77
 
@@ -46,7 +48,8 @@  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."
+	echo "pktio_env has to be in current directory" \
+		"or in platform/\$ODP_PLATFORM/test."
 	echo "ODP_PLATFORM=\"$ODP_PLATFORM\""
 	exit 1
 fi
@@ -74,7 +77,9 @@  run()
 
 	if [ "$ODP_PKTIO_IF0" = "" ]; then
 		setup_pktio_env clean
-		export ODP_PKTIO_DPDK_PARAMS="--vdev eth_pcap0,iface=$IF0 --vdev eth_pcap1,iface=$IF1"
+		IF0_PARAMS="--vdev eth_pcap0,iface=$IF0"
+		IF1_PARAMS="--vdev eth_pcap1,iface=$IF1"
+		export ODP_PKTIO_DPDK_PARAMS="$IF0_PARAMS $IF1_PARAMS"
 		export ODP_PKTIO_IF0=0
 		export ODP_PKTIO_IF1=1
 	fi
diff --git a/platform/linux-generic/test/pktio/pktio_run_netmap.sh b/test/platform/linux-generic/pktio/pktio_run_netmap.sh
similarity index 79%
rename from platform/linux-generic/test/pktio/pktio_run_netmap.sh
rename to test/platform/linux-generic/pktio/pktio_run_netmap.sh
index b651ea3..11f02ec 100755
--- a/platform/linux-generic/test/pktio/pktio_run_netmap.sh
+++ b/test/platform/linux-generic/pktio/pktio_run_netmap.sh
@@ -9,15 +9,20 @@ 
 # any parameter passed as arguments to this script is passed unchanged to
 # the test itself (pktio_main)
 
-# 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
+# directory where platform script run-test resides
+TEST_DIR="${TEST_DIR:-$PWD}"
+
+# out-of-tree build searches binaries in build directory
+PATH=$TEST_DIR/pktio:$TEST_DIR/../../validation/pktio:$PATH
+
+# directory where test sources are, including scripts
+TEST_SRC_DIR=$(dirname $0)
+
+# in-tree build searches binaries in source directory
+PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
+
+# run standalone in-tree searches binaries in .
+# run standaline out-of-tree requires manually setting PATH
 PATH=.:$PATH
 
 pktio_main_path=$(which pktio_main${EXEEXT})
@@ -27,9 +32,6 @@  else
 	echo "cannot find pktio_main: please set you PATH for it."
 fi
 
-# directory where platform test sources are, including scripts
-TEST_SRC_DIR=$(dirname $0)
-
 # exit codes expected by automake for skipped tests
 TEST_SKIPPED=77
 
diff --git a/platform/linux-generic/test/pktio/pktio_run_pcap.sh b/test/platform/linux-generic/pktio/pktio_run_pcap.sh
similarity index 54%
rename from platform/linux-generic/test/pktio/pktio_run_pcap.sh
rename to test/platform/linux-generic/pktio/pktio_run_pcap.sh
index 51716fb..6d0e5a9 100755
--- a/platform/linux-generic/test/pktio/pktio_run_pcap.sh
+++ b/test/platform/linux-generic/pktio/pktio_run_pcap.sh
@@ -9,15 +9,20 @@ 
 # any parameter passed as arguments to this script is passed unchanged to
 # the test itself (pktio_main)
 
-# 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 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
+# directory where platform script run-test resides
+TEST_DIR="${TEST_DIR:-$PWD}"
+
+# out-of-tree build searches binaries in build directory
+PATH=$TEST_DIR/pktio:$TEST_DIR/../../validation/pktio:$PATH
+
+# directory where test sources are, including scripts
+TEST_SRC_DIR=$(dirname $0)
+
+# in-tree build searches binaries in source directory
+PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
+
+# run standalone in-tree searches binaries in .
+# run standaline out-of-tree requires manually setting PATH
 PATH=.:$PATH
 
 pktio_main_path=$(which pktio_main${EXEEXT})
diff --git a/platform/linux-generic/test/pktio/pktio_run_tap.sh b/test/platform/linux-generic/pktio/pktio_run_tap.sh
similarity index 80%
rename from platform/linux-generic/test/pktio/pktio_run_tap.sh
rename to test/platform/linux-generic/pktio/pktio_run_tap.sh
index 1150158..b823a15 100755
--- a/platform/linux-generic/test/pktio/pktio_run_tap.sh
+++ b/test/platform/linux-generic/pktio/pktio_run_tap.sh
@@ -10,15 +10,20 @@ 
 # any parameter passed as arguments to this script is passed unchanged to
 # the test itself (pktio_main)
 
-# 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 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
+# directory where platform script run-test resides
+TEST_DIR="${TEST_DIR:-$PWD}"
+
+# out-of-tree build searches binaries in build directory
+PATH=$TEST_DIR/pktio:$TEST_DIR/../../validation/pktio:$PATH
+
+# directory where test sources are, including scripts
+TEST_SRC_DIR=$(dirname $0)
+
+# in-tree build searches binaries in source directory
+PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
+
+# run standalone in-tree searches binaries in .
+# run standaline out-of-tree requires manually setting PATH
 PATH=.:$PATH
 
 pktio_main_path=$(which pktio_main${EXEEXT})
diff --git a/platform/linux-generic/test/pktio_ipc/.gitignore b/test/platform/linux-generic/pktio_ipc/.gitignore
similarity index 100%
rename from platform/linux-generic/test/pktio_ipc/.gitignore
rename to test/platform/linux-generic/pktio_ipc/.gitignore
diff --git a/platform/linux-generic/test/pktio_ipc/Makefile.am b/test/platform/linux-generic/pktio_ipc/Makefile.am
similarity index 55%
rename from platform/linux-generic/test/pktio_ipc/Makefile.am
rename to test/platform/linux-generic/pktio_ipc/Makefile.am
index 8858bd2..c0dc242 100644
--- a/platform/linux-generic/test/pktio_ipc/Makefile.am
+++ b/test/platform/linux-generic/pktio_ipc/Makefile.am
@@ -1,15 +1,10 @@ 
-include $(top_srcdir)/test/Makefile.inc
-TESTS_ENVIRONMENT += TEST_DIR=${top_builddir}/test/validation
+include $(top_srcdir)/test/platform/linux-generic/Makefile.inc
 
-test_PROGRAMS = pktio_ipc1\
+test_PROGRAMS = pktio_ipc1 \
 		pktio_ipc2
 
 pktio_ipc1_CFLAGS = $(AM_CFLAGS) -I${top_srcdir}/example
-pktio_ipc1_LDFLAGS = $(AM_LDFLAGS) -static
 pktio_ipc2_CFLAGS = $(AM_CFLAGS) -I${top_srcdir}/example
-pktio_ipc2_LDFLAGS = $(AM_LDFLAGS) -static
-
-noinst_HEADERS = $(top_srcdir)/test/test_debug.h
 
 dist_pktio_ipc1_SOURCES = pktio_ipc1.c ipc_common.c
 dist_pktio_ipc2_SOURCES = pktio_ipc2.c ipc_common.c
diff --git a/platform/linux-generic/test/pktio_ipc/ipc_common.c b/test/platform/linux-generic/pktio_ipc/ipc_common.c
similarity index 100%
rename from platform/linux-generic/test/pktio_ipc/ipc_common.c
rename to test/platform/linux-generic/pktio_ipc/ipc_common.c
diff --git a/platform/linux-generic/test/pktio_ipc/ipc_common.h b/test/platform/linux-generic/pktio_ipc/ipc_common.h
similarity index 100%
rename from platform/linux-generic/test/pktio_ipc/ipc_common.h
rename to test/platform/linux-generic/pktio_ipc/ipc_common.h
diff --git a/platform/linux-generic/test/pktio_ipc/pktio_ipc1.c b/test/platform/linux-generic/pktio_ipc/pktio_ipc1.c
similarity index 100%
rename from platform/linux-generic/test/pktio_ipc/pktio_ipc1.c
rename to test/platform/linux-generic/pktio_ipc/pktio_ipc1.c
diff --git a/platform/linux-generic/test/pktio_ipc/pktio_ipc2.c b/test/platform/linux-generic/pktio_ipc/pktio_ipc2.c
similarity index 100%
rename from platform/linux-generic/test/pktio_ipc/pktio_ipc2.c
rename to test/platform/linux-generic/pktio_ipc/pktio_ipc2.c
diff --git a/platform/linux-generic/test/pktio_ipc/pktio_ipc_run.sh b/test/platform/linux-generic/pktio_ipc/pktio_ipc_run.sh
similarity index 70%
rename from platform/linux-generic/test/pktio_ipc/pktio_ipc_run.sh
rename to test/platform/linux-generic/pktio_ipc/pktio_ipc_run.sh
index 1128002..c05bb4f 100755
--- a/platform/linux-generic/test/pktio_ipc/pktio_ipc_run.sh
+++ b/test/platform/linux-generic/pktio_ipc/pktio_ipc_run.sh
@@ -6,15 +6,20 @@ 
 # SPDX-License-Identifier:	BSD-3-Clause
 #
 
-# directories where test 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_ipc_run) intree.
-# -in the current directory.
-# running stand alone out of tree requires setting PATH
-PATH=./pktio_ipc:$PATH
-PATH=$(dirname $0):$PATH
-PATH=$(dirname $0)/../../../../platform/linux-generic/test/pktio_ipc:$PATH
+# directory where platform script run-test resides
+TEST_DIR="${TEST_DIR:-$PWD}"
+
+# out-of-tree build searches binaries in build directory
+PATH=$TEST_DIR/pktio_ipc:$TEST_DIR/../../validation/pktio:$PATH
+
+# directory where test sources are, including scripts
+TEST_SRC_DIR=$(dirname $0)
+
+# in-tree build searches binaries in source directory
+PATH=$TEST_SRC_DIR:$TEST_SRC_DIR/../../../validation/pktio:$PATH
+
+# run standalone in-tree searches binaries in .
+# run standaline out-of-tree requires manually setting PATH
 PATH=.:$PATH
 
 run()
diff --git a/platform/linux-generic/test/ring/.gitignore b/test/platform/linux-generic/ring/.gitignore
similarity index 100%
rename from platform/linux-generic/test/ring/.gitignore
rename to test/platform/linux-generic/ring/.gitignore
diff --git a/platform/linux-generic/test/ring/Makefile.am b/test/platform/linux-generic/ring/Makefile.am
similarity index 85%
rename from platform/linux-generic/test/ring/Makefile.am
rename to test/platform/linux-generic/ring/Makefile.am
index c086584..805d87d 100644
--- a/platform/linux-generic/test/ring/Makefile.am
+++ b/test/platform/linux-generic/ring/Makefile.am
@@ -1,4 +1,4 @@ 
-include ../Makefile.inc
+include $(top_srcdir)/test/platform/linux-generic/Makefile.inc
 
 noinst_LTLIBRARIES = libtestring.la
 libtestring_la_SOURCES = ring_suites.c ring_basic.c ring_stress.c
@@ -11,4 +11,3 @@  ring_main_LDFLAGS = $(AM_LDFLAGS)
 ring_main_LDADD = libtestring.la $(LIBCUNIT_COMMON) $(LIBODP)
 
 noinst_HEADERS = ring_suites.h
-
diff --git a/platform/linux-generic/test/ring/ring_basic.c b/test/platform/linux-generic/ring/ring_basic.c
similarity index 100%
rename from platform/linux-generic/test/ring/ring_basic.c
rename to test/platform/linux-generic/ring/ring_basic.c
diff --git a/platform/linux-generic/test/ring/ring_main.c b/test/platform/linux-generic/ring/ring_main.c
similarity index 100%
rename from platform/linux-generic/test/ring/ring_main.c
rename to test/platform/linux-generic/ring/ring_main.c
diff --git a/platform/linux-generic/test/ring/ring_stress.c b/test/platform/linux-generic/ring/ring_stress.c
similarity index 100%
rename from platform/linux-generic/test/ring/ring_stress.c
rename to test/platform/linux-generic/ring/ring_stress.c
diff --git a/platform/linux-generic/test/ring/ring_suites.c b/test/platform/linux-generic/ring/ring_suites.c
similarity index 100%
rename from platform/linux-generic/test/ring/ring_suites.c
rename to test/platform/linux-generic/ring/ring_suites.c
diff --git a/platform/linux-generic/test/ring/ring_suites.h b/test/platform/linux-generic/ring/ring_suites.h
similarity index 100%
rename from platform/linux-generic/test/ring/ring_suites.h
rename to test/platform/linux-generic/ring/ring_suites.h
diff --git a/platform/linux-generic/test/shmem/.gitignore b/test/platform/linux-generic/shmem/.gitignore
similarity index 100%
rename from platform/linux-generic/test/shmem/.gitignore
rename to test/platform/linux-generic/shmem/.gitignore
diff --git a/platform/linux-generic/test/shmem/Makefile.am b/test/platform/linux-generic/shmem/Makefile.am
similarity index 90%
rename from platform/linux-generic/test/shmem/Makefile.am
rename to test/platform/linux-generic/shmem/Makefile.am
index 341747f..7f985b8 100644
--- a/platform/linux-generic/test/shmem/Makefile.am
+++ b/test/platform/linux-generic/shmem/Makefile.am
@@ -1,4 +1,4 @@ 
-include ../Makefile.inc
+include $(top_srcdir)/test/platform/linux-generic/Makefile.inc
 
 #the main test program is shmem_linux, which, in turn, starts a shmem_odp:
 test_PROGRAMS = shmem_linux$(EXEEXT)
diff --git a/platform/linux-generic/test/shmem/shmem.h b/test/platform/linux-generic/shmem/shmem.h
similarity index 100%
rename from platform/linux-generic/test/shmem/shmem.h
rename to test/platform/linux-generic/shmem/shmem.h
diff --git a/platform/linux-generic/test/shmem/shmem_common.h b/test/platform/linux-generic/shmem/shmem_common.h
similarity index 100%
rename from platform/linux-generic/test/shmem/shmem_common.h
rename to test/platform/linux-generic/shmem/shmem_common.h
diff --git a/platform/linux-generic/test/shmem/shmem_linux.c b/test/platform/linux-generic/shmem/shmem_linux.c
similarity index 100%
rename from platform/linux-generic/test/shmem/shmem_linux.c
rename to test/platform/linux-generic/shmem/shmem_linux.c
diff --git a/platform/linux-generic/test/shmem/shmem_linux.h b/test/platform/linux-generic/shmem/shmem_linux.h
similarity index 100%
rename from platform/linux-generic/test/shmem/shmem_linux.h
rename to test/platform/linux-generic/shmem/shmem_linux.h
diff --git a/platform/linux-generic/test/shmem/shmem_odp.c b/test/platform/linux-generic/shmem/shmem_odp.c
similarity index 100%
rename from platform/linux-generic/test/shmem/shmem_odp.c
rename to test/platform/linux-generic/shmem/shmem_odp.c
diff --git a/platform/linux-generic/test/shmem/shmem_odp.h b/test/platform/linux-generic/shmem/shmem_odp.h
similarity index 100%
rename from platform/linux-generic/test/shmem/shmem_odp.h
rename to test/platform/linux-generic/shmem/shmem_odp.h
diff --git a/platform/linux-generic/test/run-test b/test/run-test
similarity index 100%
rename from platform/linux-generic/test/run-test
rename to test/run-test
diff --git a/test/validation/.gitignore b/test/validation/.gitignore
index 7e563b8..5dabf91 100644
--- a/test/validation/.gitignore
+++ b/test/validation/.gitignore
@@ -1,2 +1,3 @@ 
 *.log
 *.trs
+tests-validation.env
diff --git a/test/validation/Makefile.am b/test/validation/Makefile.am
index 90cc549..58a0757 100644
--- a/test/validation/Makefile.am
+++ b/test/validation/Makefile.am
@@ -1,3 +1,7 @@ 
+include $(top_srcdir)/test/validation/Makefile.inc
+
+TESTS_ENVIRONMENT += TEST_DIR=${builddir}
+
 ODP_MODULES = atomic \
 	      barrier \
 	      buffer \
@@ -22,7 +26,44 @@  ODP_MODULES = atomic \
 	      shmem \
 	      system
 
-SUBDIRS = common $(ODP_MODULES)
-
 #The tests will need to retain the deprecated test implementation
 AM_CFLAGS += -Wno-deprecated-declarations
+
+if test_vald
+SUBDIRS = common $(ODP_MODULES)
+
+TESTS = atomic/atomic_main$(EXEEXT) \
+	barrier/barrier_main$(EXEEXT) \
+	buffer/buffer_main$(EXEEXT) \
+	classification/classification_main$(EXEEXT) \
+	cpumask/cpumask_main$(EXEEXT) \
+	crypto/crypto_main$(EXEEXT) \
+	errno/errno_main$(EXEEXT) \
+	hash/hash_main$(EXEEXT) \
+	init/init_main_ok$(EXEEXT) \
+	init/init_main_abort$(EXEEXT) \
+	init/init_main_log$(EXEEXT) \
+	lock/lock_main$(EXEEXT) \
+	packet/packet_main$(EXEEXT) \
+	pool/pool_main$(EXEEXT) \
+	queue/queue_main$(EXEEXT) \
+	random/random_main$(EXEEXT) \
+	scheduler/scheduler_main$(EXEEXT) \
+	std_clib/std_clib_main$(EXEEXT) \
+	thread/thread_main$(EXEEXT) \
+	time/time_main$(EXEEXT) \
+	timer/timer_main$(EXEEXT) \
+	traffic_mngr/traffic_mngr_main$(EXEEXT) \
+	shmem/shmem_main$(EXEEXT) \
+	system/system_main$(EXEEXT)
+
+dist_check_SCRIPTS = tests-validation.env $(LOG_COMPILER)
+
+test_SCRIPTS = $(dist_check_SCRIPTS)
+
+tests-validation.env:
+	echo "TESTS=\"$(TESTS)\""    > $@
+	echo "$(TESTS_ENVIRONMENT)" >> $@
+	echo "$(LOG_COMPILER)"      >> $@
+
+endif