diff mbox

[4/6] validation: creating own dir and lib for pktio

Message ID 1432810692-25231-5-git-send-email-christophe.milard@linaro.org
State New
Headers show

Commit Message

Christophe Milard May 28, 2015, 10:58 a.m. UTC
Module pktio now gets its own directory and create its own lib
(currentely only containing its executable)
Startup scripting stuff is just moved to the pktio directory but remains untouched
at this stage (test is still ran from validation side)

Signed-off-by: Christophe Milard <christophe.milard@linaro.org>
---
 configure.ac                                       |  1 +
 test/validation/.gitignore                         |  1 -
 test/validation/Makefile.am                        | 13 ++++---------
 test/validation/Makefile.inc                       |  7 +++++++
 test/validation/pktio/.gitignore                   |  4 ++++
 test/validation/pktio/Makefile.am                  | 10 ++++++++++
 test/validation/{odp_pktio.c => pktio/pktio.c}     |  9 ++-------
 test/validation/pktio/pktio.h                      |  7 +++++++
 test/validation/pktio/pktio_main.c                 | 12 ++++++++++++
 test/validation/{odp_pktio_run => pktio/pktio_run} | 16 ++++++++--------
 10 files changed, 55 insertions(+), 25 deletions(-)
 create mode 100644 test/validation/Makefile.inc
 create mode 100644 test/validation/pktio/.gitignore
 create mode 100644 test/validation/pktio/Makefile.am
 rename test/validation/{odp_pktio.c => pktio/pktio.c} (99%)
 create mode 100644 test/validation/pktio/pktio.h
 create mode 100644 test/validation/pktio/pktio_main.c
 rename test/validation/{odp_pktio_run => pktio/pktio_run} (85%)

Comments

Stuart Haslam June 2, 2015, 9:31 a.m. UTC | #1
On Thu, May 28, 2015 at 12:58:10PM +0200, Christophe Milard wrote:
> Module pktio now gets its own directory and create its own lib
> (currentely only containing its executable)
> Startup scripting stuff is just moved to the pktio directory but remains untouched

checkpatch complains about this line being > 75 characters.

