diff --git a/GNUmakefile b/GNUmakefile
index ae80720e9..e8de422df 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -13,6 +13,5 @@ export RTE_SDK
 #
 
 ROOTDIRS-y := buildtools lib kernel drivers app
-ROOTDIRS-  := test
 
 include $(RTE_SDK)/mk/rte.sdkroot.mk
diff --git a/MAINTAINERS b/MAINTAINERS
index 6d1d0aea7..7de1f50cf 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -143,27 +143,27 @@ F: lib/librte_eal/common/include/*
 F: lib/librte_eal/common/include/generic/
 F: lib/librte_eal/rte_eal_version.map
 F: doc/guides/prog_guide/env_abstraction_layer.rst
-F: test/test/test_alarm.c
-F: test/test/test_atomic.c
-F: test/test/test_barrier.c
-F: test/test/test_byteorder.c
-F: test/test/test_common.c
-F: test/test/test_cpuflags.c
-F: test/test/test_cycles.c
-F: test/test/test_debug.c
-F: test/test/test_eal*
-F: test/test/test_errno.c
-F: test/test/test_interrupts.c
-F: test/test/test_logs.c
-F: test/test/test_memcpy*
-F: test/test/test_per_lcore.c
-F: test/test/test_prefetch.c
-F: test/test/test_reciprocal_division*
-F: test/test/test_rwlock.c
-F: test/test/test_spinlock.c
-F: test/test/test_string_fns.c
-F: test/test/test_tailq.c
-F: test/test/test_version.c
+F: app/test/test_alarm.c
+F: app/test/test_atomic.c
+F: app/test/test_barrier.c
+F: app/test/test_byteorder.c
+F: app/test/test_common.c
+F: app/test/test_cpuflags.c
+F: app/test/test_cycles.c
+F: app/test/test_debug.c
+F: app/test/test_eal*
+F: app/test/test_errno.c
+F: app/test/test_interrupts.c
+F: app/test/test_logs.c
+F: app/test/test_memcpy*
+F: app/test/test_per_lcore.c
+F: app/test/test_prefetch.c
+F: app/test/test_reciprocal_division*
+F: app/test/test_rwlock.c
+F: app/test/test_spinlock.c
+F: app/test/test_string_fns.c
+F: app/test/test_tailq.c
+F: app/test/test_version.c
 
 Memory Allocation
 M: Anatoly Burakov <anatoly.burakov@intel.com>
@@ -177,12 +177,12 @@ F: lib/librte_eal/common/eal_hugepages.h
 F: lib/librte_eal/linuxapp/eal/eal_mem*
 F: lib/librte_eal/bsdapp/eal/eal_mem*
 F: doc/guides/prog_guide/env_abstraction_layer.rst
-F: test/test/test_external_mem.c
-F: test/test/test_func_reentrancy.c
-F: test/test/test_fbarray.c
-F: test/test/test_malloc.c
-F: test/test/test_memory.c
-F: test/test/test_memzone.c
+F: app/test/test_external_mem.c
+F: app/test/test_func_reentrancy.c
+F: app/test/test_fbarray.c
+F: app/test/test_malloc.c
+F: app/test/test_memory.c
+F: app/test/test_memzone.c
 
 Keep alive
 M: Remy Horton <remy.horton@intel.com>
@@ -195,7 +195,7 @@ Secondary process
 M: Anatoly Burakov <anatoly.burakov@intel.com>
 K: RTE_PROC_
 F: doc/guides/prog_guide/multi_proc_support.rst
-F: test/test/test_mp_secondary.c
+F: app/test/test_mp_secondary.c
 F: examples/multi_process/
 F: doc/guides/sample_app_ug/multi_process.rst
 
@@ -205,12 +205,12 @@ F: lib/librte_eal/common/include/rte_service.h
 F: lib/librte_eal/common/include/rte_service_component.h
 F: lib/librte_eal/common/rte_service.c
 F: doc/guides/prog_guide/service_cores.rst
-F: test/test/test_service_cores.c
+F: app/test/test_service_cores.c
 
 Bitmap
 M: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
 F: lib/librte_eal/common/include/rte_bitmap.h
-F: test/test/test_bitmap.c
+F: app/test/test_bitmap.c
 
 ARM v7
 M: Jan Viktorin <viktorin@rehivetech.com>
@@ -286,21 +286,21 @@ F: drivers/mempool/Makefile
 F: drivers/mempool/ring/
 F: drivers/mempool/stack/
 F: doc/guides/prog_guide/mempool_lib.rst
-F: test/test/test_mempool*
-F: test/test/test_func_reentrancy.c
+F: app/test/test_mempool*
+F: app/test/test_func_reentrancy.c
 
 Ring queue
 M: Olivier Matz <olivier.matz@6wind.com>
 F: lib/librte_ring/
 F: doc/guides/prog_guide/ring_lib.rst
-F: test/test/test_ring*
-F: test/test/test_func_reentrancy.c
+F: app/test/test_ring*
+F: app/test/test_func_reentrancy.c
 
 Packet buffer
 M: Olivier Matz <olivier.matz@6wind.com>
 F: lib/librte_mbuf/
 F: doc/guides/prog_guide/mbuf_lib.rst
-F: test/test/test_mbuf.c
+F: app/test/test_mbuf.c
 
 Ethernet API
 M: Thomas Monjalon <thomas@monjalon.net>
@@ -343,7 +343,7 @@ M: Pablo de Lara <pablo.de.lara.guarch@intel.com>
 M: Declan Doherty <declan.doherty@intel.com>
 T: git://dpdk.org/next/dpdk-next-crypto
 F: lib/librte_cryptodev/
-F: test/test/test_cryptodev*
+F: app/test/test_cryptodev*
 F: examples/l2fwd-crypto/
 
 Security API
@@ -360,7 +360,7 @@ M: Ashish Gupta <ashish.gupta@marvell.com>
 T: git://dpdk.org/next/dpdk-next-crypto
 F: lib/librte_compressdev/
 F: drivers/compress/
-F: test/test/test_compressdev*
+F: app/test/test_compressdev*
 F: doc/guides/prog_guide/compressdev.rst
 F: doc/guides/compressdevs/features/default.ini
 
@@ -369,34 +369,34 @@ M: Jerin Jacob <jerinj@marvell.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/
 F: drivers/event/skeleton/
-F: test/test/test_eventdev.c
+F: app/test/test_eventdev.c
 
 Eventdev Ethdev Rx Adapter API - EXPERIMENTAL
 M: Nikhil Rao <nikhil.rao@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*eth_rx_adapter*
-F: test/test/test_event_eth_rx_adapter.c
+F: app/test/test_event_eth_rx_adapter.c
 F: doc/guides/prog_guide/event_ethernet_rx_adapter.rst
 
 Eventdev Ethdev Tx Adapter API - EXPERIMENTAL
 M: Nikhil Rao <nikhil.rao@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*eth_tx_adapter*
-F: test/test/test_event_eth_tx_adapter.c
+F: app/test/test_event_eth_tx_adapter.c
 F: doc/guides/prog_guide/event_ethernet_tx_adapter.rst
 
 Eventdev Timer Adapter API - EXPERIMENTAL
 M: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*timer_adapter*
-F: test/test/test_event_timer_adapter.c
+F: app/test/test_event_timer_adapter.c
 F: doc/guides/prog_guide/event_timer_adapter.rst
 
 Eventdev Crypto Adapter API - EXPERIMENTAL
 M: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*crypto_adapter*
-F: test/test/test_event_crypto_adapter.c
+F: app/test/test_event_crypto_adapter.c
 F: doc/guides/prog_guide/event_crypto_adapter.rst
 
 Raw device API - EXPERIMENTAL
@@ -404,7 +404,7 @@ M: Shreyansh Jain <shreyansh.jain@nxp.com>
 M: Hemant Agrawal <hemant.agrawal@nxp.com>
 F: lib/librte_rawdev/
 F: drivers/raw/skeleton_rawdev/
-F: test/test/test_rawdev.c
+F: app/test/test_rawdev.c
 F: doc/guides/prog_guide/rawdev.rst
 
 
@@ -452,7 +452,7 @@ Link bonding
 M: Chas Williams <chas3@att.com>
 F: drivers/net/bonding/
 F: doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
-F: test/test/test_link_bonding*
+F: app/test/test_link_bonding*
 F: examples/bond/
 F: doc/guides/nics/features/bonding.ini
 
@@ -461,7 +461,7 @@ M: Ferruh Yigit <ferruh.yigit@intel.com>
 F: kernel/linux/kni/
 F: lib/librte_kni/
 F: doc/guides/prog_guide/kernel_nic_interface.rst
-F: test/test/test_kni.c
+F: app/test/test_kni.c
 F: examples/kni/
 F: doc/guides/sample_app_ug/kernel_nic_interface.rst
 
@@ -770,8 +770,8 @@ Ring PMD
 M: Bruce Richardson <bruce.richardson@intel.com>
 F: drivers/net/ring/
 F: doc/guides/nics/pcap_ring.rst
-F: test/test/test_pmd_ring.c
-F: test/test/test_pmd_ring_perf.c
+F: app/test/test_pmd_ring.c
+F: app/test/test_pmd_ring_perf.c
 F: doc/guides/nics/features/ring.ini
 
 Null Networking PMD
@@ -1015,7 +1015,7 @@ Packet CRC
 M: Jasvinder Singh <jasvinder.singh@intel.com>
 F: lib/librte_net/rte_net_crc*
 F: lib/librte_net/net_crc_sse.h
-F: test/test/test_crc.c
+F: app/test/test_crc.c
 
 IP fragmentation & reassembly
 M: Konstantin Ananyev <konstantin.ananyev@intel.com>
@@ -1041,13 +1041,13 @@ M: Konstantin Ananyev <konstantin.ananyev@intel.com>
 T: git://dpdk.org/next/dpdk-next-crypto
 F: lib/librte_ipsec/
 M: Bernard Iremonger <bernard.iremonger@intel.com>
-F: test/test/test_ipsec.c
+F: app/test/test_ipsec.c
 F: doc/guides/prog_guide/ipsec_lib.rst
 
 Flow Classify - EXPERIMENTAL
 M: Bernard Iremonger <bernard.iremonger@intel.com>
 F: lib/librte_flow_classify/
-F: test/test/test_flow_classify*
+F: app/test/test_flow_classify*
 F: doc/guides/prog_guide/flow_classify_lib.rst
 F: examples/flow_classify/
 F: doc/guides/sample_app_ug/flow_classify.rst
@@ -1056,7 +1056,7 @@ Distributor
 M: David Hunt <david.hunt@intel.com>
 F: lib/librte_distributor/
 F: doc/guides/prog_guide/packet_distrib_lib.rst
-F: test/test/test_distributor*
+F: app/test/test_distributor*
 F: examples/distributor/
 F: doc/guides/sample_app_ug/dist_app.rst
 
@@ -1064,7 +1064,7 @@ Reorder
 M: Reshma Pattan <reshma.pattan@intel.com>
 F: lib/librte_reorder/
 F: doc/guides/prog_guide/reorder_lib.rst
-F: test/test/test_reorder*
+F: app/test/test_reorder*
 F: examples/packet_ordering/
 F: doc/guides/sample_app_ug/packet_ordering.rst
 
@@ -1072,8 +1072,8 @@ Hierarchical scheduler
 M: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
 F: lib/librte_sched/
 F: doc/guides/prog_guide/qos_framework.rst
-F: test/test/test_red.c
-F: test/test/test_sched.c
+F: app/test/test_red.c
+F: app/test/test_sched.c
 F: examples/qos_sched/
 F: doc/guides/sample_app_ug/qos_scheduler.rst
 
@@ -1081,7 +1081,7 @@ Packet capture
 M: Reshma Pattan <reshma.pattan@intel.com>
 F: lib/librte_pdump/
 F: doc/guides/prog_guide/pdump_lib.rst
-F: test/test/test_pdump.*
+F: app/test/test_pdump.*
 F: app/pdump/
 F: doc/guides/tools/pdump.rst
 
@@ -1093,7 +1093,7 @@ F: lib/librte_pipeline/
 F: lib/librte_port/
 F: lib/librte_table/
 F: doc/guides/prog_guide/packet_framework.rst
-F: test/test/test_table*
+F: app/test/test_table*
 F: app/test-pipeline/
 F: doc/guides/sample_app_ug/test_pipeline.rst
 F: examples/ip_pipeline/
@@ -1108,7 +1108,7 @@ M: Konstantin Ananyev <konstantin.ananyev@intel.com>
 F: lib/librte_acl/
 F: doc/guides/prog_guide/packet_classif_access_ctrl.rst
 F: app/test-acl/
-F: test/test/test_acl.*
+F: app/test/test_acl.*
 F: examples/l3fwd-acl/
 F: doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
 
@@ -1117,7 +1117,7 @@ M: Byron Marohn <byron.marohn@intel.com>
 M: Pablo de Lara Guarch <pablo.de.lara.guarch@intel.com>
 F: lib/librte_efd/
 F: doc/guides/prog_guide/efd_lib.rst
-F: test/test/test_efd*
+F: app/test/test_efd*
 F: examples/server_node_efd/
 F: doc/guides/sample_app_ug/server_node_efd.rst
 
@@ -1128,30 +1128,30 @@ M: Bruce Richardson <bruce.richardson@intel.com>
 M: Pablo de Lara <pablo.de.lara.guarch@intel.com>
 F: lib/librte_hash/
 F: doc/guides/prog_guide/hash_lib.rst
-F: test/test/test_*hash*
-F: test/test/test_func_reentrancy.c
+F: app/test/test_*hash*
+F: app/test/test_func_reentrancy.c
 
 LPM
 M: Bruce Richardson <bruce.richardson@intel.com>
 M: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
 F: lib/librte_lpm/
 F: doc/guides/prog_guide/lpm*
-F: test/test/test_lpm*
-F: test/test/test_func_reentrancy.c
-F: test/test/test_xmmt_ops.h
+F: app/test/test_lpm*
+F: app/test/test_func_reentrancy.c
+F: app/test/test_xmmt_ops.h
 
 Membership - EXPERIMENTAL
 M: Yipeng Wang <yipeng1.wang@intel.com>
 M: Sameh Gobriel <sameh.gobriel@intel.com>
 F: lib/librte_member/
 F: doc/guides/prog_guide/member_lib.rst
-F: test/test/test_member*
+F: app/test/test_member*
 
 Traffic metering
 M: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
 F: lib/librte_meter/
 F: doc/guides/sample_app_ug/qos_scheduler.rst
-F: test/test/test_meter.c
+F: app/test/test_meter.c
 F: examples/qos_meter/
 F: doc/guides/sample_app_ug/qos_metering.rst
 
@@ -1162,21 +1162,21 @@ Other libraries
 Configuration file
 M: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
 F: lib/librte_cfgfile/
-F: test/test/test_cfgfile.c
-F: test/test/test_cfgfiles/
+F: app/test/test_cfgfile.c
+F: app/test/test_cfgfiles/
 
 Interactive command line
 M: Olivier Matz <olivier.matz@6wind.com>
 F: lib/librte_cmdline/
 F: app/cmdline_test/
-F: test/test/test_cmdline*
+F: app/test/test_cmdline*
 F: examples/cmdline/
 F: doc/guides/sample_app_ug/cmd_line.rst
 
 Key/Value parsing
 M: Olivier Matz <olivier.matz@6wind.com>
 F: lib/librte_kvargs/
-F: test/test/test_kvargs.c
+F: app/test/test_kvargs.c
 
 PCI
 M: Gaetan Rivet <gaetan.rivet@6wind.com>
@@ -1186,7 +1186,7 @@ Power management
 M: David Hunt <david.hunt@intel.com>
 F: lib/librte_power/
 F: doc/guides/prog_guide/power_man.rst
-F: test/test/test_power*
+F: app/test/test_power*
 F: examples/l3fwd-power/
 F: doc/guides/sample_app_ug/l3_forward_power_man.rst
 F: examples/vm_power_manager/
@@ -1196,7 +1196,7 @@ Timers
 M: Robert Sanford <rsanford@akamai.com>
 F: lib/librte_timer/
 F: doc/guides/prog_guide/timer_lib.rst
-F: test/test/test_timer*
+F: app/test/test_timer*
 F: examples/timer/
 F: doc/guides/sample_app_ug/timer.rst
 
@@ -1209,17 +1209,17 @@ F: doc/guides/sample_app_ug/l2_forward_job_stats.rst
 Metrics
 M: Remy Horton <remy.horton@intel.com>
 F: lib/librte_metrics/
-F: test/test/test_metrics.c
+F: app/test/test_metrics.c
 
 Bit-rate statistics
 M: Remy Horton <remy.horton@intel.com>
 F: lib/librte_bitratestats/
-F: test/test/test_bitratestats.c
+F: app/test/test_bitratestats.c
 
 Latency statistics
 M: Reshma Pattan <reshma.pattan@intel.com>
 F: lib/librte_latencystats/
-F: test/test/test_latencystats.c
+F: app/test/test_latencystats.c
 
 Telemetry - EXPERIMENTAL
 M: Kevin Laatz <kevin.laatz@intel.com>
@@ -1231,7 +1231,7 @@ BPF - EXPERIMENTAL
 M: Konstantin Ananyev <konstantin.ananyev@intel.com>
 F: lib/librte_bpf/
 F: examples/bpf/
-F: test/test/test_bpf.c
+F: app/test/test_bpf.c
 F: doc/guides/prog_guide/bpf_lib.rst
 
 
@@ -1240,24 +1240,24 @@ Test Applications
 
 Unit tests framework
 F: test/Makefile
-F: test/test/Makefile
-F: test/test/autotest*
-F: test/test/commands.c
-F: test/test/packet_burst_generator.c
-F: test/test/packet_burst_generator.h
-F: test/test/process.h
-F: test/test/resource.*
-F: test/test/test.c
-F: test/test/test.h
-F: test/test/test_pmd_perf.c
-F: test/test/test_resource.c
-F: test/test/virtual_pmd.c
-F: test/test/virtual_pmd.h
+F: app/test/Makefile
+F: app/test/autotest*
+F: app/test/commands.c
+F: app/test/packet_burst_generator.c
+F: app/test/packet_burst_generator.h
+F: app/test/process.h
+F: app/test/resource.*
+F: app/test/test.c
+F: app/test/test.h
+F: app/test/test_pmd_perf.c
+F: app/test/test_resource.c
+F: app/test/virtual_pmd.c
+F: app/test/virtual_pmd.h
 
 Sample packet helper functions for unit test
 M: Reshma Pattan <reshma.pattan@intel.com>
-F: test/test/sample_packet_forward.c
-F: test/test/sample_packet_forward.h
+F: app/test/sample_packet_forward.c
+F: app/test/sample_packet_forward.h
 
 Driver testing tool
 M: Wenzhuo Lu <wenzhuo.lu@intel.com>
@@ -1281,7 +1281,7 @@ M: Jerin Jacob <jerinj@marvell.com>
 F: app/test-eventdev/
 F: doc/guides/tools/testeventdev.rst
 F: doc/guides/tools/img/eventdev_*
-F: test/test/test_event_ring.c
+F: app/test/test_event_ring.c
 
 Procinfo tool
 M: Maryam Tahhan <maryam.tahhan@intel.com>
diff --git a/app/Makefile b/app/Makefile
index 2940ac38f..f465b88cf 100644
--- a/app/Makefile
+++ b/app/Makefile
@@ -3,6 +3,7 @@
 
 include $(RTE_SDK)/mk/rte.vars.mk
 
+DIRS-$(CONFIG_RTE_APP_TEST) += test
 DIRS-$(CONFIG_RTE_TEST_PMD) += test-pmd
 DIRS-$(CONFIG_RTE_PROC_INFO) += proc-info
 DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += pdump
diff --git a/app/meson.build b/app/meson.build
index 6053af7c1..6fe6a2e3f 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -64,3 +64,6 @@ foreach app:apps
 				install: true)
 	endif
 endforeach
+
+# special case the autotests
+subdir('test')
diff --git a/test/test/Makefile b/app/test/Makefile
similarity index 100%
rename from test/test/Makefile
rename to app/test/Makefile
diff --git a/test/test/autotest.py b/app/test/autotest.py
similarity index 100%
rename from test/test/autotest.py
rename to app/test/autotest.py
diff --git a/test/test/autotest_data.py b/app/test/autotest_data.py
similarity index 100%
rename from test/test/autotest_data.py
rename to app/test/autotest_data.py
diff --git a/test/test/autotest_runner.py b/app/test/autotest_runner.py
similarity index 100%
rename from test/test/autotest_runner.py
rename to app/test/autotest_runner.py
diff --git a/test/test/autotest_test_funcs.py b/app/test/autotest_test_funcs.py
similarity index 100%
rename from test/test/autotest_test_funcs.py
rename to app/test/autotest_test_funcs.py
diff --git a/test/test/commands.c b/app/test/commands.c
similarity index 100%
rename from test/test/commands.c
rename to app/test/commands.c
diff --git a/test/test/meson.build b/app/test/meson.build
similarity index 100%
rename from test/test/meson.build
rename to app/test/meson.build
diff --git a/test/test/packet_burst_generator.c b/app/test/packet_burst_generator.c
similarity index 100%
rename from test/test/packet_burst_generator.c
rename to app/test/packet_burst_generator.c
diff --git a/test/test/packet_burst_generator.h b/app/test/packet_burst_generator.h
similarity index 100%
rename from test/test/packet_burst_generator.h
rename to app/test/packet_burst_generator.h
diff --git a/test/test/process.h b/app/test/process.h
similarity index 100%
rename from test/test/process.h
rename to app/test/process.h
diff --git a/test/test/resource.c b/app/test/resource.c
similarity index 100%
rename from test/test/resource.c
rename to app/test/resource.c
diff --git a/test/test/resource.h b/app/test/resource.h
similarity index 100%
rename from test/test/resource.h
rename to app/test/resource.h
diff --git a/test/test/sample_packet_forward.c b/app/test/sample_packet_forward.c
similarity index 100%
rename from test/test/sample_packet_forward.c
rename to app/test/sample_packet_forward.c
diff --git a/test/test/sample_packet_forward.h b/app/test/sample_packet_forward.h
similarity index 100%
rename from test/test/sample_packet_forward.h
rename to app/test/sample_packet_forward.h
diff --git a/test/test/test.c b/app/test/test.c
similarity index 100%
rename from test/test/test.c
rename to app/test/test.c
diff --git a/test/test/test.h b/app/test/test.h
similarity index 100%
rename from test/test/test.h
rename to app/test/test.h
diff --git a/test/test/test_acl.c b/app/test/test_acl.c
similarity index 100%
rename from test/test/test_acl.c
rename to app/test/test_acl.c
diff --git a/test/test/test_acl.h b/app/test/test_acl.h
similarity index 100%
rename from test/test/test_acl.h
rename to app/test/test_acl.h
diff --git a/test/test/test_alarm.c b/app/test/test_alarm.c
similarity index 100%
rename from test/test/test_alarm.c
rename to app/test/test_alarm.c
diff --git a/test/test/test_atomic.c b/app/test/test_atomic.c
similarity index 100%
rename from test/test/test_atomic.c
rename to app/test/test_atomic.c
diff --git a/test/test/test_barrier.c b/app/test/test_barrier.c
similarity index 100%
rename from test/test/test_barrier.c
rename to app/test/test_barrier.c
diff --git a/test/test/test_bitmap.c b/app/test/test_bitmap.c
similarity index 100%
rename from test/test/test_bitmap.c
rename to app/test/test_bitmap.c
diff --git a/test/test/test_bitratestats.c b/app/test/test_bitratestats.c
similarity index 100%
rename from test/test/test_bitratestats.c
rename to app/test/test_bitratestats.c
diff --git a/test/test/test_bpf.c b/app/test/test_bpf.c
similarity index 100%
rename from test/test/test_bpf.c
rename to app/test/test_bpf.c
diff --git a/test/test/test_byteorder.c b/app/test/test_byteorder.c
similarity index 100%
rename from test/test/test_byteorder.c
rename to app/test/test_byteorder.c
diff --git a/test/test/test_cfgfile.c b/app/test/test_cfgfile.c
similarity index 100%
rename from test/test/test_cfgfile.c
rename to app/test/test_cfgfile.c
diff --git a/test/test/test_cfgfiles/etc/empty.ini b/app/test/test_cfgfiles/etc/empty.ini
similarity index 100%
rename from test/test/test_cfgfiles/etc/empty.ini
rename to app/test/test_cfgfiles/etc/empty.ini
diff --git a/test/test/test_cfgfiles/etc/empty_key_value.ini b/app/test/test_cfgfiles/etc/empty_key_value.ini
similarity index 100%
rename from test/test/test_cfgfiles/etc/empty_key_value.ini
rename to app/test/test_cfgfiles/etc/empty_key_value.ini
diff --git a/test/test/test_cfgfiles/etc/invalid_section.ini b/app/test/test_cfgfiles/etc/invalid_section.ini
similarity index 100%
rename from test/test/test_cfgfiles/etc/invalid_section.ini
rename to app/test/test_cfgfiles/etc/invalid_section.ini
diff --git a/test/test/test_cfgfiles/etc/line_too_long.ini b/app/test/test_cfgfiles/etc/line_too_long.ini
similarity index 100%
rename from test/test/test_cfgfiles/etc/line_too_long.ini
rename to app/test/test_cfgfiles/etc/line_too_long.ini
diff --git a/test/test/test_cfgfiles/etc/missing_section.ini b/app/test/test_cfgfiles/etc/missing_section.ini
similarity index 100%
rename from test/test/test_cfgfiles/etc/missing_section.ini
rename to app/test/test_cfgfiles/etc/missing_section.ini
diff --git a/test/test/test_cfgfiles/etc/realloc_sections.ini b/app/test/test_cfgfiles/etc/realloc_sections.ini
similarity index 100%
rename from test/test/test_cfgfiles/etc/realloc_sections.ini
rename to app/test/test_cfgfiles/etc/realloc_sections.ini
diff --git a/test/test/test_cfgfiles/etc/sample1.ini b/app/test/test_cfgfiles/etc/sample1.ini
similarity index 100%
rename from test/test/test_cfgfiles/etc/sample1.ini
rename to app/test/test_cfgfiles/etc/sample1.ini
diff --git a/test/test/test_cfgfiles/etc/sample2.ini b/app/test/test_cfgfiles/etc/sample2.ini
similarity index 100%
rename from test/test/test_cfgfiles/etc/sample2.ini
rename to app/test/test_cfgfiles/etc/sample2.ini
diff --git a/test/test/test_cmdline.c b/app/test/test_cmdline.c
similarity index 100%
rename from test/test/test_cmdline.c
rename to app/test/test_cmdline.c
diff --git a/test/test/test_cmdline.h b/app/test/test_cmdline.h
similarity index 100%
rename from test/test/test_cmdline.h
rename to app/test/test_cmdline.h
diff --git a/test/test/test_cmdline_cirbuf.c b/app/test/test_cmdline_cirbuf.c
similarity index 100%
rename from test/test/test_cmdline_cirbuf.c
rename to app/test/test_cmdline_cirbuf.c
diff --git a/test/test/test_cmdline_etheraddr.c b/app/test/test_cmdline_etheraddr.c
similarity index 100%
rename from test/test/test_cmdline_etheraddr.c
rename to app/test/test_cmdline_etheraddr.c
diff --git a/test/test/test_cmdline_ipaddr.c b/app/test/test_cmdline_ipaddr.c
similarity index 100%
rename from test/test/test_cmdline_ipaddr.c
rename to app/test/test_cmdline_ipaddr.c
diff --git a/test/test/test_cmdline_lib.c b/app/test/test_cmdline_lib.c
similarity index 100%
rename from test/test/test_cmdline_lib.c
rename to app/test/test_cmdline_lib.c
diff --git a/test/test/test_cmdline_num.c b/app/test/test_cmdline_num.c
similarity index 100%
rename from test/test/test_cmdline_num.c
rename to app/test/test_cmdline_num.c
diff --git a/test/test/test_cmdline_portlist.c b/app/test/test_cmdline_portlist.c
similarity index 100%
rename from test/test/test_cmdline_portlist.c
rename to app/test/test_cmdline_portlist.c
diff --git a/test/test/test_cmdline_string.c b/app/test/test_cmdline_string.c
similarity index 100%
rename from test/test/test_cmdline_string.c
rename to app/test/test_cmdline_string.c
diff --git a/test/test/test_common.c b/app/test/test_common.c
similarity index 100%
rename from test/test/test_common.c
rename to app/test/test_common.c
diff --git a/test/test/test_compressdev.c b/app/test/test_compressdev.c
similarity index 100%
rename from test/test/test_compressdev.c
rename to app/test/test_compressdev.c
diff --git a/test/test/test_compressdev_test_buffer.h b/app/test/test_compressdev_test_buffer.h
similarity index 100%
rename from test/test/test_compressdev_test_buffer.h
rename to app/test/test_compressdev_test_buffer.h
diff --git a/test/test/test_cpuflags.c b/app/test/test_cpuflags.c
similarity index 100%
rename from test/test/test_cpuflags.c
rename to app/test/test_cpuflags.c
diff --git a/test/test/test_crc.c b/app/test/test_crc.c
similarity index 100%
rename from test/test/test_crc.c
rename to app/test/test_crc.c
diff --git a/test/test/test_cryptodev.c b/app/test/test_cryptodev.c
similarity index 100%
rename from test/test/test_cryptodev.c
rename to app/test/test_cryptodev.c
diff --git a/test/test/test_cryptodev.h b/app/test/test_cryptodev.h
similarity index 100%
rename from test/test/test_cryptodev.h
rename to app/test/test_cryptodev.h
diff --git a/test/test/test_cryptodev_aead_test_vectors.h b/app/test/test_cryptodev_aead_test_vectors.h
similarity index 100%
rename from test/test/test_cryptodev_aead_test_vectors.h
rename to app/test/test_cryptodev_aead_test_vectors.h
diff --git a/test/test/test_cryptodev_aes_test_vectors.h b/app/test/test_cryptodev_aes_test_vectors.h
similarity index 100%
rename from test/test/test_cryptodev_aes_test_vectors.h
rename to app/test/test_cryptodev_aes_test_vectors.h
diff --git a/test/test/test_cryptodev_asym.c b/app/test/test_cryptodev_asym.c
similarity index 100%
rename from test/test/test_cryptodev_asym.c
rename to app/test/test_cryptodev_asym.c
diff --git a/test/test/test_cryptodev_asym_util.h b/app/test/test_cryptodev_asym_util.h
similarity index 100%
rename from test/test/test_cryptodev_asym_util.h
rename to app/test/test_cryptodev_asym_util.h
diff --git a/test/test/test_cryptodev_blockcipher.c b/app/test/test_cryptodev_blockcipher.c
similarity index 100%
rename from test/test/test_cryptodev_blockcipher.c
rename to app/test/test_cryptodev_blockcipher.c
diff --git a/test/test/test_cryptodev_blockcipher.h b/app/test/test_cryptodev_blockcipher.h
similarity index 100%
rename from test/test/test_cryptodev_blockcipher.h
rename to app/test/test_cryptodev_blockcipher.h
diff --git a/test/test/test_cryptodev_des_test_vectors.h b/app/test/test_cryptodev_des_test_vectors.h
similarity index 100%
rename from test/test/test_cryptodev_des_test_vectors.h
rename to app/test/test_cryptodev_des_test_vectors.h
diff --git a/test/test/test_cryptodev_dh_test_vectors.h b/app/test/test_cryptodev_dh_test_vectors.h
similarity index 100%
rename from test/test/test_cryptodev_dh_test_vectors.h
rename to app/test/test_cryptodev_dh_test_vectors.h
diff --git a/test/test/test_cryptodev_dsa_test_vectors.h b/app/test/test_cryptodev_dsa_test_vectors.h
similarity index 100%
rename from test/test/test_cryptodev_dsa_test_vectors.h
rename to app/test/test_cryptodev_dsa_test_vectors.h
diff --git a/test/test/test_cryptodev_hash_test_vectors.h b/app/test/test_cryptodev_hash_test_vectors.h
similarity index 100%
rename from test/test/test_cryptodev_hash_test_vectors.h
rename to app/test/test_cryptodev_hash_test_vectors.h
diff --git a/test/test/test_cryptodev_hmac_test_vectors.h b/app/test/test_cryptodev_hmac_test_vectors.h
similarity index 100%
rename from test/test/test_cryptodev_hmac_test_vectors.h
rename to app/test/test_cryptodev_hmac_test_vectors.h
diff --git a/test/test/test_cryptodev_kasumi_hash_test_vectors.h b/app/test/test_cryptodev_kasumi_hash_test_vectors.h
similarity index 100%
rename from test/test/test_cryptodev_kasumi_hash_test_vectors.h
rename to app/test/test_cryptodev_kasumi_hash_test_vectors.h
diff --git a/test/test/test_cryptodev_kasumi_test_vectors.h b/app/test/test_cryptodev_kasumi_test_vectors.h
similarity index 100%
rename from test/test/test_cryptodev_kasumi_test_vectors.h
rename to app/test/test_cryptodev_kasumi_test_vectors.h
diff --git a/test/test/test_cryptodev_mod_test_vectors.h b/app/test/test_cryptodev_mod_test_vectors.h
similarity index 100%
rename from test/test/test_cryptodev_mod_test_vectors.h
rename to app/test/test_cryptodev_mod_test_vectors.h
diff --git a/test/test/test_cryptodev_rsa_test_vectors.h b/app/test/test_cryptodev_rsa_test_vectors.h
similarity index 100%
rename from test/test/test_cryptodev_rsa_test_vectors.h
rename to app/test/test_cryptodev_rsa_test_vectors.h
diff --git a/test/test/test_cryptodev_snow3g_hash_test_vectors.h b/app/test/test_cryptodev_snow3g_hash_test_vectors.h
similarity index 100%
rename from test/test/test_cryptodev_snow3g_hash_test_vectors.h
rename to app/test/test_cryptodev_snow3g_hash_test_vectors.h
diff --git a/test/test/test_cryptodev_snow3g_test_vectors.h b/app/test/test_cryptodev_snow3g_test_vectors.h
similarity index 100%
rename from test/test/test_cryptodev_snow3g_test_vectors.h
rename to app/test/test_cryptodev_snow3g_test_vectors.h
diff --git a/test/test/test_cryptodev_zuc_test_vectors.h b/app/test/test_cryptodev_zuc_test_vectors.h
similarity index 100%
rename from test/test/test_cryptodev_zuc_test_vectors.h
rename to app/test/test_cryptodev_zuc_test_vectors.h
diff --git a/test/test/test_cycles.c b/app/test/test_cycles.c
similarity index 100%
rename from test/test/test_cycles.c
rename to app/test/test_cycles.c
diff --git a/test/test/test_debug.c b/app/test/test_debug.c
similarity index 100%
rename from test/test/test_debug.c
rename to app/test/test_debug.c
diff --git a/test/test/test_distributor.c b/app/test/test_distributor.c
similarity index 100%
rename from test/test/test_distributor.c
rename to app/test/test_distributor.c
diff --git a/test/test/test_distributor_perf.c b/app/test/test_distributor_perf.c
similarity index 100%
rename from test/test/test_distributor_perf.c
rename to app/test/test_distributor_perf.c
diff --git a/test/test/test_eal_flags.c b/app/test/test_eal_flags.c
similarity index 100%
rename from test/test/test_eal_flags.c
rename to app/test/test_eal_flags.c
diff --git a/test/test/test_eal_fs.c b/app/test/test_eal_fs.c
similarity index 100%
rename from test/test/test_eal_fs.c
rename to app/test/test_eal_fs.c
diff --git a/test/test/test_efd.c b/app/test/test_efd.c
similarity index 100%
rename from test/test/test_efd.c
rename to app/test/test_efd.c
diff --git a/test/test/test_efd_perf.c b/app/test/test_efd_perf.c
similarity index 100%
rename from test/test/test_efd_perf.c
rename to app/test/test_efd_perf.c
diff --git a/test/test/test_errno.c b/app/test/test_errno.c
similarity index 100%
rename from test/test/test_errno.c
rename to app/test/test_errno.c
diff --git a/test/test/test_event_crypto_adapter.c b/app/test/test_event_crypto_adapter.c
similarity index 100%
rename from test/test/test_event_crypto_adapter.c
rename to app/test/test_event_crypto_adapter.c
diff --git a/test/test/test_event_eth_rx_adapter.c b/app/test/test_event_eth_rx_adapter.c
similarity index 100%
rename from test/test/test_event_eth_rx_adapter.c
rename to app/test/test_event_eth_rx_adapter.c
diff --git a/test/test/test_event_eth_tx_adapter.c b/app/test/test_event_eth_tx_adapter.c
similarity index 100%
rename from test/test/test_event_eth_tx_adapter.c
rename to app/test/test_event_eth_tx_adapter.c
diff --git a/test/test/test_event_ring.c b/app/test/test_event_ring.c
similarity index 100%
rename from test/test/test_event_ring.c
rename to app/test/test_event_ring.c
diff --git a/test/test/test_event_timer_adapter.c b/app/test/test_event_timer_adapter.c
similarity index 100%
rename from test/test/test_event_timer_adapter.c
rename to app/test/test_event_timer_adapter.c
diff --git a/test/test/test_eventdev.c b/app/test/test_eventdev.c
similarity index 100%
rename from test/test/test_eventdev.c
rename to app/test/test_eventdev.c
diff --git a/test/test/test_external_mem.c b/app/test/test_external_mem.c
similarity index 100%
rename from test/test/test_external_mem.c
rename to app/test/test_external_mem.c
diff --git a/test/test/test_fbarray.c b/app/test/test_fbarray.c
similarity index 100%
rename from test/test/test_fbarray.c
rename to app/test/test_fbarray.c
diff --git a/test/test/test_flow_classify.c b/app/test/test_flow_classify.c
similarity index 100%
rename from test/test/test_flow_classify.c
rename to app/test/test_flow_classify.c
diff --git a/test/test/test_flow_classify.h b/app/test/test_flow_classify.h
similarity index 100%
rename from test/test/test_flow_classify.h
rename to app/test/test_flow_classify.h
diff --git a/test/test/test_func_reentrancy.c b/app/test/test_func_reentrancy.c
similarity index 100%
rename from test/test/test_func_reentrancy.c
rename to app/test/test_func_reentrancy.c
diff --git a/test/test/test_hash.c b/app/test/test_hash.c
similarity index 100%
rename from test/test/test_hash.c
rename to app/test/test_hash.c
diff --git a/test/test/test_hash_functions.c b/app/test/test_hash_functions.c
similarity index 100%
rename from test/test/test_hash_functions.c
rename to app/test/test_hash_functions.c
diff --git a/test/test/test_hash_multiwriter.c b/app/test/test_hash_multiwriter.c
similarity index 100%
rename from test/test/test_hash_multiwriter.c
rename to app/test/test_hash_multiwriter.c
diff --git a/test/test/test_hash_perf.c b/app/test/test_hash_perf.c
similarity index 100%
rename from test/test/test_hash_perf.c
rename to app/test/test_hash_perf.c
diff --git a/test/test/test_hash_readwrite.c b/app/test/test_hash_readwrite.c
similarity index 100%
rename from test/test/test_hash_readwrite.c
rename to app/test/test_hash_readwrite.c
diff --git a/test/test/test_hash_readwrite_lf.c b/app/test/test_hash_readwrite_lf.c
similarity index 100%
rename from test/test/test_hash_readwrite_lf.c
rename to app/test/test_hash_readwrite_lf.c
diff --git a/test/test/test_interrupts.c b/app/test/test_interrupts.c
similarity index 100%
rename from test/test/test_interrupts.c
rename to app/test/test_interrupts.c
diff --git a/test/test/test_ipsec.c b/app/test/test_ipsec.c
similarity index 100%
rename from test/test/test_ipsec.c
rename to app/test/test_ipsec.c
diff --git a/test/test/test_kni.c b/app/test/test_kni.c
similarity index 100%
rename from test/test/test_kni.c
rename to app/test/test_kni.c
diff --git a/test/test/test_kvargs.c b/app/test/test_kvargs.c
similarity index 100%
rename from test/test/test_kvargs.c
rename to app/test/test_kvargs.c
diff --git a/test/test/test_latencystats.c b/app/test/test_latencystats.c
similarity index 100%
rename from test/test/test_latencystats.c
rename to app/test/test_latencystats.c
diff --git a/test/test/test_link_bonding.c b/app/test/test_link_bonding.c
similarity index 100%
rename from test/test/test_link_bonding.c
rename to app/test/test_link_bonding.c
diff --git a/test/test/test_link_bonding_mode4.c b/app/test/test_link_bonding_mode4.c
similarity index 100%
rename from test/test/test_link_bonding_mode4.c
rename to app/test/test_link_bonding_mode4.c
diff --git a/test/test/test_link_bonding_rssconf.c b/app/test/test_link_bonding_rssconf.c
similarity index 100%
rename from test/test/test_link_bonding_rssconf.c
rename to app/test/test_link_bonding_rssconf.c
diff --git a/test/test/test_logs.c b/app/test/test_logs.c
similarity index 100%
rename from test/test/test_logs.c
rename to app/test/test_logs.c
diff --git a/test/test/test_lpm.c b/app/test/test_lpm.c
similarity index 100%
rename from test/test/test_lpm.c
rename to app/test/test_lpm.c
diff --git a/test/test/test_lpm6.c b/app/test/test_lpm6.c
similarity index 100%
rename from test/test/test_lpm6.c
rename to app/test/test_lpm6.c
diff --git a/test/test/test_lpm6_data.h b/app/test/test_lpm6_data.h
similarity index 100%
rename from test/test/test_lpm6_data.h
rename to app/test/test_lpm6_data.h
diff --git a/test/test/test_lpm6_perf.c b/app/test/test_lpm6_perf.c
similarity index 100%
rename from test/test/test_lpm6_perf.c
rename to app/test/test_lpm6_perf.c
diff --git a/test/test/test_lpm_perf.c b/app/test/test_lpm_perf.c
similarity index 100%
rename from test/test/test_lpm_perf.c
rename to app/test/test_lpm_perf.c
diff --git a/test/test/test_malloc.c b/app/test/test_malloc.c
similarity index 100%
rename from test/test/test_malloc.c
rename to app/test/test_malloc.c
diff --git a/test/test/test_mbuf.c b/app/test/test_mbuf.c
similarity index 100%
rename from test/test/test_mbuf.c
rename to app/test/test_mbuf.c
diff --git a/test/test/test_member.c b/app/test/test_member.c
similarity index 100%
rename from test/test/test_member.c
rename to app/test/test_member.c
diff --git a/test/test/test_member_perf.c b/app/test/test_member_perf.c
similarity index 100%
rename from test/test/test_member_perf.c
rename to app/test/test_member_perf.c
diff --git a/test/test/test_memcpy.c b/app/test/test_memcpy.c
similarity index 100%
rename from test/test/test_memcpy.c
rename to app/test/test_memcpy.c
diff --git a/test/test/test_memcpy_perf.c b/app/test/test_memcpy_perf.c
similarity index 100%
rename from test/test/test_memcpy_perf.c
rename to app/test/test_memcpy_perf.c
diff --git a/test/test/test_memory.c b/app/test/test_memory.c
similarity index 100%
rename from test/test/test_memory.c
rename to app/test/test_memory.c
diff --git a/test/test/test_mempool.c b/app/test/test_mempool.c
similarity index 100%
rename from test/test/test_mempool.c
rename to app/test/test_mempool.c
diff --git a/test/test/test_mempool_perf.c b/app/test/test_mempool_perf.c
similarity index 100%
rename from test/test/test_mempool_perf.c
rename to app/test/test_mempool_perf.c
diff --git a/test/test/test_memzone.c b/app/test/test_memzone.c
similarity index 100%
rename from test/test/test_memzone.c
rename to app/test/test_memzone.c
diff --git a/test/test/test_meter.c b/app/test/test_meter.c
similarity index 100%
rename from test/test/test_meter.c
rename to app/test/test_meter.c
diff --git a/test/test/test_metrics.c b/app/test/test_metrics.c
similarity index 100%
rename from test/test/test_metrics.c
rename to app/test/test_metrics.c
diff --git a/test/test/test_mp_secondary.c b/app/test/test_mp_secondary.c
similarity index 100%
rename from test/test/test_mp_secondary.c
rename to app/test/test_mp_secondary.c
diff --git a/test/test/test_pdump.c b/app/test/test_pdump.c
similarity index 100%
rename from test/test/test_pdump.c
rename to app/test/test_pdump.c
diff --git a/test/test/test_pdump.h b/app/test/test_pdump.h
similarity index 100%
rename from test/test/test_pdump.h
rename to app/test/test_pdump.h
diff --git a/test/test/test_per_lcore.c b/app/test/test_per_lcore.c
similarity index 100%
rename from test/test/test_per_lcore.c
rename to app/test/test_per_lcore.c
diff --git a/test/test/test_pmd_perf.c b/app/test/test_pmd_perf.c
similarity index 100%
rename from test/test/test_pmd_perf.c
rename to app/test/test_pmd_perf.c
diff --git a/test/test/test_pmd_ring.c b/app/test/test_pmd_ring.c
similarity index 100%
rename from test/test/test_pmd_ring.c
rename to app/test/test_pmd_ring.c
diff --git a/test/test/test_pmd_ring_perf.c b/app/test/test_pmd_ring_perf.c
similarity index 100%
rename from test/test/test_pmd_ring_perf.c
rename to app/test/test_pmd_ring_perf.c
diff --git a/test/test/test_power.c b/app/test/test_power.c
similarity index 100%
rename from test/test/test_power.c
rename to app/test/test_power.c
diff --git a/test/test/test_power_acpi_cpufreq.c b/app/test/test_power_acpi_cpufreq.c
similarity index 100%
rename from test/test/test_power_acpi_cpufreq.c
rename to app/test/test_power_acpi_cpufreq.c
diff --git a/test/test/test_power_kvm_vm.c b/app/test/test_power_kvm_vm.c
similarity index 100%
rename from test/test/test_power_kvm_vm.c
rename to app/test/test_power_kvm_vm.c
diff --git a/test/test/test_prefetch.c b/app/test/test_prefetch.c
similarity index 100%
rename from test/test/test_prefetch.c
rename to app/test/test_prefetch.c
diff --git a/test/test/test_rawdev.c b/app/test/test_rawdev.c
similarity index 100%
rename from test/test/test_rawdev.c
rename to app/test/test_rawdev.c
diff --git a/test/test/test_reciprocal_division.c b/app/test/test_reciprocal_division.c
similarity index 100%
rename from test/test/test_reciprocal_division.c
rename to app/test/test_reciprocal_division.c
diff --git a/test/test/test_reciprocal_division_perf.c b/app/test/test_reciprocal_division_perf.c
similarity index 100%
rename from test/test/test_reciprocal_division_perf.c
rename to app/test/test_reciprocal_division_perf.c
diff --git a/test/test/test_red.c b/app/test/test_red.c
similarity index 100%
rename from test/test/test_red.c
rename to app/test/test_red.c
diff --git a/test/test/test_reorder.c b/app/test/test_reorder.c
similarity index 100%
rename from test/test/test_reorder.c
rename to app/test/test_reorder.c
diff --git a/test/test/test_resource.c b/app/test/test_resource.c
similarity index 100%
rename from test/test/test_resource.c
rename to app/test/test_resource.c
diff --git a/test/test/test_ring.c b/app/test/test_ring.c
similarity index 100%
rename from test/test/test_ring.c
rename to app/test/test_ring.c
diff --git a/test/test/test_ring_perf.c b/app/test/test_ring_perf.c
similarity index 100%
rename from test/test/test_ring_perf.c
rename to app/test/test_ring_perf.c
diff --git a/test/test/test_rwlock.c b/app/test/test_rwlock.c
similarity index 100%
rename from test/test/test_rwlock.c
rename to app/test/test_rwlock.c
diff --git a/test/test/test_sched.c b/app/test/test_sched.c
similarity index 100%
rename from test/test/test_sched.c
rename to app/test/test_sched.c
diff --git a/test/test/test_service_cores.c b/app/test/test_service_cores.c
similarity index 100%
rename from test/test/test_service_cores.c
rename to app/test/test_service_cores.c
diff --git a/test/test/test_spinlock.c b/app/test/test_spinlock.c
similarity index 100%
rename from test/test/test_spinlock.c
rename to app/test/test_spinlock.c
diff --git a/test/test/test_string_fns.c b/app/test/test_string_fns.c
similarity index 100%
rename from test/test/test_string_fns.c
rename to app/test/test_string_fns.c
diff --git a/test/test/test_table.c b/app/test/test_table.c
similarity index 100%
rename from test/test/test_table.c
rename to app/test/test_table.c
diff --git a/test/test/test_table.h b/app/test/test_table.h
similarity index 100%
rename from test/test/test_table.h
rename to app/test/test_table.h
diff --git a/test/test/test_table_acl.c b/app/test/test_table_acl.c
similarity index 100%
rename from test/test/test_table_acl.c
rename to app/test/test_table_acl.c
diff --git a/test/test/test_table_acl.h b/app/test/test_table_acl.h
similarity index 100%
rename from test/test/test_table_acl.h
rename to app/test/test_table_acl.h
diff --git a/test/test/test_table_combined.c b/app/test/test_table_combined.c
similarity index 100%
rename from test/test/test_table_combined.c
rename to app/test/test_table_combined.c
diff --git a/test/test/test_table_combined.h b/app/test/test_table_combined.h
similarity index 100%
rename from test/test/test_table_combined.h
rename to app/test/test_table_combined.h
diff --git a/test/test/test_table_pipeline.c b/app/test/test_table_pipeline.c
similarity index 100%
rename from test/test/test_table_pipeline.c
rename to app/test/test_table_pipeline.c
diff --git a/test/test/test_table_pipeline.h b/app/test/test_table_pipeline.h
similarity index 100%
rename from test/test/test_table_pipeline.h
rename to app/test/test_table_pipeline.h
diff --git a/test/test/test_table_ports.c b/app/test/test_table_ports.c
similarity index 100%
rename from test/test/test_table_ports.c
rename to app/test/test_table_ports.c
diff --git a/test/test/test_table_ports.h b/app/test/test_table_ports.h
similarity index 100%
rename from test/test/test_table_ports.h
rename to app/test/test_table_ports.h
diff --git a/test/test/test_table_tables.c b/app/test/test_table_tables.c
similarity index 100%
rename from test/test/test_table_tables.c
rename to app/test/test_table_tables.c
diff --git a/test/test/test_table_tables.h b/app/test/test_table_tables.h
similarity index 100%
rename from test/test/test_table_tables.h
rename to app/test/test_table_tables.h
diff --git a/test/test/test_tailq.c b/app/test/test_tailq.c
similarity index 100%
rename from test/test/test_tailq.c
rename to app/test/test_tailq.c
diff --git a/test/test/test_thash.c b/app/test/test_thash.c
similarity index 100%
rename from test/test/test_thash.c
rename to app/test/test_thash.c
diff --git a/test/test/test_timer.c b/app/test/test_timer.c
similarity index 100%
rename from test/test/test_timer.c
rename to app/test/test_timer.c
diff --git a/test/test/test_timer_perf.c b/app/test/test_timer_perf.c
similarity index 100%
rename from test/test/test_timer_perf.c
rename to app/test/test_timer_perf.c
diff --git a/test/test/test_timer_racecond.c b/app/test/test_timer_racecond.c
similarity index 100%
rename from test/test/test_timer_racecond.c
rename to app/test/test_timer_racecond.c
diff --git a/test/test/test_version.c b/app/test/test_version.c
similarity index 100%
rename from test/test/test_version.c
rename to app/test/test_version.c
diff --git a/test/test/test_xmmt_ops.h b/app/test/test_xmmt_ops.h
similarity index 100%
rename from test/test/test_xmmt_ops.h
rename to app/test/test_xmmt_ops.h
diff --git a/test/test/virtual_pmd.c b/app/test/virtual_pmd.c
similarity index 100%
rename from test/test/virtual_pmd.c
rename to app/test/virtual_pmd.c
diff --git a/test/test/virtual_pmd.h b/app/test/virtual_pmd.h
similarity index 100%
rename from test/test/virtual_pmd.h
rename to app/test/virtual_pmd.h
diff --git a/devtools/test-build.sh b/devtools/test-build.sh
index 42f4ad003..54b10ef63 100755
--- a/devtools/test-build.sh
+++ b/devtools/test-build.sh
@@ -223,9 +223,6 @@ for conf in $configs ; do
 	make -j$J EXTRA_CFLAGS="$maxerr $DPDK_DEP_CFLAGS" \
 		EXTRA_LDFLAGS="$DPDK_DEP_LDFLAGS" $verbose O=$dir
 	! $short || break
-	echo "================== Build tests for $dir"
-	make test-build -j$J EXTRA_CFLAGS="$maxerr $DPDK_DEP_CFLAGS" \
-		EXTRA_LDFLAGS="$DPDK_DEP_LDFLAGS" $verbose O=$dir
 	echo "================== Build examples for $dir"
 	export RTE_SDK=$(pwd)
 	export RTE_TARGET=$dir
diff --git a/doc/guides/compressdevs/octeontx.rst b/doc/guides/compressdevs/octeontx.rst
index 05dbd681b..c57d03a8e 100644
--- a/doc/guides/compressdevs/octeontx.rst
+++ b/doc/guides/compressdevs/octeontx.rst
@@ -99,7 +99,7 @@ probed. To use the PMD in an application, user must:
       cd to the top-level DPDK directory
       export RTE_TARGET=arm64-thunderx-linuxapp-gcc
       export RTE_SDK=`pwd`
-      cd to test/test
+      cd to app/test
       type the command "make" to compile
       run the tests with "./test"
       type the command "compressdev_autotest" to test
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index b079aa381..9207bfa55 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -530,7 +530,7 @@ Testing
 QAT crypto PMD can be tested by running the test application::
 
     make defconfig
-    make test-build -j
+    make -j
     cd ./build/app
     ./test -l1 -n1 -w <your qat bdf>
     RTE>>cryptodev_qat_autotest
@@ -539,7 +539,7 @@ QAT compression PMD can be tested by running the test application::
 
     make defconfig
     sed -i 's,\(CONFIG_RTE_COMPRESSDEV_TEST\)=n,\1=y,' build/.config
-    make test-build -j
+    make -j
     cd ./build/app
     ./test -l1 -n1 -w <your qat bdf>
     RTE>>compressdev_autotest
diff --git a/doc/guides/cryptodevs/virtio.rst b/doc/guides/cryptodevs/virtio.rst
index f3aa7c654..cfc6d57d7 100644
--- a/doc/guides/cryptodevs/virtio.rst
+++ b/doc/guides/cryptodevs/virtio.rst
@@ -93,7 +93,7 @@ The unit test cases can be tested as below:
     cd to the top-level DPDK directory
     export RTE_TARGET=x86_64-native-linuxapp-gcc
     export RTE_SDK=`pwd`
-    cd to test/test
+    cd to app/test
     type the command "make" to compile
     run the tests with "./test"
     type the command "cryptodev_virtio_autotest" to test
diff --git a/doc/guides/mempool/octeontx.rst b/doc/guides/mempool/octeontx.rst
index e05aeb94c..3ade61fc2 100644
--- a/doc/guides/mempool/octeontx.rst
+++ b/doc/guides/mempool/octeontx.rst
@@ -56,7 +56,7 @@ following ``make`` command:
 .. code-block:: console
 
    cd <DPDK-source-directory>
-   make config T=arm64-thunderx-linuxapp-gcc test-build
+   make config T=arm64-thunderx-linuxapp-gcc
 
 
 Initialization
diff --git a/doc/guides/prog_guide/compressdev.rst b/doc/guides/prog_guide/compressdev.rst
index 87e264906..ad9703753 100644
--- a/doc/guides/prog_guide/compressdev.rst
+++ b/doc/guides/prog_guide/compressdev.rst
@@ -615,7 +615,7 @@ Sample code
 -----------
 
 There are unit test applications that show how to use the compressdev library inside
-test/test/test_compressdev.c
+app/test/test_compressdev.c
 
 Compression Device API
 ~~~~~~~~~~~~~~~~~~~~~~
diff --git a/meson.build b/meson.build
index 7f5e8674b..7de6e2193 100644
--- a/meson.build
+++ b/meson.build
@@ -43,7 +43,6 @@ subdir('drivers')
 # build binaries and installable tools
 subdir('usertools')
 subdir('app')
-subdir('test')
 
 # build docs
 subdir('doc')
diff --git a/mk/rte.sdkbuild.mk b/mk/rte.sdkbuild.mk
index 5dc43e429..b512de1ec 100644
--- a/mk/rte.sdkbuild.mk
+++ b/mk/rte.sdkbuild.mk
@@ -40,9 +40,6 @@ clean: $(CLEANDIRS)
 	$(Q)$(MAKE) -f $(RTE_SDK)/GNUmakefile gcovclean
 	@echo Clean complete
 
-.PHONY: test-build
-test-build: test
-
 .SECONDEXPANSION:
 .PHONY: $(ROOTDIRS-y) $(ROOTDIRS-)
 $(ROOTDIRS-y) $(ROOTDIRS-):
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index 18c88017e..d91583a63 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -57,8 +57,8 @@ export BUILDDIR
 
 export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
 
-.PHONY: default
-default: all
+.PHONY: default test-build
+default test-build: all
 
 .PHONY: config defconfig showconfigs showversion showversionum
 config defconfig showconfigs showversion showversionum:
@@ -72,8 +72,6 @@ cscope gtags tags etags:
 test test-fast test-perf coverage test-drivers test-dump:
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdktest.mk $@
 
-test: test-build
-
 .PHONY: install
 install:
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk pre_install
diff --git a/mk/rte.sdktest.mk b/mk/rte.sdktest.mk
index 295592809..803018ba3 100644
--- a/mk/rte.sdktest.mk
+++ b/mk/rte.sdktest.mk
@@ -49,12 +49,12 @@ test test-fast test-perf test-drivers test-dump:
 	@mkdir -p $(AUTOTEST_DIR) ; \
 	cd $(AUTOTEST_DIR) ; \
 	if [ -f $(RTE_OUTPUT)/app/test ]; then \
-		python $(RTE_SDK)/test/test/autotest.py \
+		python $(RTE_SDK)/app/test/autotest.py \
 			$(RTE_OUTPUT)/app/test \
 			$(RTE_TARGET) \
 			$(BLACKLIST) $(WHITELIST); \
 	else \
-		echo "No test found, please do a 'make test-build' first, or specify O=" ; \
+		echo "No test found, please do a 'make' first, or specify O=" ; \
 	fi
 
 # this is a special target to ease the pain of running coverage tests
@@ -66,11 +66,11 @@ coverage:
 		python $(RTE_SDK)/test/cmdline_test/cmdline_test.py \
 			$(RTE_OUTPUT)/app/cmdline_test; \
 		ulimit -S -n 100 ; \
-		python $(RTE_SDK)/test/test/autotest.py \
+		python $(RTE_SDK)/app/test/autotest.py \
 			$(RTE_OUTPUT)/app/test \
 			$(RTE_TARGET) \
 			$(BLACKLIST) $(WHITELIST) ; \
 		$(RTE_OUTPUT)/app/dpdk-procinfo --file-prefix=ring_perf -- -m; \
 	else \
-		echo "No test found, please do a 'make test-build' first, or specify O=" ;\
+		echo "No test found, please do a 'make' first, or specify O=" ;\
 	fi
diff --git a/test/Makefile b/test/Makefile
deleted file mode 100644
index e9ae64b59..000000000
--- a/test/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_APP_TEST) += test
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/test/meson.build b/test/meson.build
deleted file mode 100644
index 3ad11b34f..000000000
--- a/test/meson.build
+++ /dev/null
@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-subdir('test')
