diff --git a/Makefile.am b/Makefile.am
index 774c09bda..0c28eb0c7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,12 +4,13 @@ AM_DISTCHECK_CONFIGURE_FLAGS = --enable-user-guides	\
 			       --with-testdir
 
 #@with_platform@ works alone in subdir but not as part of a path???
-SUBDIRS = @platform_with_platform@ \
+SUBDIRS = \
+	  test_common \
 	  helper \
+	  @platform_with_platform@ \
 	  helper/test \
 	  doc \
 	  example . \
-	  test_common \
 	  test
 
 @DX_RULES@
diff --git a/configure.ac b/configure.ac
index 5bc84a71b..2b075e917 100644
--- a/configure.ac
+++ b/configure.ac
@@ -170,7 +170,6 @@ IMPLEMENTATION_NAME=""
 if test "${with_platform}" = "linux-generic";
 then
     m4_include([./platform/linux-generic/m4/configure.m4])
-    m4_include([./test/linux-generic/m4/configure.m4])
     IMPLEMENTATION_NAME="odp-linux"
 else
     echo "UNSUPPORTED PLATFORM: ${with_platform}"
diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am
index 0ebb6f76c..7d79ccfc4 100644
--- a/platform/linux-generic/Makefile.am
+++ b/platform/linux-generic/Makefile.am
@@ -3,6 +3,8 @@
 
 include $(top_srcdir)/platform/Makefile.inc
 
+SUBDIRS = . test
+
 AM_CPPFLAGS =  -I$(srcdir)/include
 AM_CPPFLAGS +=  -I$(top_srcdir)/include
 AM_CPPFLAGS +=  -I$(top_srcdir)/include/odp/arch/@ARCH_ABI@
diff --git a/platform/linux-generic/m4/configure.m4 b/platform/linux-generic/m4/configure.m4
index 397c539b8..1a09102e7 100644
--- a/platform/linux-generic/m4/configure.m4
+++ b/platform/linux-generic/m4/configure.m4
@@ -9,5 +9,14 @@ m4_include([platform/linux-generic/m4/odp_netmap.m4])
 m4_include([platform/linux-generic/m4/odp_dpdk.m4])
 m4_include([platform/linux-generic/m4/odp_schedule.m4])
 