> at this stage (test is still ran from validation side)
> 
> Signed-off-by: Christophe Milard <christophe.milard@linaro.org>
> ---
>  configure.ac                                       |  1 +
>  test/validation/.gitignore                         |  1 -
>  test/validation/Makefile.am                        | 13 ++++---------
>  test/validation/Makefile.inc                       |  7 +++++++
>  test/validation/pktio/.gitignore                   |  4 ++++
>  test/validation/pktio/Makefile.am                  | 10 ++++++++++
>  test/validation/{odp_pktio.c => pktio/pktio.c}     |  9 ++-------
>  test/validation/pktio/pktio.h                      |  7 +++++++
>  test/validation/pktio/pktio_main.c                 | 12 ++++++++++++
>  test/validation/{odp_pktio_run => pktio/pktio_run} | 16 ++++++++--------
>  10 files changed, 55 insertions(+), 25 deletions(-)
>  create mode 100644 test/validation/Makefile.inc
>  create mode 100644 test/validation/pktio/.gitignore
>  create mode 100644 test/validation/pktio/Makefile.am
>  rename test/validation/{odp_pktio.c => pktio/pktio.c} (99%)
>  create mode 100644 test/validation/pktio/pktio.h
>  create mode 100644 test/validation/pktio/pktio_main.c
>  rename test/validation/{odp_pktio_run => pktio/pktio_run} (85%)
> 
> diff --git a/configure.ac b/configure.ac
> index f8a7e72..95eceae 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -301,6 +301,7 @@ AC_CONFIG_FILES([Makefile
>  		 test/performance/Makefile
>  		 test/validation/Makefile
>  		 test/validation/common/Makefile
> +		 test/validation/pktio/Makefile
>  		 test/miscellaneous/Makefile
>  		 ])
>  
> diff --git a/test/validation/.gitignore b/test/validation/.gitignore
> index 34ea143..7d3a0fc 100644
> --- a/test/validation/.gitignore
> +++ b/test/validation/.gitignore
> @@ -9,7 +9,6 @@ odp_init
>  odp_init_abort
>  odp_init_log
>  odp_packet
> -odp_pktio
>  odp_pool
>  odp_queue
>  odp_random
> diff --git a/test/validation/Makefile.am b/test/validation/Makefile.am
> index 8299e01..a82e35c 100644
> --- a/test/validation/Makefile.am
> +++ b/test/validation/Makefile.am
> @@ -25,16 +25,12 @@ EXECUTABLES = odp_buffer \
>  	      odp_thread \
>  	      odp_ver_abt_log_dbg
>  
> -COMPILE_ONLY = odp_pktio
> -
> -TESTSCRIPTS = odp_pktio_run
> +TESTSCRIPTS = pktio/pktio_run
>  
>  if test_vald
>  TESTS = $(EXECUTABLES) $(TESTSCRIPTS)
>  endif
>  
> -dist_bin_SCRIPTS = odp_pktio_run
> -
>  bin_PROGRAMS = $(EXECUTABLES) $(COMPILE_ONLY)
>  
>  ODP_CU_COMMON=common/odp_cunit_common.c
> @@ -58,9 +54,6 @@ dist_odp_shared_memory_SOURCES	= odp_shared_memory.c
>  dist_odp_synchronizers_SOURCES = odp_synchronizers.c
>  dist_odp_time_SOURCES   = odp_time.c
>  dist_odp_timer_SOURCES  = odp_timer.c
> -odp_pktio_LDADD = $(top_builddir)/test/validation/common/libcunit_common.a \
> -	$(LIB)/libodp.la
> -dist_odp_pktio_SOURCES	= odp_pktio.c
>  dist_odp_packet_SOURCES = odp_packet.c
>  dist_odp_pool_SOURCES = odp_pool.c
>  dist_odp_cpumask_SOURCES = odp_cpumask.c
> @@ -69,4 +62,6 @@ odp_ver_abt_log_dbg_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/ver_abt_log_dbg
>  dist_odp_ver_abt_log_dbg_SOURCES  = ver_abt_log_dbg/odp_system.c \
>  				    ver_abt_log_dbg/odp_errno.c \
>                                      ver_abt_log_dbg/odp_ver_abt_log_dbg.c
> -SUBDIRS = common
> +
> +ODP_MODULES = pktio
> +SUBDIRS = common $(ODP_MODULES)
> diff --git a/test/validation/Makefile.inc b/test/validation/Makefile.inc
> new file mode 100644
> index 0000000..3cdc6a7
> --- /dev/null
> +++ b/test/validation/Makefile.inc
> @@ -0,0 +1,7 @@
> +include $(top_srcdir)/test/Makefile.inc
> +
> +AM_CFLAGS += -I$(top_srcdir)/test/validation/common
> +AM_LDFLAGS += -static
> +
> +LIBCUNIT_COMMON = $(top_builddir)/test/validation/common/libcunit_common.a
> +LIBODP = $(LIB)/libodp.la
> diff --git a/test/validation/pktio/.gitignore b/test/validation/pktio/.gitignore
> new file mode 100644
> index 0000000..7aa8e13
> --- /dev/null
> +++ b/test/validation/pktio/.gitignore
> @@ -0,0 +1,4 @@
> +*.log
> +*.trs

These aren't needed here as they're listed in test/validation/.gitignore

> +libpktio.a
> +pktio_main
> diff --git a/test/validation/pktio/Makefile.am b/test/validation/pktio/Makefile.am
> new file mode 100644
> index 0000000..2acb63b
> --- /dev/null
> +++ b/test/validation/pktio/Makefile.am
> @@ -0,0 +1,10 @@
> +include ../Makefile.inc
> +
> +dist_bin_SCRIPTS = pktio_run
> +
> +noinst_LIBRARIES = libpktio.a
> +libpktio_a_SOURCES = pktio.c
> +
> +check_PROGRAMS = pktio_main
> +dist_pktio_main_SOURCES = pktio_main.c
> +pktio_main_LDADD = libpktio.a $(LIBCUNIT_COMMON) $(LIBODP)

As Maxim has pointed out, pktio_main isn't installed by "make install".
Christophe Milard June 2, 2015, 4:15 p.m. UTC | #2
On 2 June 2015 at 11:31, Stuart Haslam <stuart.haslam@linaro.org> wrote:

