[v3,5/5] test/test: move to app folder

Message ID 20190226121903.5499-6-bruce.richardson@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series consolidate testing apps to app dir |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Bruce Richardson Feb. 26, 2019, 12:19 p.m. UTC
  Since all other apps have been moved to the "app" folder, the autotest app
remains alone in the test folder. Rather than having an entire top-level
folder for this, we can move it back to where it all started in early
versions of DPDK - the "app/" folder.

This move has a couple of advantages:
* This reduces clutter at the top level of the project, due to one less
  folder.
* It eliminates the separate build task necessary for building the
  autotests using make "make test-build" which means that developers are
  less likely to miss something in their own compilation tests
* It re-aligns the final location of the test binary in the app folder when
  building with make with it's location in the source tree.

For meson builds, the autotest app is different from the other apps in that
it needs a series of different test cases defined for it for use by "meson
test". Therefore, it does not get built as part of the main loop in the
app folder, but gets built separately at the end.

CC: Ferruh Yigit <ferruh.yigit@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 GNUmakefile                                   |   1 -
 MAINTAINERS                                   | 182 +++++++++---------
 app/Makefile                                  |   1 +
 app/meson.build                               |   3 +
 {test => app}/test/Makefile                   |   0
 {test => app}/test/autotest.py                |   0
 {test => app}/test/autotest_data.py           |   0
 {test => app}/test/autotest_runner.py         |   0
 {test => app}/test/autotest_test_funcs.py     |   0
 {test => app}/test/commands.c                 |   0
 {test => app}/test/meson.build                |   0
 {test => app}/test/packet_burst_generator.c   |   0
 {test => app}/test/packet_burst_generator.h   |   0
 {test => app}/test/process.h                  |   0
 {test => app}/test/resource.c                 |   0
 {test => app}/test/resource.h                 |   0
 {test => app}/test/sample_packet_forward.c    |   0
 {test => app}/test/sample_packet_forward.h    |   0
 {test => app}/test/test.c                     |   0
 {test => app}/test/test.h                     |   0
 {test => app}/test/test_acl.c                 |   0
 {test => app}/test/test_acl.h                 |   0
 {test => app}/test/test_alarm.c               |   0
 {test => app}/test/test_atomic.c              |   0
 {test => app}/test/test_barrier.c             |   0
 {test => app}/test/test_bitmap.c              |   0
 {test => app}/test/test_bitratestats.c        |   0
 {test => app}/test/test_bpf.c                 |   0
 {test => app}/test/test_byteorder.c           |   0
 {test => app}/test/test_cfgfile.c             |   0
 .../test/test_cfgfiles/etc/empty.ini          |   0
 .../test_cfgfiles/etc/empty_key_value.ini     |   0
 .../test_cfgfiles/etc/invalid_section.ini     |   0
 .../test/test_cfgfiles/etc/line_too_long.ini  |   0
 .../test_cfgfiles/etc/missing_section.ini     |   0
 .../test_cfgfiles/etc/realloc_sections.ini    |   0
 .../test/test_cfgfiles/etc/sample1.ini        |   0
 .../test/test_cfgfiles/etc/sample2.ini        |   0
 {test => app}/test/test_cmdline.c             |   0
 {test => app}/test/test_cmdline.h             |   0
 {test => app}/test/test_cmdline_cirbuf.c      |   0
 {test => app}/test/test_cmdline_etheraddr.c   |   0
 {test => app}/test/test_cmdline_ipaddr.c      |   0
 {test => app}/test/test_cmdline_lib.c         |   0
 {test => app}/test/test_cmdline_num.c         |   0
 {test => app}/test/test_cmdline_portlist.c    |   0
 {test => app}/test/test_cmdline_string.c      |   0
 {test => app}/test/test_common.c              |   0
 {test => app}/test/test_compressdev.c         |   0
 .../test/test_compressdev_test_buffer.h       |   0
 {test => app}/test/test_cpuflags.c            |   0
 {test => app}/test/test_crc.c                 |   0
 {test => app}/test/test_cryptodev.c           |   0
 {test => app}/test/test_cryptodev.h           |   0
 .../test/test_cryptodev_aead_test_vectors.h   |   0
 .../test/test_cryptodev_aes_test_vectors.h    |   0
 {test => app}/test/test_cryptodev_asym.c      |   0
 {test => app}/test/test_cryptodev_asym_util.h |   0
 .../test/test_cryptodev_blockcipher.c         |   0
 .../test/test_cryptodev_blockcipher.h         |   0
 .../test/test_cryptodev_des_test_vectors.h    |   0
 .../test/test_cryptodev_dh_test_vectors.h     |   0
 .../test/test_cryptodev_dsa_test_vectors.h    |   0
 .../test/test_cryptodev_hash_test_vectors.h   |   0
 .../test/test_cryptodev_hmac_test_vectors.h   |   0
 .../test_cryptodev_kasumi_hash_test_vectors.h |   0
 .../test/test_cryptodev_kasumi_test_vectors.h |   0
 .../test/test_cryptodev_mod_test_vectors.h    |   0
 .../test/test_cryptodev_rsa_test_vectors.h    |   0
 .../test_cryptodev_snow3g_hash_test_vectors.h |   0
 .../test/test_cryptodev_snow3g_test_vectors.h |   0
 .../test/test_cryptodev_zuc_test_vectors.h    |   0
 {test => app}/test/test_cycles.c              |   0
 {test => app}/test/test_debug.c               |   0
 {test => app}/test/test_distributor.c         |   0
 {test => app}/test/test_distributor_perf.c    |   0
 {test => app}/test/test_eal_flags.c           |   0
 {test => app}/test/test_eal_fs.c              |   0
 {test => app}/test/test_efd.c                 |   0
 {test => app}/test/test_efd_perf.c            |   0
 {test => app}/test/test_errno.c               |   0
 .../test/test_event_crypto_adapter.c          |   0
 .../test/test_event_eth_rx_adapter.c          |   0
 .../test/test_event_eth_tx_adapter.c          |   0
 {test => app}/test/test_event_ring.c          |   0
 {test => app}/test/test_event_timer_adapter.c |   0
 {test => app}/test/test_eventdev.c            |   0
 {test => app}/test/test_external_mem.c        |   0
 {test => app}/test/test_fbarray.c             |   0
 {test => app}/test/test_flow_classify.c       |   0
 {test => app}/test/test_flow_classify.h       |   0
 {test => app}/test/test_func_reentrancy.c     |   0
 {test => app}/test/test_hash.c                |   0
 {test => app}/test/test_hash_functions.c      |   0
 {test => app}/test/test_hash_multiwriter.c    |   0
 {test => app}/test/test_hash_perf.c           |   0
 {test => app}/test/test_hash_readwrite.c      |   0
 {test => app}/test/test_hash_readwrite_lf.c   |   0
 {test => app}/test/test_interrupts.c          |   0
 {test => app}/test/test_ipsec.c               |   0
 {test => app}/test/test_kni.c                 |   0
 {test => app}/test/test_kvargs.c              |   0
 {test => app}/test/test_latencystats.c        |   0
 {test => app}/test/test_link_bonding.c        |   0
 {test => app}/test/test_link_bonding_mode4.c  |   0
 .../test/test_link_bonding_rssconf.c          |   0
 {test => app}/test/test_logs.c                |   0
 {test => app}/test/test_lpm.c                 |   0
 {test => app}/test/test_lpm6.c                |   0
 {test => app}/test/test_lpm6_data.h           |   0
 {test => app}/test/test_lpm6_perf.c           |   0
 {test => app}/test/test_lpm_perf.c            |   0
 {test => app}/test/test_malloc.c              |   0
 {test => app}/test/test_mbuf.c                |   0
 {test => app}/test/test_member.c              |   0
 {test => app}/test/test_member_perf.c         |   0
 {test => app}/test/test_memcpy.c              |   0
 {test => app}/test/test_memcpy_perf.c         |   0
 {test => app}/test/test_memory.c              |   0
 {test => app}/test/test_mempool.c             |   0
 {test => app}/test/test_mempool_perf.c        |   0
 {test => app}/test/test_memzone.c             |   0
 {test => app}/test/test_meter.c               |   0
 {test => app}/test/test_metrics.c             |   0
 {test => app}/test/test_mp_secondary.c        |   0
 {test => app}/test/test_pdump.c               |   0
 {test => app}/test/test_pdump.h               |   0
 {test => app}/test/test_per_lcore.c           |   0
 {test => app}/test/test_pmd_perf.c            |   0
 {test => app}/test/test_pmd_ring.c            |   0
 {test => app}/test/test_pmd_ring_perf.c       |   0
 {test => app}/test/test_power.c               |   0
 {test => app}/test/test_power_acpi_cpufreq.c  |   0
 {test => app}/test/test_power_kvm_vm.c        |   0
 {test => app}/test/test_prefetch.c            |   0
 {test => app}/test/test_rawdev.c              |   0
 {test => app}/test/test_reciprocal_division.c |   0
 .../test/test_reciprocal_division_perf.c      |   0
 {test => app}/test/test_red.c                 |   0
 {test => app}/test/test_reorder.c             |   0
 {test => app}/test/test_resource.c            |   0
 {test => app}/test/test_ring.c                |   0
 {test => app}/test/test_ring_perf.c           |   0
 {test => app}/test/test_rwlock.c              |   0
 {test => app}/test/test_sched.c               |   0
 {test => app}/test/test_service_cores.c       |   0
 {test => app}/test/test_spinlock.c            |   0
 {test => app}/test/test_string_fns.c          |   0
 {test => app}/test/test_table.c               |   0
 {test => app}/test/test_table.h               |   0
 {test => app}/test/test_table_acl.c           |   0
 {test => app}/test/test_table_acl.h           |   0
 {test => app}/test/test_table_combined.c      |   0
 {test => app}/test/test_table_combined.h      |   0
 {test => app}/test/test_table_pipeline.c      |   0
 {test => app}/test/test_table_pipeline.h      |   0
 {test => app}/test/test_table_ports.c         |   0
 {test => app}/test/test_table_ports.h         |   0
 {test => app}/test/test_table_tables.c        |   0
 {test => app}/test/test_table_tables.h        |   0
 {test => app}/test/test_tailq.c               |   0
 {test => app}/test/test_thash.c               |   0
 {test => app}/test/test_timer.c               |   0
 {test => app}/test/test_timer_perf.c          |   0
 {test => app}/test/test_timer_racecond.c      |   0
 {test => app}/test/test_version.c             |   0
 {test => app}/test/test_xmmt_ops.h            |   0
 {test => app}/test/virtual_pmd.c              |   0
 {test => app}/test/virtual_pmd.h              |   0
 devtools/test-build.sh                        |   3 -
 doc/guides/compressdevs/octeontx.rst          |   2 +-
 doc/guides/cryptodevs/qat.rst                 |   4 +-
 doc/guides/cryptodevs/virtio.rst              |   2 +-
 doc/guides/mempool/octeontx.rst               |   2 +-
 doc/guides/prog_guide/compressdev.rst         |   2 +-
 meson.build                                   |   1 -
 mk/rte.sdkbuild.mk                            |   3 -
 mk/rte.sdkroot.mk                             |   6 +-
 mk/rte.sdktest.mk                             |   8 +-
 test/Makefile                                 |   8 -
 test/meson.build                              |   4 -
 181 files changed, 107 insertions(+), 125 deletions(-)
 rename {test => app}/test/Makefile (100%)
 rename {test => app}/test/autotest.py (100%)
 rename {test => app}/test/autotest_data.py (100%)
 rename {test => app}/test/autotest_runner.py (100%)
 rename {test => app}/test/autotest_test_funcs.py (100%)
 rename {test => app}/test/commands.c (100%)
 rename {test => app}/test/meson.build (100%)
 rename {test => app}/test/packet_burst_generator.c (100%)
 rename {test => app}/test/packet_burst_generator.h (100%)
 rename {test => app}/test/process.h (100%)
 rename {test => app}/test/resource.c (100%)
 rename {test => app}/test/resource.h (100%)
 rename {test => app}/test/sample_packet_forward.c (100%)
 rename {test => app}/test/sample_packet_forward.h (100%)
 rename {test => app}/test/test.c (100%)
 rename {test => app}/test/test.h (100%)
 rename {test => app}/test/test_acl.c (100%)
 rename {test => app}/test/test_acl.h (100%)
 rename {test => app}/test/test_alarm.c (100%)
 rename {test => app}/test/test_atomic.c (100%)
 rename {test => app}/test/test_barrier.c (100%)
 rename {test => app}/test/test_bitmap.c (100%)
 rename {test => app}/test/test_bitratestats.c (100%)
 rename {test => app}/test/test_bpf.c (100%)
 rename {test => app}/test/test_byteorder.c (100%)
 rename {test => app}/test/test_cfgfile.c (100%)
 rename {test => app}/test/test_cfgfiles/etc/empty.ini (100%)
 rename {test => app}/test/test_cfgfiles/etc/empty_key_value.ini (100%)
 rename {test => app}/test/test_cfgfiles/etc/invalid_section.ini (100%)
 rename {test => app}/test/test_cfgfiles/etc/line_too_long.ini (100%)
 rename {test => app}/test/test_cfgfiles/etc/missing_section.ini (100%)
 rename {test => app}/test/test_cfgfiles/etc/realloc_sections.ini (100%)
 rename {test => app}/test/test_cfgfiles/etc/sample1.ini (100%)
 rename {test => app}/test/test_cfgfiles/etc/sample2.ini (100%)
 rename {test => app}/test/test_cmdline.c (100%)
 rename {test => app}/test/test_cmdline.h (100%)
 rename {test => app}/test/test_cmdline_cirbuf.c (100%)
 rename {test => app}/test/test_cmdline_etheraddr.c (100%)
 rename {test => app}/test/test_cmdline_ipaddr.c (100%)
 rename {test => app}/test/test_cmdline_lib.c (100%)
 rename {test => app}/test/test_cmdline_num.c (100%)
 rename {test => app}/test/test_cmdline_portlist.c (100%)
 rename {test => app}/test/test_cmdline_string.c (100%)
 rename {test => app}/test/test_common.c (100%)
 rename {test => app}/test/test_compressdev.c (100%)
 rename {test => app}/test/test_compressdev_test_buffer.h (100%)
 rename {test => app}/test/test_cpuflags.c (100%)
 rename {test => app}/test/test_crc.c (100%)
 rename {test => app}/test/test_cryptodev.c (100%)
 rename {test => app}/test/test_cryptodev.h (100%)
 rename {test => app}/test/test_cryptodev_aead_test_vectors.h (100%)
 rename {test => app}/test/test_cryptodev_aes_test_vectors.h (100%)
 rename {test => app}/test/test_cryptodev_asym.c (100%)
 rename {test => app}/test/test_cryptodev_asym_util.h (100%)
 rename {test => app}/test/test_cryptodev_blockcipher.c (100%)
 rename {test => app}/test/test_cryptodev_blockcipher.h (100%)
 rename {test => app}/test/test_cryptodev_des_test_vectors.h (100%)
 rename {test => app}/test/test_cryptodev_dh_test_vectors.h (100%)
 rename {test => app}/test/test_cryptodev_dsa_test_vectors.h (100%)
 rename {test => app}/test/test_cryptodev_hash_test_vectors.h (100%)
 rename {test => app}/test/test_cryptodev_hmac_test_vectors.h (100%)
 rename {test => app}/test/test_cryptodev_kasumi_hash_test_vectors.h (100%)
 rename {test => app}/test/test_cryptodev_kasumi_test_vectors.h (100%)
 rename {test => app}/test/test_cryptodev_mod_test_vectors.h (100%)
 rename {test => app}/test/test_cryptodev_rsa_test_vectors.h (100%)
 rename {test => app}/test/test_cryptodev_snow3g_hash_test_vectors.h (100%)
 rename {test => app}/test/test_cryptodev_snow3g_test_vectors.h (100%)
 rename {test => app}/test/test_cryptodev_zuc_test_vectors.h (100%)
 rename {test => app}/test/test_cycles.c (100%)
 rename {test => app}/test/test_debug.c (100%)
 rename {test => app}/test/test_distributor.c (100%)
 rename {test => app}/test/test_distributor_perf.c (100%)
 rename {test => app}/test/test_eal_flags.c (100%)
 rename {test => app}/test/test_eal_fs.c (100%)
 rename {test => app}/test/test_efd.c (100%)
 rename {test => app}/test/test_efd_perf.c (100%)
 rename {test => app}/test/test_errno.c (100%)
 rename {test => app}/test/test_event_crypto_adapter.c (100%)
 rename {test => app}/test/test_event_eth_rx_adapter.c (100%)
 rename {test => app}/test/test_event_eth_tx_adapter.c (100%)
 rename {test => app}/test/test_event_ring.c (100%)
 rename {test => app}/test/test_event_timer_adapter.c (100%)
 rename {test => app}/test/test_eventdev.c (100%)
 rename {test => app}/test/test_external_mem.c (100%)
 rename {test => app}/test/test_fbarray.c (100%)
 rename {test => app}/test/test_flow_classify.c (100%)
 rename {test => app}/test/test_flow_classify.h (100%)
 rename {test => app}/test/test_func_reentrancy.c (100%)
 rename {test => app}/test/test_hash.c (100%)
 rename {test => app}/test/test_hash_functions.c (100%)
 rename {test => app}/test/test_hash_multiwriter.c (100%)
 rename {test => app}/test/test_hash_perf.c (100%)
 rename {test => app}/test/test_hash_readwrite.c (100%)
 rename {test => app}/test/test_hash_readwrite_lf.c (100%)
 rename {test => app}/test/test_interrupts.c (100%)
 rename {test => app}/test/test_ipsec.c (100%)
 rename {test => app}/test/test_kni.c (100%)
 rename {test => app}/test/test_kvargs.c (100%)
 rename {test => app}/test/test_latencystats.c (100%)
 rename {test => app}/test/test_link_bonding.c (100%)
 rename {test => app}/test/test_link_bonding_mode4.c (100%)
 rename {test => app}/test/test_link_bonding_rssconf.c (100%)
 rename {test => app}/test/test_logs.c (100%)
 rename {test => app}/test/test_lpm.c (100%)
 rename {test => app}/test/test_lpm6.c (100%)
 rename {test => app}/test/test_lpm6_data.h (100%)
 rename {test => app}/test/test_lpm6_perf.c (100%)
 rename {test => app}/test/test_lpm_perf.c (100%)
 rename {test => app}/test/test_malloc.c (100%)
 rename {test => app}/test/test_mbuf.c (100%)
 rename {test => app}/test/test_member.c (100%)
 rename {test => app}/test/test_member_perf.c (100%)
 rename {test => app}/test/test_memcpy.c (100%)
 rename {test => app}/test/test_memcpy_perf.c (100%)
 rename {test => app}/test/test_memory.c (100%)
 rename {test => app}/test/test_mempool.c (100%)
 rename {test => app}/test/test_mempool_perf.c (100%)
 rename {test => app}/test/test_memzone.c (100%)
 rename {test => app}/test/test_meter.c (100%)
 rename {test => app}/test/test_metrics.c (100%)
 rename {test => app}/test/test_mp_secondary.c (100%)
 rename {test => app}/test/test_pdump.c (100%)
 rename {test => app}/test/test_pdump.h (100%)
 rename {test => app}/test/test_per_lcore.c (100%)
 rename {test => app}/test/test_pmd_perf.c (100%)
 rename {test => app}/test/test_pmd_ring.c (100%)
 rename {test => app}/test/test_pmd_ring_perf.c (100%)
 rename {test => app}/test/test_power.c (100%)
 rename {test => app}/test/test_power_acpi_cpufreq.c (100%)
 rename {test => app}/test/test_power_kvm_vm.c (100%)
 rename {test => app}/test/test_prefetch.c (100%)
 rename {test => app}/test/test_rawdev.c (100%)
 rename {test => app}/test/test_reciprocal_division.c (100%)
 rename {test => app}/test/test_reciprocal_division_perf.c (100%)
 rename {test => app}/test/test_red.c (100%)
 rename {test => app}/test/test_reorder.c (100%)
 rename {test => app}/test/test_resource.c (100%)
 rename {test => app}/test/test_ring.c (100%)
 rename {test => app}/test/test_ring_perf.c (100%)
 rename {test => app}/test/test_rwlock.c (100%)
 rename {test => app}/test/test_sched.c (100%)
 rename {test => app}/test/test_service_cores.c (100%)
 rename {test => app}/test/test_spinlock.c (100%)
 rename {test => app}/test/test_string_fns.c (100%)
 rename {test => app}/test/test_table.c (100%)
 rename {test => app}/test/test_table.h (100%)
 rename {test => app}/test/test_table_acl.c (100%)
 rename {test => app}/test/test_table_acl.h (100%)
 rename {test => app}/test/test_table_combined.c (100%)
 rename {test => app}/test/test_table_combined.h (100%)
 rename {test => app}/test/test_table_pipeline.c (100%)
 rename {test => app}/test/test_table_pipeline.h (100%)
 rename {test => app}/test/test_table_ports.c (100%)
 rename {test => app}/test/test_table_ports.h (100%)
 rename {test => app}/test/test_table_tables.c (100%)
 rename {test => app}/test/test_table_tables.h (100%)
 rename {test => app}/test/test_tailq.c (100%)
 rename {test => app}/test/test_thash.c (100%)
 rename {test => app}/test/test_timer.c (100%)
 rename {test => app}/test/test_timer_perf.c (100%)
 rename {test => app}/test/test_timer_racecond.c (100%)
 rename {test => app}/test/test_version.c (100%)
 rename {test => app}/test/test_xmmt_ops.h (100%)
 rename {test => app}/test/virtual_pmd.c (100%)
 rename {test => app}/test/virtual_pmd.h (100%)
 delete mode 100644 test/Makefile
 delete mode 100644 test/meson.build
  