+m4_include([platform/linux-generic/m4/performance.m4])
+
 AC_CONFIG_FILES([platform/linux-generic/Makefile
-                 platform/linux-generic/include/odp/api/plat/static_inline.h])
+		 platform/linux-generic/include/odp/api/plat/static_inline.h
+		 platform/linux-generic/test/Makefile
+		 platform/linux-generic/test/validation/api/shmem/Makefile
+		 platform/linux-generic/test/validation/api/pktio/Makefile
+		 platform/linux-generic/test/mmap_vlan_ins/Makefile
+		 platform/linux-generic/test/pktio_ipc/Makefile
+		 platform/linux-generic/test/ring/Makefile
+		 platform/linux-generic/test/performance/Makefile])
diff --git a/test/linux-generic/m4/performance.m4 b/platform/linux-generic/m4/performance.m4
similarity index 100%
rename from test/linux-generic/m4/performance.m4
rename to platform/linux-generic/m4/performance.m4
diff --git a/test/linux-generic/.gitignore b/platform/linux-generic/test/.gitignore
similarity index 100%
rename from test/linux-generic/.gitignore
rename to platform/linux-generic/test/.gitignore
diff --git a/test/linux-generic/Makefile.am b/platform/linux-generic/test/Makefile.am
similarity index 100%
rename from test/linux-generic/Makefile.am
rename to platform/linux-generic/test/Makefile.am
diff --git a/test/linux-generic/Makefile.inc b/platform/linux-generic/test/Makefile.inc
similarity index 100%
rename from test/linux-generic/Makefile.inc
rename to platform/linux-generic/test/Makefile.inc
diff --git a/test/linux-generic/mmap_vlan_ins/.gitignore b/platform/linux-generic/test/mmap_vlan_ins/.gitignore
similarity index 100%
rename from test/linux-generic/mmap_vlan_ins/.gitignore
rename to platform/linux-generic/test/mmap_vlan_ins/.gitignore
diff --git a/test/linux-generic/mmap_vlan_ins/Makefile.am b/platform/linux-generic/test/mmap_vlan_ins/Makefile.am
similarity index 100%
rename from test/linux-generic/mmap_vlan_ins/Makefile.am
rename to platform/linux-generic/test/mmap_vlan_ins/Makefile.am
diff --git a/test/linux-generic/mmap_vlan_ins/mmap_vlan_ins.c b/platform/linux-generic/test/mmap_vlan_ins/mmap_vlan_ins.c
similarity index 100%
rename from test/linux-generic/mmap_vlan_ins/mmap_vlan_ins.c
rename to platform/linux-generic/test/mmap_vlan_ins/mmap_vlan_ins.c
diff --git a/test/linux-generic/mmap_vlan_ins/mmap_vlan_ins.sh b/platform/linux-generic/test/mmap_vlan_ins/mmap_vlan_ins.sh
similarity index 100%
rename from test/linux-generic/mmap_vlan_ins/mmap_vlan_ins.sh
rename to platform/linux-generic/test/mmap_vlan_ins/mmap_vlan_ins.sh
diff --git a/test/linux-generic/mmap_vlan_ins/pktio_env b/platform/linux-generic/test/mmap_vlan_ins/pktio_env
similarity index 100%
rename from test/linux-generic/mmap_vlan_ins/pktio_env
rename to platform/linux-generic/test/mmap_vlan_ins/pktio_env
diff --git a/test/linux-generic/mmap_vlan_ins/vlan.pcap b/platform/linux-generic/test/mmap_vlan_ins/vlan.pcap
similarity index 100%
rename from test/linux-generic/mmap_vlan_ins/vlan.pcap
rename to platform/linux-generic/test/mmap_vlan_ins/vlan.pcap
diff --git a/test/linux-generic/performance/.gitignore b/platform/linux-generic/test/performance/.gitignore
similarity index 100%
rename from test/linux-generic/performance/.gitignore
rename to platform/linux-generic/test/performance/.gitignore
diff --git a/test/linux-generic/performance/Makefile.am b/platform/linux-generic/test/performance/Makefile.am
similarity index 100%
rename from test/linux-generic/performance/Makefile.am
rename to platform/linux-generic/test/performance/Makefile.am
diff --git a/test/linux-generic/performance/odp_scheduling_run_proc.sh b/platform/linux-generic/test/performance/odp_scheduling_run_proc.sh
similarity index 88%
rename from test/linux-generic/performance/odp_scheduling_run_proc.sh
rename to platform/linux-generic/test/performance/odp_scheduling_run_proc.sh
index 384017aff..a57df6c0b 100755
--- a/test/linux-generic/performance/odp_scheduling_run_proc.sh
+++ b/platform/linux-generic/test/performance/odp_scheduling_run_proc.sh
@@ -9,7 +9,7 @@
 # launched by 'make check'
 
 TEST_DIR="${TEST_DIR:-$(dirname $0)}"
-PERFORMANCE="$TEST_DIR/../../common_plat/performance"
+PERFORMANCE="$TEST_DIR/../../../../test/common_plat/performance"
 ret=0
 ALL=0
 