> On Thu, May 28, 2015 at 12:58:10PM +0200, Christophe Milard wrote:
> > Module pktio now gets its own directory and create its own lib
> > (currentely only containing its executable)
> > Startup scripting stuff is just moved to the pktio directory but remains
> untouched
>
> checkpatch complains about this line being > 75 characters.
>

will be fixed in v2


>
> > at this stage (test is still ran from validation side)
> >
> > Signed-off-by: Christophe Milard <christophe.milard@linaro.org>
> > ---
> >  configure.ac                                       |  1 +
> >  test/validation/.gitignore                         |  1 -
> >  test/validation/Makefile.am                        | 13 ++++---------
> >  test/validation/Makefile.inc                       |  7 +++++++
> >  test/validation/pktio/.gitignore                   |  4 ++++
> >  test/validation/pktio/Makefile.am                  | 10 ++++++++++
> >  test/validation/{odp_pktio.c => pktio/pktio.c}     |  9 ++-------
> >  test/validation/pktio/pktio.h                      |  7 +++++++
> >  test/validation/pktio/pktio_main.c                 | 12 ++++++++++++
> >  test/validation/{odp_pktio_run => pktio/pktio_run} | 16 ++++++++--------
> >  10 files changed, 55 insertions(+), 25 deletions(-)
> >  create mode 100644 test/validation/Makefile.inc
> >  create mode 100644 test/validation/pktio/.gitignore
> >  create mode 100644 test/validation/pktio/Makefile.am
> >  rename test/validation/{odp_pktio.c => pktio/pktio.c} (99%)
> >  create mode 100644 test/validation/pktio/pktio.h
> >  create mode 100644 test/validation/pktio/pktio_main.c
> >  rename test/validation/{odp_pktio_run => pktio/pktio_run} (85%)
> >
> > diff --git a/configure.ac b/configure.ac
> > index f8a7e72..95eceae 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -301,6 +301,7 @@ AC_CONFIG_FILES([Makefile
> >                test/performance/Makefile
> >                test/validation/Makefile
> >                test/validation/common/Makefile
> > +              test/validation/pktio/Makefile
> >                test/miscellaneous/Makefile
> >                ])
> >
> > diff --git a/test/validation/.gitignore b/test/validation/.gitignore
> > index 34ea143..7d3a0fc 100644
> > --- a/test/validation/.gitignore
> > +++ b/test/validation/.gitignore
> > @@ -9,7 +9,6 @@ odp_init
> >  odp_init_abort
> >  odp_init_log
> >  odp_packet
> > -odp_pktio
> >  odp_pool
> >  odp_queue
> >  odp_random
> > diff --git a/test/validation/Makefile.am b/test/validation/Makefile.am
> > index 8299e01..a82e35c 100644
> > --- a/test/validation/Makefile.am
> > +++ b/test/validation/Makefile.am
> > @@ -25,16 +25,12 @@ EXECUTABLES = odp_buffer \
> >             odp_thread \
> >             odp_ver_abt_log_dbg
> >
> > -COMPILE_ONLY = odp_pktio
> > -
> > -TESTSCRIPTS = odp_pktio_run
> > +TESTSCRIPTS = pktio/pktio_run
> >
> >  if test_vald
> >  TESTS = $(EXECUTABLES) $(TESTSCRIPTS)
> >  endif
> >
> > -dist_bin_SCRIPTS = odp_pktio_run
> > -
> >  bin_PROGRAMS = $(EXECUTABLES) $(COMPILE_ONLY)
> >
> >  ODP_CU_COMMON=common/odp_cunit_common.c
> > @@ -58,9 +54,6 @@ dist_odp_shared_memory_SOURCES      =
> odp_shared_memory.c
> >  dist_odp_synchronizers_SOURCES = odp_synchronizers.c
> >  dist_odp_time_SOURCES   = odp_time.c
> >  dist_odp_timer_SOURCES  = odp_timer.c
> > -odp_pktio_LDADD =
> $(top_builddir)/test/validation/common/libcunit_common.a \
> > -     $(LIB)/libodp.la
> > -dist_odp_pktio_SOURCES       = odp_pktio.c
> >  dist_odp_packet_SOURCES = odp_packet.c
> >  dist_odp_pool_SOURCES = odp_pool.c
> >  dist_odp_cpumask_SOURCES = odp_cpumask.c
> > @@ -69,4 +62,6 @@ odp_ver_abt_log_dbg_CFLAGS = $(AM_CFLAGS)
> -I$(srcdir)/ver_abt_log_dbg
> >  dist_odp_ver_abt_log_dbg_SOURCES  = ver_abt_log_dbg/odp_system.c \
> >                                   ver_abt_log_dbg/odp_errno.c \
> >
> ver_abt_log_dbg/odp_ver_abt_log_dbg.c
> > -SUBDIRS = common
> > +
> > +ODP_MODULES = pktio
> > +SUBDIRS = common $(ODP_MODULES)
> > diff --git a/test/validation/Makefile.inc b/test/validation/Makefile.inc
> > new file mode 100644
> > index 0000000..3cdc6a7
> > --- /dev/null
> > +++ b/test/validation/Makefile.inc
> > @@ -0,0 +1,7 @@
> > +include $(top_srcdir)/test/Makefile.inc
> > +
> > +AM_CFLAGS += -I$(top_srcdir)/test/validation/common
> > +AM_LDFLAGS += -static
> > +
> > +LIBCUNIT_COMMON =
> $(top_builddir)/test/validation/common/libcunit_common.a
> > +LIBODP = $(LIB)/libodp.la
> > diff --git a/test/validation/pktio/.gitignore
> b/test/validation/pktio/.gitignore
> > new file mode 100644
> > index 0000000..7aa8e13
> > --- /dev/null
> > +++ b/test/validation/pktio/.gitignore
> > @@ -0,0 +1,4 @@
> > +*.log
> > +*.trs
>
> These aren't needed here as they're listed in test/validation/.gitignore
>