Patch

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 e1c0f669b..15c53888c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -142,27 +142,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>
@@ -176,12 +176,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>
@@ -194,7 +194,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
 
@@ -204,12 +204,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>
@@ -285,21 +285,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>
@@ -342,7 +342,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
@@ -359,7 +359,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
 
@@ -368,34 +368,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
@@ -403,7 +403,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
 
 
@@ -451,7 +451,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
 
@@ -460,7 +460,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
 
@@ -769,8 +769,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
@@ -1014,7 +1014,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>
@@ -1040,13 +1040,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
@@ -1055,7 +1055,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
 
@@ -1063,7 +1063,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
 
@@ -1071,8 +1071,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
 
@@ -1080,7 +1080,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
 
@@ -1092,7 +1092,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/
@@ -1107,7 +1107,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
 
@@ -1116,7 +1116,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
 
@@ -1127,30 +1127,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
 
@@ -1161,21 +1161,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/test-cmdline/
-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>
@@ -1185,7 +1185,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/
@@ -1195,7 +1195,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
 
@@ -1208,17 +1208,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>
@@ -1230,7 +1230,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
 
 
@@ -1239,24 +1239,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>
@@ -1280,7 +1280,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 eaf501633..28acbceca 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 2360a3d45..aa353f657 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -65,3 +65,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 d37b121ca..19ff759ed 100755
--- a/devtools/test-build.sh
+++ b/devtools/test-build.sh
@@ -229,9 +229,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 a6a034eb3..2bbd42bc8 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')