diff --git a/test/linux-generic/pktio_ipc/.gitignore b/platform/linux-generic/test/pktio_ipc/.gitignore
similarity index 100%
rename from test/linux-generic/pktio_ipc/.gitignore
rename to platform/linux-generic/test/pktio_ipc/.gitignore
diff --git a/test/linux-generic/pktio_ipc/Makefile.am b/platform/linux-generic/test/pktio_ipc/Makefile.am
similarity index 100%
rename from test/linux-generic/pktio_ipc/Makefile.am
rename to platform/linux-generic/test/pktio_ipc/Makefile.am
diff --git a/test/linux-generic/pktio_ipc/ipc_common.c b/platform/linux-generic/test/pktio_ipc/ipc_common.c
similarity index 100%
rename from test/linux-generic/pktio_ipc/ipc_common.c
rename to platform/linux-generic/test/pktio_ipc/ipc_common.c
diff --git a/test/linux-generic/pktio_ipc/ipc_common.h b/platform/linux-generic/test/pktio_ipc/ipc_common.h
similarity index 100%
rename from test/linux-generic/pktio_ipc/ipc_common.h
rename to platform/linux-generic/test/pktio_ipc/ipc_common.h
diff --git a/test/linux-generic/pktio_ipc/pktio_ipc1.c b/platform/linux-generic/test/pktio_ipc/pktio_ipc1.c
similarity index 100%
rename from test/linux-generic/pktio_ipc/pktio_ipc1.c
rename to platform/linux-generic/test/pktio_ipc/pktio_ipc1.c
diff --git a/test/linux-generic/pktio_ipc/pktio_ipc2.c b/platform/linux-generic/test/pktio_ipc/pktio_ipc2.c
similarity index 100%
rename from test/linux-generic/pktio_ipc/pktio_ipc2.c
rename to platform/linux-generic/test/pktio_ipc/pktio_ipc2.c
diff --git a/test/linux-generic/pktio_ipc/pktio_ipc_run.sh b/platform/linux-generic/test/pktio_ipc/pktio_ipc_run.sh
similarity index 100%
rename from test/linux-generic/pktio_ipc/pktio_ipc_run.sh
rename to platform/linux-generic/test/pktio_ipc/pktio_ipc_run.sh
diff --git a/test/linux-generic/ring/.gitignore b/platform/linux-generic/test/ring/.gitignore
similarity index 100%
rename from test/linux-generic/ring/.gitignore
rename to platform/linux-generic/test/ring/.gitignore
diff --git a/test/linux-generic/ring/Makefile.am b/platform/linux-generic/test/ring/Makefile.am
similarity index 100%
rename from test/linux-generic/ring/Makefile.am
rename to platform/linux-generic/test/ring/Makefile.am
diff --git a/test/linux-generic/ring/ring_basic.c b/platform/linux-generic/test/ring/ring_basic.c
similarity index 100%
rename from test/linux-generic/ring/ring_basic.c
rename to platform/linux-generic/test/ring/ring_basic.c
diff --git a/test/linux-generic/ring/ring_main.c b/platform/linux-generic/test/ring/ring_main.c
similarity index 100%
rename from test/linux-generic/ring/ring_main.c
rename to platform/linux-generic/test/ring/ring_main.c
diff --git a/test/linux-generic/ring/ring_stress.c b/platform/linux-generic/test/ring/ring_stress.c
similarity index 100%
rename from test/linux-generic/ring/ring_stress.c
rename to platform/linux-generic/test/ring/ring_stress.c
diff --git a/test/linux-generic/ring/ring_suites.c b/platform/linux-generic/test/ring/ring_suites.c
similarity index 100%
rename from test/linux-generic/ring/ring_suites.c
rename to platform/linux-generic/test/ring/ring_suites.c
diff --git a/test/linux-generic/ring/ring_suites.h b/platform/linux-generic/test/ring/ring_suites.h
similarity index 100%
rename from test/linux-generic/ring/ring_suites.h
rename to platform/linux-generic/test/ring/ring_suites.h
diff --git a/platform/linux-generic/test/validation/Makefile.inc b/platform/linux-generic/test/validation/Makefile.inc
new file mode 100644
index 000000000..b9030850c
--- /dev/null
+++ b/platform/linux-generic/test/validation/Makefile.inc
@@ -0,0 +1 @@
+include $(top_srcdir)/platform/linux-generic/test/Makefile.inc
diff --git a/platform/linux-generic/test/validation/api/Makefile.inc b/platform/linux-generic/test/validation/api/Makefile.inc
new file mode 100644
index 000000000..c47217d1a
--- /dev/null
+++ b/platform/linux-generic/test/validation/api/Makefile.inc
@@ -0,0 +1 @@
+include $(top_srcdir)/platform/linux-generic/test/validation/Makefile.inc
diff --git a/test/linux-generic/validation/api/pktio/.gitignore b/platform/linux-generic/test/validation/api/pktio/.gitignore
similarity index 100%
rename from test/linux-generic/validation/api/pktio/.gitignore
rename to platform/linux-generic/test/validation/api/pktio/.gitignore
diff --git a/test/linux-generic/validation/api/pktio/Makefile.am b/platform/linux-generic/test/validation/api/pktio/Makefile.am
similarity index 100%
rename from test/linux-generic/validation/api/pktio/Makefile.am
rename to platform/linux-generic/test/validation/api/pktio/Makefile.am
diff --git a/test/linux-generic/validation/api/pktio/pktio_env b/platform/linux-generic/test/validation/api/pktio/pktio_env
similarity index 100%
rename from test/linux-generic/validation/api/pktio/pktio_env
rename to platform/linux-generic/test/validation/api/pktio/pktio_env
diff --git a/test/linux-generic/validation/api/pktio/pktio_run.sh b/platform/linux-generic/test/validation/api/pktio/pktio_run.sh
similarity index 97%
rename from test/linux-generic/validation/api/pktio/pktio_run.sh
rename to platform/linux-generic/test/validation/api/pktio/pktio_run.sh
index 19def8c5a..075929e8c 100755
--- a/test/linux-generic/validation/api/pktio/pktio_run.sh
+++ b/platform/linux-generic/test/validation/api/pktio/pktio_run.sh
@@ -23,7 +23,7 @@
 # running stand alone out of tree requires setting PATH
 PATH=${TEST_DIR}/api/pktio:$PATH
 PATH=$(dirname $0):$PATH