Ok. will be removed in v2


>
> > +libpktio.a
> > +pktio_main
> > diff --git a/test/validation/pktio/Makefile.am
> b/test/validation/pktio/Makefile.am
> > new file mode 100644
> > index 0000000..2acb63b
> > --- /dev/null
> > +++ b/test/validation/pktio/Makefile.am
> > @@ -0,0 +1,10 @@
> > +include ../Makefile.inc
> > +
> > +dist_bin_SCRIPTS = pktio_run
> > +
> > +noinst_LIBRARIES = libpktio.a
> > +libpktio_a_SOURCES = pktio.c
> > +
> > +check_PROGRAMS = pktio_main
> > +dist_pktio_main_SOURCES = pktio_main.c
> > +pktio_main_LDADD = libpktio.a $(LIBCUNIT_COMMON) $(LIBODP)
>
> As Maxim has pointed out, pktio_main isn't installed by "make install".
>

will be back to bin_PROGRAMS in v2.  Although I really wonder if this is
right ( gathering platform agnostic tests with platform dependents test
with all for of possible binaries...). Should tests really be delivered as
normal binaries... I though that the autotools check_PROGRAMS was just
there for that reasons: checking the delivery (the delivery being ODP, not
tests - at least as I see it).
But we can take that later.

Christophe