-PATH=$(dirname $0)/../../../../common_plat/validation/api/pktio:$PATH
+PATH=$(dirname $0)/../../../../../../test/common_plat/validation/api/pktio:$PATH
 PATH=.:$PATH
 
 pktio_main_path=$(which pktio_main${EXEEXT})
diff --git a/test/linux-generic/validation/api/pktio/pktio_run_dpdk.sh b/platform/linux-generic/test/validation/api/pktio/pktio_run_dpdk.sh
similarity index 96%
rename from test/linux-generic/validation/api/pktio/pktio_run_dpdk.sh
rename to platform/linux-generic/test/validation/api/pktio/pktio_run_dpdk.sh
index 3060dc003..f99d83635 100755
--- a/test/linux-generic/validation/api/pktio/pktio_run_dpdk.sh
+++ b/platform/linux-generic/test/validation/api/pktio/pktio_run_dpdk.sh
@@ -23,7 +23,7 @@
 # running stand alone out of tree requires setting PATH
 PATH=${TEST_DIR}/api/pktio:$PATH
 PATH=$(dirname $0):$PATH
-PATH=$(dirname $0)/../../../../common_plat/validation/api/pktio:$PATH
+PATH=$(dirname $0)/../../../../../../common_plat/validation/api/pktio:$PATH
 PATH=.:$PATH
 
 pktio_main_path=$(which pktio_main${EXEEXT})
diff --git a/test/linux-generic/validation/api/pktio/pktio_run_netmap.sh b/platform/linux-generic/test/validation/api/pktio/pktio_run_netmap.sh
similarity index 96%
rename from test/linux-generic/validation/api/pktio/pktio_run_netmap.sh
rename to platform/linux-generic/test/validation/api/pktio/pktio_run_netmap.sh
index 7dde7ae1c..bf4123767 100755
--- a/test/linux-generic/validation/api/pktio/pktio_run_netmap.sh
+++ b/platform/linux-generic/test/validation/api/pktio/pktio_run_netmap.sh
@@ -17,7 +17,7 @@
 # running stand alone out of tree requires setting PATH
 PATH=${TEST_DIR}/api/pktio:$PATH
 PATH=$(dirname $0):$PATH
-PATH=$(dirname $0)/../../../../common_plat/validation/api/pktio:$PATH
+PATH=$(dirname $0)/../../../../../../test/common_plat/validation/api/pktio:$PATH
 PATH=.:$PATH
 
 pktio_main_path=$(which pktio_main${EXEEXT})
diff --git a/test/linux-generic/validation/api/pktio/pktio_run_pcap.sh b/platform/linux-generic/test/validation/api/pktio/pktio_run_pcap.sh
similarity index 92%
rename from test/linux-generic/validation/api/pktio/pktio_run_pcap.sh
rename to platform/linux-generic/test/validation/api/pktio/pktio_run_pcap.sh
index b5b773548..4b5a0b3f1 100755
--- a/test/linux-generic/validation/api/pktio/pktio_run_pcap.sh
+++ b/platform/linux-generic/test/validation/api/pktio/pktio_run_pcap.sh
@@ -17,7 +17,7 @@
 # running stand alone out of tree requires setting PATH
 PATH=${TEST_DIR}/api/pktio:$PATH
 PATH=$(dirname $0):$PATH
-PATH=$(dirname $0)/../../../../common_plat/validation/api/pktio:$PATH
+PATH=$(dirname $0)/../../../../../../test/common_plat/validation/api/pktio:$PATH
 PATH=.:$PATH
 
 pktio_main_path=$(which pktio_main${EXEEXT})
diff --git a/test/linux-generic/validation/api/pktio/pktio_run_tap.sh b/platform/linux-generic/test/validation/api/pktio/pktio_run_tap.sh
similarity index 96%
rename from test/linux-generic/validation/api/pktio/pktio_run_tap.sh
rename to platform/linux-generic/test/validation/api/pktio/pktio_run_tap.sh
index 89579ca68..e5b72335d 100755
--- a/test/linux-generic/validation/api/pktio/pktio_run_tap.sh
+++ b/platform/linux-generic/test/validation/api/pktio/pktio_run_tap.sh
@@ -18,7 +18,7 @@
 # running stand alone out of tree requires setting PATH
 PATH=${TEST_DIR}/api/pktio:$PATH
 PATH=$(dirname $0):$PATH
-PATH=$(dirname $0)/../../../../common_plat/validation/api/pktio:$PATH
+PATH=$(dirname $0)/../../../../../../test/common_plat/validation/api/pktio:$PATH
 PATH=.:$PATH
 
 pktio_main_path=$(which pktio_main${EXEEXT})
diff --git a/test/linux-generic/validation/api/shmem/.gitignore b/platform/linux-generic/test/validation/api/shmem/.gitignore
similarity index 100%
rename from test/linux-generic/validation/api/shmem/.gitignore
rename to platform/linux-generic/test/validation/api/shmem/.gitignore
diff --git a/test/linux-generic/validation/api/shmem/Makefile.am b/platform/linux-generic/test/validation/api/shmem/Makefile.am
similarity index 100%
rename from test/linux-generic/validation/api/shmem/Makefile.am
rename to platform/linux-generic/test/validation/api/shmem/Makefile.am
diff --git a/test/linux-generic/validation/api/shmem/shmem_common.h b/platform/linux-generic/test/validation/api/shmem/shmem_common.h
similarity index 100%
rename from test/linux-generic/validation/api/shmem/shmem_common.h
rename to platform/linux-generic/test/validation/api/shmem/shmem_common.h
diff --git a/test/linux-generic/validation/api/shmem/shmem_linux.c b/platform/linux-generic/test/validation/api/shmem/shmem_linux.c
similarity index 100%
rename from test/linux-generic/validation/api/shmem/shmem_linux.c
rename to platform/linux-generic/test/validation/api/shmem/shmem_linux.c
diff --git a/test/linux-generic/validation/api/shmem/shmem_linux.h b/platform/linux-generic/test/validation/api/shmem/shmem_linux.h
similarity index 100%
rename from test/linux-generic/validation/api/shmem/shmem_linux.h
rename to platform/linux-generic/test/validation/api/shmem/shmem_linux.h
diff --git a/test/linux-generic/validation/api/shmem/shmem_odp1.c b/platform/linux-generic/test/validation/api/shmem/shmem_odp1.c
similarity index 100%
rename from test/linux-generic/validation/api/shmem/shmem_odp1.c
rename to platform/linux-generic/test/validation/api/shmem/shmem_odp1.c
diff --git a/test/linux-generic/validation/api/shmem/shmem_odp1.h b/platform/linux-generic/test/validation/api/shmem/shmem_odp1.h
similarity index 100%
rename from test/linux-generic/validation/api/shmem/shmem_odp1.h
rename to platform/linux-generic/test/validation/api/shmem/shmem_odp1.h
diff --git a/test/linux-generic/validation/api/shmem/shmem_odp2.c b/platform/linux-generic/test/validation/api/shmem/shmem_odp2.c
similarity index 100%
rename from test/linux-generic/validation/api/shmem/shmem_odp2.c
rename to platform/linux-generic/test/validation/api/shmem/shmem_odp2.c
diff --git a/test/linux-generic/validation/api/shmem/shmem_odp2.h b/platform/linux-generic/test/validation/api/shmem/shmem_odp2.h
similarity index 100%
rename from test/linux-generic/validation/api/shmem/shmem_odp2.h
rename to platform/linux-generic/test/validation/api/shmem/shmem_odp2.h
diff --git a/test/Makefile.am b/test/Makefile.am
index 3b5917329..67ae76aed 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1 +1 @@
-SUBDIRS = common_plat @with_platform@
+SUBDIRS = common_plat
diff --git a/test/common_plat/performance/odp_l2fwd_run.sh b/test/common_plat/performance/odp_l2fwd_run.sh
index 6871e4b07..b3148f81f 100755
--- a/test/common_plat/performance/odp_l2fwd_run.sh
+++ b/test/common_plat/performance/odp_l2fwd_run.sh
@@ -30,7 +30,7 @@ PATH=$TEST_DIR:$TEST_DIR/../../../example/generator:$PATH
 # exit codes expected by automake for skipped tests
 TEST_SKIPPED=77
 