> --
> Stuart.
>
Stuart Haslam June 3, 2015, 10:20 a.m. UTC | #3
On Tue, Jun 02, 2015 at 06:15:36PM +0200, Christophe Milard wrote:
> On 2 June 2015 at 11:31, Stuart Haslam <stuart.haslam@linaro.org> wrote:
> 
> > On Thu, May 28, 2015 at 12:58:10PM +0200, Christophe Milard wrote:
> > > Module pktio now gets its own directory and create its own lib
> > > (currentely only containing its executable)
> > > Startup scripting stuff is just moved to the pktio directory but remains
> > untouched
> >
> > checkpatch complains about this line being > 75 characters.
> >
> 
> will be fixed in v2
> 
> 
> >
> > > at this stage (test is still ran from validation side)
> > >
> > > Signed-off-by: Christophe Milard <christophe.milard@linaro.org>
> > > ---
> > >  configure.ac                                       |  1 +
> > >  test/validation/.gitignore                         |  1 -
> > >  test/validation/Makefile.am                        | 13 ++++---------
> > >  test/validation/Makefile.inc                       |  7 +++++++
> > >  test/validation/pktio/.gitignore                   |  4 ++++
> > >  test/validation/pktio/Makefile.am                  | 10 ++++++++++
> > >  test/validation/{odp_pktio.c => pktio/pktio.c}     |  9 ++-------
> > >  test/validation/pktio/pktio.h                      |  7 +++++++
> > >  test/validation/pktio/pktio_main.c                 | 12 ++++++++++++
> > >  test/validation/{odp_pktio_run => pktio/pktio_run} | 16 ++++++++--------
> > >  10 files changed, 55 insertions(+), 25 deletions(-)
> > >  create mode 100644 test/validation/Makefile.inc
> > >  create mode 100644 test/validation/pktio/.gitignore
> > >  create mode 100644 test/validation/pktio/Makefile.am
> > >  rename test/validation/{odp_pktio.c => pktio/pktio.c} (99%)
> > >  create mode 100644 test/validation/pktio/pktio.h
> > >  create mode 100644 test/validation/pktio/pktio_main.c
> > >  rename test/validation/{odp_pktio_run => pktio/pktio_run} (85%)
> > >
> > > diff --git a/configure.ac b/configure.ac
> > > index f8a7e72..95eceae 100644
> > > --- a/configure.ac
> > > +++ b/configure.ac
> > > @@ -301,6 +301,7 @@ AC_CONFIG_FILES([Makefile
> > >                test/performance/Makefile
> > >                test/validation/Makefile
> > >                test/validation/common/Makefile
> > > +              test/validation/pktio/Makefile
> > >                test/miscellaneous/Makefile
> > >                ])
> > >
> > > diff --git a/test/validation/.gitignore b/test/validation/.gitignore
> > > index 34ea143..7d3a0fc 100644
> > > --- a/test/validation/.gitignore
> > > +++ b/test/validation/.gitignore
> > > @@ -9,7 +9,6 @@ odp_init
> > >  odp_init_abort
> > >  odp_init_log
> > >  odp_packet
> > > -odp_pktio
> > >  odp_pool
> > >  odp_queue
> > >  odp_random
> > > diff --git a/test/validation/Makefile.am b/test/validation/Makefile.am
> > > index 8299e01..a82e35c 100644
> > > --- a/test/validation/Makefile.am
> > > +++ b/test/validation/Makefile.am
> > > @@ -25,16 +25,12 @@ EXECUTABLES = odp_buffer \
> > >             odp_thread \
> > >             odp_ver_abt_log_dbg
> > >
> > > -COMPILE_ONLY = odp_pktio
> > > -
> > > -TESTSCRIPTS = odp_pktio_run
> > > +TESTSCRIPTS = pktio/pktio_run
> > >
> > >  if test_vald
> > >  TESTS = $(EXECUTABLES) $(TESTSCRIPTS)
> > >  endif
> > >
> > > -dist_bin_SCRIPTS = odp_pktio_run
> > > -
> > >  bin_PROGRAMS = $(EXECUTABLES) $(COMPILE_ONLY)
> > >
> > >  ODP_CU_COMMON=common/odp_cunit_common.c
> > > @@ -58,9 +54,6 @@ dist_odp_shared_memory_SOURCES      =
> > odp_shared_memory.c
> > >  dist_odp_synchronizers_SOURCES = odp_synchronizers.c
> > >  dist_odp_time_SOURCES   = odp_time.c
> > >  dist_odp_timer_SOURCES  = odp_timer.c
> > > -odp_pktio_LDADD =
> > $(top_builddir)/test/validation/common/libcunit_common.a \
> > > -     $(LIB)/libodp.la
> > > -dist_odp_pktio_SOURCES       = odp_pktio.c
> > >  dist_odp_packet_SOURCES = odp_packet.c
> > >  dist_odp_pool_SOURCES = odp_pool.c
> > >  dist_odp_cpumask_SOURCES = odp_cpumask.c
> > > @@ -69,4 +62,6 @@ odp_ver_abt_log_dbg_CFLAGS = $(AM_CFLAGS)
> > -I$(srcdir)/ver_abt_log_dbg
> > >  dist_odp_ver_abt_log_dbg_SOURCES  = ver_abt_log_dbg/odp_system.c \
> > >                                   ver_abt_log_dbg/odp_errno.c \
> > >
> > ver_abt_log_dbg/odp_ver_abt_log_dbg.c
> > > -SUBDIRS = common
> > > +
> > > +ODP_MODULES = pktio
> > > +SUBDIRS = common $(ODP_MODULES)
> > > diff --git a/test/validation/Makefile.inc b/test/validation/Makefile.inc
> > > new file mode 100644
> > > index 0000000..3cdc6a7
> > > --- /dev/null
> > > +++ b/test/validation/Makefile.inc
> > > @@ -0,0 +1,7 @@
> > > +include $(top_srcdir)/test/Makefile.inc
> > > +
> > > +AM_CFLAGS += -I$(top_srcdir)/test/validation/common
> > > +AM_LDFLAGS += -static
> > > +
> > > +LIBCUNIT_COMMON =
> > $(top_builddir)/test/validation/common/libcunit_common.a
> > > +LIBODP = $(LIB)/libodp.la
> > > diff --git a/test/validation/pktio/.gitignore
> > b/test/validation/pktio/.gitignore
> > > new file mode 100644
> > > index 0000000..7aa8e13
> > > --- /dev/null
> > > +++ b/test/validation/pktio/.gitignore
> > > @@ -0,0 +1,4 @@
> > > +*.log
> > > +*.trs
> >
> > These aren't needed here as they're listed in test/validation/.gitignore
> >
> 
> Ok. will be removed in v2
> 
> 
> >
> > > +libpktio.a
> > > +pktio_main
> > > diff --git a/test/validation/pktio/Makefile.am
> > b/test/validation/pktio/Makefile.am
> > > new file mode 100644
> > > index 0000000..2acb63b
> > > --- /dev/null
> > > +++ b/test/validation/pktio/Makefile.am
> > > @@ -0,0 +1,10 @@
> > > +include ../Makefile.inc
> > > +
> > > +dist_bin_SCRIPTS = pktio_run
> > > +
> > > +noinst_LIBRARIES = libpktio.a
> > > +libpktio_a_SOURCES = pktio.c
> > > +
> > > +check_PROGRAMS = pktio_main
> > > +dist_pktio_main_SOURCES = pktio_main.c
> > > +pktio_main_LDADD = libpktio.a $(LIBCUNIT_COMMON) $(LIBODP)
> >
> > As Maxim has pointed out, pktio_main isn't installed by "make install".
> >
> 
> will be back to bin_PROGRAMS in v2.  Although I really wonder if this is
> right ( gathering platform agnostic tests with platform dependents test
> with all for of possible binaries...). Should tests really be delivered as
> normal binaries... I though that the autotools check_PROGRAMS was just
> there for that reasons: checking the delivery (the delivery being ODP, not
> tests - at least as I see it).
> But we can take that later.
> 
> Christophe
> 

Yup, I too am not sure that it's a good idea to install tests via
"make install", but that's what was being done before your change and it
(kind of) worked.

We do need some method of installing test binaries, to cope with
cross-building, where the tests can't be run on the machine they were
built on. As discussed yesterday I think the right thing to do is create
another target named install-test which installs just the test binaries
and any supporting scripts, but that can be done later and for this
series all that's required is not to introduce a regression.
Steve McIntyre June 3, 2015, 11:17 a.m. UTC | #4
On Wed, Jun 03, 2015 at 11:20:23AM +0100, Stuart Haslam wrote:
>
>Yup, I too am not sure that it's a good idea to install tests via
>"make install", but that's what was being done before your change and it
>(kind of) worked.

Oh, hmmm.

>We do need some method of installing test binaries, to cope with
>cross-building, where the tests can't be run on the machine they were
>built on. As discussed yesterday I think the right thing to do is create
>another target named install-test which installs just the test binaries
>and any supporting scripts, but that can be done later and for this
>series all that's required is not to introduce a regression.

There's also maybe some use in installing the *source* for some of the
tests as examples alongside documentation. But definitely the tests
themselves shouldn't be installed using "make install"...

Cheers,
diff mbox

Patch

diff --git a/configure.ac b/configure.ac
index f8a7e72..95eceae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -301,6 +301,7 @@  AC_CONFIG_FILES([Makefile
 		 test/performance/Makefile
 		 test/validation/Makefile
 		 test/validation/common/Makefile
+		 test/validation/pktio/Makefile
 		 test/miscellaneous/Makefile
 		 ])
 