-PLATFORM_VALIDATION=${TEST_SRC_DIR}/../../$ODP_PLATFORM/validation
+PLATFORM_VALIDATION=${TEST_SRC_DIR}/../../../platform/$ODP_PLATFORM/test/validation
 
 FLOOD_MODE=0
 
diff --git a/test/linux-generic/m4/configure.m4 b/test/linux-generic/m4/configure.m4
deleted file mode 100644
index 8746dabc8..000000000
--- a/test/linux-generic/m4/configure.m4
+++ /dev/null
@@ -1,9 +0,0 @@
-m4_include([test/linux-generic/m4/performance.m4])
-
-AC_CONFIG_FILES([test/linux-generic/Makefile
-		 test/linux-generic/validation/api/shmem/Makefile
-		 test/linux-generic/validation/api/pktio/Makefile
-		 test/linux-generic/mmap_vlan_ins/Makefile
-		 test/linux-generic/pktio_ipc/Makefile
-		 test/linux-generic/ring/Makefile
-		 test/linux-generic/performance/Makefile])
diff --git a/test/linux-generic/validation/Makefile.inc b/test/linux-generic/validation/Makefile.inc
deleted file mode 100644
index cf1dedb9f..000000000
--- a/test/linux-generic/validation/Makefile.inc
+++ /dev/null
@@ -1 +0,0 @@
-include $(top_srcdir)/test/linux-generic/Makefile.inc
diff --git a/test/linux-generic/validation/api/Makefile.inc b/test/linux-generic/validation/api/Makefile.inc
deleted file mode 100644
index 19c9448c0..000000000
--- a/test/linux-generic/validation/api/Makefile.inc
+++ /dev/null
@@ -1 +0,0 @@
-include $(top_srcdir)/test/linux-generic/validation/Makefile.inc
diff --git a/test_common/Makefile.am b/test_common/Makefile.am
index 4d6413eda..3262a6ce1 100644
--- a/test_common/Makefile.am
+++ b/test_common/Makefile.am
@@ -1,6 +1,16 @@
 if cunit_support
 
-include $(top_srcdir)/test/Makefile.inc
+AM_CPPFLAGS = \
+	-I$(top_builddir)/platform/@with_platform@/include \
+	-I$(top_srcdir)/helper/include \
+	-I$(top_srcdir)/include \
+	-I$(top_srcdir)/include/odp/arch/@ARCH_ABI@ \
+	-I$(top_srcdir)/platform/@with_platform@/include \
+	-I$(top_srcdir)/platform/@with_platform@/arch/@ARCH_DIR@ \
+	-I$(top_builddir)/include \
+	-I$(top_srcdir)/helper
+
+AM_CFLAGS = $(CUNIT_CFLAGS)
 
 noinst_LTLIBRARIES = libcunit_common.la libcpumask_common.la libthrmask_common.la
 