diff --git a/test/validation/.gitignore b/test/validation/.gitignore
index 34ea143..7d3a0fc 100644
--- a/test/validation/.gitignore
+++ b/test/validation/.gitignore
@@ -9,7 +9,6 @@  odp_init
 odp_init_abort
 odp_init_log
 odp_packet
-odp_pktio
 odp_pool
 odp_queue
 odp_random
diff --git a/test/validation/Makefile.am b/test/validation/Makefile.am
index 8299e01..a82e35c 100644
--- a/test/validation/Makefile.am
+++ b/test/validation/Makefile.am
@@ -25,16 +25,12 @@  EXECUTABLES = odp_buffer \
 	      odp_thread \
 	      odp_ver_abt_log_dbg
 
-COMPILE_ONLY = odp_pktio
-
-TESTSCRIPTS = odp_pktio_run
+TESTSCRIPTS = pktio/pktio_run
 
 if test_vald
 TESTS = $(EXECUTABLES) $(TESTSCRIPTS)
 endif
 
-dist_bin_SCRIPTS = odp_pktio_run
-
 bin_PROGRAMS = $(EXECUTABLES) $(COMPILE_ONLY)
 
 ODP_CU_COMMON=common/odp_cunit_common.c
@@ -58,9 +54,6 @@  dist_odp_shared_memory_SOURCES	= odp_shared_memory.c
 dist_odp_synchronizers_SOURCES = odp_synchronizers.c
 dist_odp_time_SOURCES   = odp_time.c
 dist_odp_timer_SOURCES  = odp_timer.c
-odp_pktio_LDADD = $(top_builddir)/test/validation/common/libcunit_common.a \
-	$(LIB)/libodp.la
-dist_odp_pktio_SOURCES	= odp_pktio.c
 dist_odp_packet_SOURCES = odp_packet.c
 dist_odp_pool_SOURCES = odp_pool.c
 dist_odp_cpumask_SOURCES = odp_cpumask.c
@@ -69,4 +62,6 @@  odp_ver_abt_log_dbg_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/ver_abt_log_dbg
 dist_odp_ver_abt_log_dbg_SOURCES  = ver_abt_log_dbg/odp_system.c \
 				    ver_abt_log_dbg/odp_errno.c \
                                     ver_abt_log_dbg/odp_ver_abt_log_dbg.c
-SUBDIRS = common
+
+ODP_MODULES = pktio
+SUBDIRS = common $(ODP_MODULES)
diff --git a/test/validation/Makefile.inc b/test/validation/Makefile.inc
new file mode 100644
index 0000000..3cdc6a7
--- /dev/null
+++ b/test/validation/Makefile.inc
@@ -0,0 +1,7 @@ 
+include $(top_srcdir)/test/Makefile.inc
+
+AM_CFLAGS += -I$(top_srcdir)/test/validation/common
+AM_LDFLAGS += -static
+
+LIBCUNIT_COMMON = $(top_builddir)/test/validation/common/libcunit_common.a
+LIBODP = $(LIB)/libodp.la
diff --git a/test/validation/pktio/.gitignore b/test/validation/pktio/.gitignore
new file mode 100644
index 0000000..7aa8e13
--- /dev/null
+++ b/test/validation/pktio/.gitignore
@@ -0,0 +1,4 @@ 
+*.log
+*.trs
+libpktio.a
+pktio_main
diff --git a/test/validation/pktio/Makefile.am b/test/validation/pktio/Makefile.am
new file mode 100644
index 0000000..2acb63b
--- /dev/null
+++ b/test/validation/pktio/Makefile.am
@@ -0,0 +1,10 @@ 
+include ../Makefile.inc
+
+dist_bin_SCRIPTS = pktio_run
+
+noinst_LIBRARIES = libpktio.a
+libpktio_a_SOURCES = pktio.c
+
+check_PROGRAMS = pktio_main
+dist_pktio_main_SOURCES = pktio_main.c
+pktio_main_LDADD = libpktio.a $(LIBCUNIT_COMMON) $(LIBODP)
diff --git a/test/validation/odp_pktio.c b/test/validation/pktio/pktio.c
similarity index 99%
rename from test/validation/odp_pktio.c
rename to test/validation/pktio/pktio.c
index 156285a..1fd7585 100644
--- a/test/validation/odp_pktio.c
+++ b/test/validation/pktio/pktio.c
@@ -12,6 +12,7 @@ 
 #include <odp_internal.h>
 
 #include <stdlib.h>
+#include "pktio.h"
 
 #define PKT_BUF_NUM            32
 #define PKT_BUF_SIZE           (9 * 1024)
@@ -693,13 +694,7 @@  static CU_SuiteInfo pktio_suites[] = {
 	CU_SUITE_INFO_NULL
 };
 
-static int pktio_main(void)
+int pktio_main(void)
 {
 	return odp_cunit_run(pktio_suites);
 }
-
-/* the following main function will be separated when lib is created */
-int main(void)
-{
-	return pktio_main();
-}
diff --git a/test/validation/pktio/pktio.h b/test/validation/pktio/pktio.h
new file mode 100644
index 0000000..4b6d512
--- /dev/null
+++ b/test/validation/pktio/pktio.h
@@ -0,0 +1,7 @@ 
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+int pktio_main(void);
diff --git a/test/validation/pktio/pktio_main.c b/test/validation/pktio/pktio_main.c
new file mode 100644
index 0000000..dca041c
--- /dev/null
+++ b/test/validation/pktio/pktio_main.c
@@ -0,0 +1,12 @@ 
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include "pktio.h"
+
+int main(void)
+{
+	return pktio_main();
+}
diff --git a/test/validation/odp_pktio_run b/test/validation/pktio/pktio_run
similarity index 85%
rename from test/validation/odp_pktio_run
rename to test/validation/pktio/pktio_run
index b6a72c7..aed0cd2 100755
--- a/test/validation/odp_pktio_run
+++ b/test/validation/pktio/pktio_run
@@ -11,14 +11,14 @@ 
 # If TEST_DIR is not set it means we are not running with make, and in this case
 # there are two situations:
 # 1. user build ODP in the same dir as the source (most likely)
-#    here the user can simply call odp_pktio_run
+#    here the user can simply call pktio_run
 # 2. user may have built ODP in a separate build dir (like bitbake usually does)
-#    here the user has to do something like $ODP/test/validation/odp_pktio_run
+#    here the user has to do something like $ODP/test/validation/pktio_run
 #
 # In both situations the script assumes that the user is in the directory where
-# odp_pktio exists. If that's not true, then the user has to specify the path
+# pktio_main exists. If that's not true, then the user has to specify the path
 # to it and run:
-# TEST_DIR=$builddir $ODP/test/validation/odp_pktio_run
+# TEST_DIR=$builddir $ODP/test/validation/pktio_run
 
 # directory where test binaries have been built
 TEST_DIR="${TEST_DIR:-$PWD}"
@@ -37,8 +37,8 @@  elif  [ "$ODP_PLATFORM" = "" ]; then
 	echo "$0: error: ODP_PLATFORM must be defined"
 	# not skipped as this should never happen via "make check"
 	exit 1
-elif [ -f ${TEST_SRC_DIR}/../../platform/$ODP_PLATFORM/test/pktio_env ]; then
-	. ${TEST_SRC_DIR}/../../platform/$ODP_PLATFORM/test/pktio_env
+elif [ -f ${TEST_SRC_DIR}/../../../platform/$ODP_PLATFORM/test/pktio_env ]; then
+	. ${TEST_SRC_DIR}/../../../platform/$ODP_PLATFORM/test/pktio_env
 else
 	echo "BUG: unable to find pktio_env!"
 	echo "pktio_env has to be in current directory or in platform/\$ODP_PLATFORM/test."
@@ -61,7 +61,7 @@  run_test()
 		if [ "$disabletype" != "SKIP" ]; then
 			export ODP_PKTIO_DISABLE_SOCKET_${distype}=y
 		fi
-		odp_pktio
+		${TEST_DIR}/pktio/pktio_main
 		if [ $? -ne 0 ]; then
 			ret=1
 		fi
@@ -78,7 +78,7 @@  run()
 {
 	if [ "$ODP_PLATFORM" != "linux-generic" -o "$(id -u)" != "0" ]; then
 		echo "pktio: using 'loop' device"
-		odp_pktio
+		${TEST_DIR}/pktio/pktio_main
 		exit $?
 	fi