DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/4] RFC: consolidate testing apps to app dir
@ 2019-01-25 20:26 Bruce Richardson
  2019-01-25 20:26 ` [dpdk-dev] [PATCH 1/4] test/cmdline_test: move to app directory Bruce Richardson
                   ` (6 more replies)
  0 siblings, 7 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-01-25 20:26 UTC (permalink / raw)
  To: dev; +Cc: Bruce Richardson

The apps for testing are split between the "test" and "app" directories,
with a not-very-clear distinction between the two (at least to my mind).

Given how the apps are being built, the easiest path to having
cmdline_test, test-acl and test-pipeline build using meson is to
consolidate all these apps back into the app folder and use the logic
there. The bpf folder doesn't contain an actual application, but
rather example bpf code which can be loaded into testpmd. That is
possibly best moved to the examples folder, but I'm open to feedback
on the best place for it.

With these changes, the "test" folder then becomes the location for
unit tests only.


Bruce Richardson (4):
  test/cmdline_test: move to app directory
  test/test-acl: move to app directory
  test/test-pipeline: move to app directory
  test/bpf: move to examples folder

 app/Makefile                                    |  3 +++
 {test => app}/cmdline_test/Makefile             |  0
 {test => app}/cmdline_test/cmdline_test.c       |  0
 {test => app}/cmdline_test/cmdline_test.h       |  0
 {test => app}/cmdline_test/cmdline_test.py      |  0
 {test => app}/cmdline_test/cmdline_test_data.py |  0
 {test => app}/cmdline_test/commands.c           |  0
 app/cmdline_test/meson.build                    |  5 +++++
 app/meson.build                                 |  5 ++++-
 {test => app}/test-acl/Makefile                 |  0
 {test => app}/test-acl/main.c                   |  0
 app/test-acl/meson.build                        |  5 +++++
 {test => app}/test-pipeline/Makefile            |  0
 {test => app}/test-pipeline/config.c            |  0
 {test => app}/test-pipeline/init.c              |  0
 {test => app}/test-pipeline/main.c              |  0
 {test => app}/test-pipeline/main.h              |  0
 app/test-pipeline/meson.build                   | 14 ++++++++++++++
 {test => app}/test-pipeline/pipeline_acl.c      |  0
 {test => app}/test-pipeline/pipeline_hash.c     |  0
 {test => app}/test-pipeline/pipeline_lpm.c      |  0
 {test => app}/test-pipeline/pipeline_lpm_ipv6.c |  0
 {test => app}/test-pipeline/pipeline_stub.c     |  0
 {test => app}/test-pipeline/runtime.c           |  0
 doc/guides/testpmd_app_ug/testpmd_funcs.rst     |  8 ++++----
 examples/bpf/README                             |  8 ++++++++
 {test => examples}/bpf/dummy.c                  |  0
 {test => examples}/bpf/mbuf.h                   |  0
 examples/bpf/meson.build                        |  6 ++++++
 {test => examples}/bpf/t1.c                     |  0
 {test => examples}/bpf/t2.c                     |  0
 {test => examples}/bpf/t3.c                     |  0
 test/Makefile                                   |  3 ---
 33 files changed, 49 insertions(+), 8 deletions(-)
 rename {test => app}/cmdline_test/Makefile (100%)
 rename {test => app}/cmdline_test/cmdline_test.c (100%)
 rename {test => app}/cmdline_test/cmdline_test.h (100%)
 rename {test => app}/cmdline_test/cmdline_test.py (100%)
 rename {test => app}/cmdline_test/cmdline_test_data.py (100%)
 rename {test => app}/cmdline_test/commands.c (100%)
 create mode 100644 app/cmdline_test/meson.build
 rename {test => app}/test-acl/Makefile (100%)
 rename {test => app}/test-acl/main.c (100%)
 create mode 100644 app/test-acl/meson.build
 rename {test => app}/test-pipeline/Makefile (100%)
 rename {test => app}/test-pipeline/config.c (100%)
 rename {test => app}/test-pipeline/init.c (100%)
 rename {test => app}/test-pipeline/main.c (100%)
 rename {test => app}/test-pipeline/main.h (100%)
 create mode 100644 app/test-pipeline/meson.build
 rename {test => app}/test-pipeline/pipeline_acl.c (100%)
 rename {test => app}/test-pipeline/pipeline_hash.c (100%)
 rename {test => app}/test-pipeline/pipeline_lpm.c (100%)
 rename {test => app}/test-pipeline/pipeline_lpm_ipv6.c (100%)
 rename {test => app}/test-pipeline/pipeline_stub.c (100%)
 rename {test => app}/test-pipeline/runtime.c (100%)
 create mode 100644 examples/bpf/README
 rename {test => examples}/bpf/dummy.c (100%)
 rename {test => examples}/bpf/mbuf.h (100%)
 create mode 100644 examples/bpf/meson.build
 rename {test => examples}/bpf/t1.c (100%)
 rename {test => examples}/bpf/t2.c (100%)
 rename {test => examples}/bpf/t3.c (100%)

-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH 1/4] test/cmdline_test: move to app directory
  2019-01-25 20:26 [dpdk-dev] [PATCH 0/4] RFC: consolidate testing apps to app dir Bruce Richardson
@ 2019-01-25 20:26 ` Bruce Richardson
  2019-01-25 20:26 ` [dpdk-dev] [PATCH 2/4] test/test-acl: " Bruce Richardson
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-01-25 20:26 UTC (permalink / raw)
  To: dev; +Cc: Bruce Richardson

Move app to "app" directory and enable with meson build.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 app/Makefile                                    | 1 +
 {test => app}/cmdline_test/Makefile             | 0
 {test => app}/cmdline_test/cmdline_test.c       | 0
 {test => app}/cmdline_test/cmdline_test.h       | 0
 {test => app}/cmdline_test/cmdline_test.py      | 0
 {test => app}/cmdline_test/cmdline_test_data.py | 0
 {test => app}/cmdline_test/commands.c           | 0
 app/cmdline_test/meson.build                    | 5 +++++
 app/meson.build                                 | 3 ++-
 test/Makefile                                   | 1 -
 10 files changed, 8 insertions(+), 2 deletions(-)
 rename {test => app}/cmdline_test/Makefile (100%)
 rename {test => app}/cmdline_test/cmdline_test.c (100%)
 rename {test => app}/cmdline_test/cmdline_test.h (100%)
 rename {test => app}/cmdline_test/cmdline_test.py (100%)
 rename {test => app}/cmdline_test/cmdline_test_data.py (100%)
 rename {test => app}/cmdline_test/commands.c (100%)
 create mode 100644 app/cmdline_test/meson.build

diff --git a/app/Makefile b/app/Makefile
index d6641ef1c..3515097d9 100644
--- a/app/Makefile
+++ b/app/Makefile
@@ -6,6 +6,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 DIRS-$(CONFIG_RTE_TEST_PMD) += test-pmd
 DIRS-$(CONFIG_RTE_PROC_INFO) += proc-info
 DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += pdump
+DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_test
 
 ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
 DIRS-$(CONFIG_RTE_TEST_BBDEV) += test-bbdev
diff --git a/test/cmdline_test/Makefile b/app/cmdline_test/Makefile
similarity index 100%
rename from test/cmdline_test/Makefile
rename to app/cmdline_test/Makefile
diff --git a/test/cmdline_test/cmdline_test.c b/app/cmdline_test/cmdline_test.c
similarity index 100%
rename from test/cmdline_test/cmdline_test.c
rename to app/cmdline_test/cmdline_test.c
diff --git a/test/cmdline_test/cmdline_test.h b/app/cmdline_test/cmdline_test.h
similarity index 100%
rename from test/cmdline_test/cmdline_test.h
rename to app/cmdline_test/cmdline_test.h
diff --git a/test/cmdline_test/cmdline_test.py b/app/cmdline_test/cmdline_test.py
similarity index 100%
rename from test/cmdline_test/cmdline_test.py
rename to app/cmdline_test/cmdline_test.py
diff --git a/test/cmdline_test/cmdline_test_data.py b/app/cmdline_test/cmdline_test_data.py
similarity index 100%
rename from test/cmdline_test/cmdline_test_data.py
rename to app/cmdline_test/cmdline_test_data.py
diff --git a/test/cmdline_test/commands.c b/app/cmdline_test/commands.c
similarity index 100%
rename from test/cmdline_test/commands.c
rename to app/cmdline_test/commands.c
diff --git a/app/cmdline_test/meson.build b/app/cmdline_test/meson.build
new file mode 100644
index 000000000..47d3f3791
--- /dev/null
+++ b/app/cmdline_test/meson.build
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+
+sources = files('commands.c', 'cmdline_test.c')
+deps += 'cmdline'
diff --git a/app/meson.build b/app/meson.build
index 47a2a8615..9fc9b4fdc 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -1,7 +1,8 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-apps = ['pdump',
+apps = ['cmdline_test',
+	'pdump',
 	'proc-info',
 	'test-bbdev',
 	'test-compress-perf',
diff --git a/test/Makefile b/test/Makefile
index 6656374fc..4ffc087a0 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -6,6 +6,5 @@ include $(RTE_SDK)/mk/rte.vars.mk
 DIRS-$(CONFIG_RTE_APP_TEST) += test
 DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
 DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
-DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_test
 
 include $(RTE_SDK)/mk/rte.subdir.mk
-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH 2/4] test/test-acl: move to app directory
  2019-01-25 20:26 [dpdk-dev] [PATCH 0/4] RFC: consolidate testing apps to app dir Bruce Richardson
  2019-01-25 20:26 ` [dpdk-dev] [PATCH 1/4] test/cmdline_test: move to app directory Bruce Richardson
@ 2019-01-25 20:26 ` Bruce Richardson
  2019-01-25 20:26 ` [dpdk-dev] [PATCH 3/4] test/test-pipeline: " Bruce Richardson
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-01-25 20:26 UTC (permalink / raw)
  To: dev; +Cc: Bruce Richardson

Move to "app" directory and enable with meson build.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 app/Makefile                    | 1 +
 app/meson.build                 | 1 +
 {test => app}/test-acl/Makefile | 0
 {test => app}/test-acl/main.c   | 0
 app/test-acl/meson.build        | 5 +++++
 test/Makefile                   | 1 -
 6 files changed, 7 insertions(+), 1 deletion(-)
 rename {test => app}/test-acl/Makefile (100%)
 rename {test => app}/test-acl/main.c (100%)
 create mode 100644 app/test-acl/meson.build

diff --git a/app/Makefile b/app/Makefile
index 3515097d9..7f397f3d5 100644
--- a/app/Makefile
+++ b/app/Makefile
@@ -7,6 +7,7 @@ DIRS-$(CONFIG_RTE_TEST_PMD) += test-pmd
 DIRS-$(CONFIG_RTE_PROC_INFO) += proc-info
 DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += pdump
 DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_test
+DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
 
 ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
 DIRS-$(CONFIG_RTE_TEST_BBDEV) += test-bbdev
diff --git a/app/meson.build b/app/meson.build
index 9fc9b4fdc..5865d5e01 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -4,6 +4,7 @@
 apps = ['cmdline_test',
 	'pdump',
 	'proc-info',
+	'test-acl',
 	'test-bbdev',
 	'test-compress-perf',
 	'test-crypto-perf',
diff --git a/test/test-acl/Makefile b/app/test-acl/Makefile
similarity index 100%
rename from test/test-acl/Makefile
rename to app/test-acl/Makefile
diff --git a/test/test-acl/main.c b/app/test-acl/main.c
similarity index 100%
rename from test/test-acl/main.c
rename to app/test-acl/main.c
diff --git a/app/test-acl/meson.build b/app/test-acl/meson.build
new file mode 100644
index 000000000..6875bc128
--- /dev/null
+++ b/app/test-acl/meson.build
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+
+sources = files('main.c')
+deps += ['acl', 'net']
diff --git a/test/Makefile b/test/Makefile
index 4ffc087a0..0b7a3ed96 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -4,7 +4,6 @@
 include $(RTE_SDK)/mk/rte.vars.mk
 
 DIRS-$(CONFIG_RTE_APP_TEST) += test
-DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
 DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
 
 include $(RTE_SDK)/mk/rte.subdir.mk
-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH 3/4] test/test-pipeline: move to app directory
  2019-01-25 20:26 [dpdk-dev] [PATCH 0/4] RFC: consolidate testing apps to app dir Bruce Richardson
  2019-01-25 20:26 ` [dpdk-dev] [PATCH 1/4] test/cmdline_test: move to app directory Bruce Richardson
  2019-01-25 20:26 ` [dpdk-dev] [PATCH 2/4] test/test-acl: " Bruce Richardson
@ 2019-01-25 20:26 ` Bruce Richardson
  2019-01-25 20:26 ` [dpdk-dev] [PATCH 4/4] test/bpf: move to examples folder Bruce Richardson
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-01-25 20:26 UTC (permalink / raw)
  To: dev; +Cc: Bruce Richardson

Move to the app directory, and add to meson build.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 app/Makefile                                    |  1 +
 app/meson.build                                 |  1 +
 {test => app}/test-pipeline/Makefile            |  0
 {test => app}/test-pipeline/config.c            |  0
 {test => app}/test-pipeline/init.c              |  0
 {test => app}/test-pipeline/main.c              |  0
 {test => app}/test-pipeline/main.h              |  0
 app/test-pipeline/meson.build                   | 14 ++++++++++++++
 {test => app}/test-pipeline/pipeline_acl.c      |  0
 {test => app}/test-pipeline/pipeline_hash.c     |  0
 {test => app}/test-pipeline/pipeline_lpm.c      |  0
 {test => app}/test-pipeline/pipeline_lpm_ipv6.c |  0
 {test => app}/test-pipeline/pipeline_stub.c     |  0
 {test => app}/test-pipeline/runtime.c           |  0
 test/Makefile                                   |  1 -
 15 files changed, 16 insertions(+), 1 deletion(-)
 rename {test => app}/test-pipeline/Makefile (100%)
 rename {test => app}/test-pipeline/config.c (100%)
 rename {test => app}/test-pipeline/init.c (100%)
 rename {test => app}/test-pipeline/main.c (100%)
 rename {test => app}/test-pipeline/main.h (100%)
 create mode 100644 app/test-pipeline/meson.build
 rename {test => app}/test-pipeline/pipeline_acl.c (100%)
 rename {test => app}/test-pipeline/pipeline_hash.c (100%)
 rename {test => app}/test-pipeline/pipeline_lpm.c (100%)
 rename {test => app}/test-pipeline/pipeline_lpm_ipv6.c (100%)
 rename {test => app}/test-pipeline/pipeline_stub.c (100%)
 rename {test => app}/test-pipeline/runtime.c (100%)

diff --git a/app/Makefile b/app/Makefile
index 7f397f3d5..2940ac38f 100644
--- a/app/Makefile
+++ b/app/Makefile
@@ -8,6 +8,7 @@ DIRS-$(CONFIG_RTE_PROC_INFO) += proc-info
 DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += pdump
 DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_test
 DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
+DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
 
 ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
 DIRS-$(CONFIG_RTE_TEST_BBDEV) += test-bbdev
diff --git a/app/meson.build b/app/meson.build
index 5865d5e01..6053af7c1 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -9,6 +9,7 @@ apps = ['cmdline_test',
 	'test-compress-perf',
 	'test-crypto-perf',
 	'test-eventdev',
+	'test-pipeline',
 	'test-pmd']
 
 # for BSD only
diff --git a/test/test-pipeline/Makefile b/app/test-pipeline/Makefile
similarity index 100%
rename from test/test-pipeline/Makefile
rename to app/test-pipeline/Makefile
diff --git a/test/test-pipeline/config.c b/app/test-pipeline/config.c
similarity index 100%
rename from test/test-pipeline/config.c
rename to app/test-pipeline/config.c
diff --git a/test/test-pipeline/init.c b/app/test-pipeline/init.c
similarity index 100%
rename from test/test-pipeline/init.c
rename to app/test-pipeline/init.c
diff --git a/test/test-pipeline/main.c b/app/test-pipeline/main.c
similarity index 100%
rename from test/test-pipeline/main.c
rename to app/test-pipeline/main.c
diff --git a/test/test-pipeline/main.h b/app/test-pipeline/main.h
similarity index 100%
rename from test/test-pipeline/main.h
rename to app/test-pipeline/main.h
diff --git a/app/test-pipeline/meson.build b/app/test-pipeline/meson.build
new file mode 100644
index 000000000..274391c61
--- /dev/null
+++ b/app/test-pipeline/meson.build
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+
+sources = files(
+	'config.c',
+	'init.c',
+	'main.c',
+	'pipeline_acl.c',
+	'pipeline_hash.c',
+	'pipeline_lpm.c',
+	'pipeline_lpm_ipv6.c',
+	'pipeline_stub.c',
+	'runtime.c')
+deps += 'pipeline'
diff --git a/test/test-pipeline/pipeline_acl.c b/app/test-pipeline/pipeline_acl.c
similarity index 100%
rename from test/test-pipeline/pipeline_acl.c
rename to app/test-pipeline/pipeline_acl.c
diff --git a/test/test-pipeline/pipeline_hash.c b/app/test-pipeline/pipeline_hash.c
similarity index 100%
rename from test/test-pipeline/pipeline_hash.c
rename to app/test-pipeline/pipeline_hash.c
diff --git a/test/test-pipeline/pipeline_lpm.c b/app/test-pipeline/pipeline_lpm.c
similarity index 100%
rename from test/test-pipeline/pipeline_lpm.c
rename to app/test-pipeline/pipeline_lpm.c
diff --git a/test/test-pipeline/pipeline_lpm_ipv6.c b/app/test-pipeline/pipeline_lpm_ipv6.c
similarity index 100%
rename from test/test-pipeline/pipeline_lpm_ipv6.c
rename to app/test-pipeline/pipeline_lpm_ipv6.c
diff --git a/test/test-pipeline/pipeline_stub.c b/app/test-pipeline/pipeline_stub.c
similarity index 100%
rename from test/test-pipeline/pipeline_stub.c
rename to app/test-pipeline/pipeline_stub.c
diff --git a/test/test-pipeline/runtime.c b/app/test-pipeline/runtime.c
similarity index 100%
rename from test/test-pipeline/runtime.c
rename to app/test-pipeline/runtime.c
diff --git a/test/Makefile b/test/Makefile
index 0b7a3ed96..e9ae64b59 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -4,6 +4,5 @@
 include $(RTE_SDK)/mk/rte.vars.mk
 
 DIRS-$(CONFIG_RTE_APP_TEST) += test
-DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
 
 include $(RTE_SDK)/mk/rte.subdir.mk
-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH 4/4] test/bpf: move to examples folder
  2019-01-25 20:26 [dpdk-dev] [PATCH 0/4] RFC: consolidate testing apps to app dir Bruce Richardson
                   ` (2 preceding siblings ...)
  2019-01-25 20:26 ` [dpdk-dev] [PATCH 3/4] test/test-pipeline: " Bruce Richardson
@ 2019-01-25 20:26 ` Bruce Richardson
  2019-01-25 20:30 ` [dpdk-dev] [PATCH 0/4] RFC: consolidate testing apps to app dir Bruce Richardson
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-01-25 20:26 UTC (permalink / raw)
  To: dev; +Cc: Bruce Richardson

The bpf folder didn't actual contain a test application, but instead
basic examples of BPF code for use with testpmd. Therefore we can
move it to the `examples` folder. Being different, it also needs
a README with it, explaining what it is and how to use it. References
to the code from the testpmd docs are suitably updated.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 doc/guides/testpmd_app_ug/testpmd_funcs.rst | 8 ++++----
 examples/bpf/README                         | 8 ++++++++
 {test => examples}/bpf/dummy.c              | 0
 {test => examples}/bpf/mbuf.h               | 0
 examples/bpf/meson.build                    | 6 ++++++
 {test => examples}/bpf/t1.c                 | 0
 {test => examples}/bpf/t2.c                 | 0
 {test => examples}/bpf/t3.c                 | 0
 8 files changed, 18 insertions(+), 4 deletions(-)
 create mode 100644 examples/bpf/README
 rename {test => examples}/bpf/dummy.c (100%)
 rename {test => examples}/bpf/mbuf.h (100%)
 create mode 100644 examples/bpf/meson.build
 rename {test => examples}/bpf/t1.c (100%)
 rename {test => examples}/bpf/t2.c (100%)
 rename {test => examples}/bpf/t3.c (100%)

diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 854af2d5f..ad382ddb3 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -4487,20 +4487,20 @@ For example:
 
 .. code-block:: console
 
-   cd test/bpf
+   cd examples/bpf
    clang -O2 -target bpf -c t1.c
 
 Then to load (and JIT compile) t1.o at RX queue 0, port 1::
 
 .. code-block:: console
 
-   testpmd> bpf-load rx 1 0 J ./dpdk.org/test/bpf/t1.o
+   testpmd> bpf-load rx 1 0 J ./dpdk.org/examples/bpf/t1.o
 
 To load (not JITed) t1.o at TX queue 0, port 0::
 
 .. code-block:: console
 
-   testpmd> bpf-load tx 0 0 - ./dpdk.org/test/bpf/t1.o
+   testpmd> bpf-load tx 0 0 - ./dpdk.org/examples/bpf/t1.o
 
 bpf-unload
 ~~~~~~~~~~
@@ -4513,4 +4513,4 @@ For example to unload BPF filter from TX queue 0, port 0:
 
 .. code-block:: console
 
-   testpmd> bpf-load tx 0 0 - ./dpdk.org/test/bpf/t1.o
+   testpmd> bpf-unload tx 0 0
diff --git a/examples/bpf/README b/examples/bpf/README
new file mode 100644
index 000000000..d714180a5
--- /dev/null
+++ b/examples/bpf/README
@@ -0,0 +1,8 @@
+This folder contains example BPF programs for use with the DPDK bpf
+library. To get details of each program and how to compile it, see
+the header on the '.c' file itself.
+
+Once compiled, these example programs can be loaded into `testpmd`
+for execution on a packet stream. See `bpf-load` and `bpf-unload`
+commands documented in the `Testpmd Application User Guide` for
+details on how to do so.
diff --git a/test/bpf/dummy.c b/examples/bpf/dummy.c
similarity index 100%
rename from test/bpf/dummy.c
rename to examples/bpf/dummy.c
diff --git a/test/bpf/mbuf.h b/examples/bpf/mbuf.h
similarity index 100%
rename from test/bpf/mbuf.h
rename to examples/bpf/mbuf.h
diff --git a/examples/bpf/meson.build b/examples/bpf/meson.build
new file mode 100644
index 000000000..bf1c4f831
--- /dev/null
+++ b/examples/bpf/meson.build
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+
+# This contains BPF example code for use in testing BPF with testpmd,
+# therefore it should not be built as part of a meson build.
+build=false
diff --git a/test/bpf/t1.c b/examples/bpf/t1.c
similarity index 100%
rename from test/bpf/t1.c
rename to examples/bpf/t1.c
diff --git a/test/bpf/t2.c b/examples/bpf/t2.c
similarity index 100%
rename from test/bpf/t2.c
rename to examples/bpf/t2.c
diff --git a/test/bpf/t3.c b/examples/bpf/t3.c
similarity index 100%
rename from test/bpf/t3.c
rename to examples/bpf/t3.c
-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH 0/4] RFC: consolidate testing apps to app dir
  2019-01-25 20:26 [dpdk-dev] [PATCH 0/4] RFC: consolidate testing apps to app dir Bruce Richardson
                   ` (3 preceding siblings ...)
  2019-01-25 20:26 ` [dpdk-dev] [PATCH 4/4] test/bpf: move to examples folder Bruce Richardson
@ 2019-01-25 20:30 ` Bruce Richardson
  2019-01-29 11:40   ` Thomas Monjalon
  2019-02-19 14:53 ` [dpdk-dev] [PATCH v2 0/5] " Bruce Richardson
  2019-02-26 12:18 ` [dpdk-dev] [PATCH v3 " Bruce Richardson
  6 siblings, 1 reply; 33+ messages in thread
From: Bruce Richardson @ 2019-01-25 20:30 UTC (permalink / raw)
  To: dev

On Fri, Jan 25, 2019 at 08:26:38PM +0000, Bruce Richardson wrote:
> The apps for testing are split between the "test" and "app" directories,
> with a not-very-clear distinction between the two (at least to my mind).
> 
> Given how the apps are being built, the easiest path to having
> cmdline_test, test-acl and test-pipeline build using meson is to
> consolidate all these apps back into the app folder and use the logic
> there. The bpf folder doesn't contain an actual application, but
> rather example bpf code which can be loaded into testpmd. That is
> possibly best moved to the examples folder, but I'm open to feedback
> on the best place for it.
> 
> With these changes, the "test" folder then becomes the location for
> unit tests only.
> 
> 
> Bruce Richardson (4):
>   test/cmdline_test: move to app directory
>   test/test-acl: move to app directory
>   test/test-pipeline: move to app directory
>   test/bpf: move to examples folder
> 

Although these patches are for 19.05, I'm sending them now for some early
review, as I think we need a deprecation notice for this change in 19.02 if
these changes are acceptable to people.

Therefore, please review and let me know any issues people see with this
change.

/Bruce

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH 0/4] RFC: consolidate testing apps to app dir
  2019-01-25 20:30 ` [dpdk-dev] [PATCH 0/4] RFC: consolidate testing apps to app dir Bruce Richardson
@ 2019-01-29 11:40   ` Thomas Monjalon
  2019-01-29 11:52     ` Bruce Richardson
  0 siblings, 1 reply; 33+ messages in thread
From: Thomas Monjalon @ 2019-01-29 11:40 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev

25/01/2019 21:30, Bruce Richardson:
> On Fri, Jan 25, 2019 at 08:26:38PM +0000, Bruce Richardson wrote:
> > The apps for testing are split between the "test" and "app" directories,
> > with a not-very-clear distinction between the two (at least to my mind).
> > 
> > Given how the apps are being built, the easiest path to having
> > cmdline_test, test-acl and test-pipeline build using meson is to
> > consolidate all these apps back into the app folder and use the logic
> > there. The bpf folder doesn't contain an actual application, but
> > rather example bpf code which can be loaded into testpmd. That is
> > possibly best moved to the examples folder, but I'm open to feedback
> > on the best place for it.
> > 
> > With these changes, the "test" folder then becomes the location for
> > unit tests only.
> > 
> > 
> > Bruce Richardson (4):
> >   test/cmdline_test: move to app directory
> >   test/test-acl: move to app directory
> >   test/test-pipeline: move to app directory
> >   test/bpf: move to examples folder
> > 
> 
> Although these patches are for 19.05, I'm sending them now for some early
> review, as I think we need a deprecation notice for this change in 19.02 if
> these changes are acceptable to people.

We don't need a deprecation notice, as it is an internal change
without any impact for the users.

> Therefore, please review and let me know any issues people see with this
> change.

We should move all test apps into the same directory.
Is there any benefit of keeping unit tests separate?
It looks more logic to move everything in test/
but it would make the git history of testpmd more complex.
The other choice is to move all tests in app/.

The other split to discuss is between app/ and usertools/.
We could move user-oriented apps to usertools.
pdump and proc-info fall into this basket because they
can be used for debugging purpose.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH 0/4] RFC: consolidate testing apps to app dir
  2019-01-29 11:40   ` Thomas Monjalon
@ 2019-01-29 11:52     ` Bruce Richardson
  0 siblings, 0 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-01-29 11:52 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev

On Tue, Jan 29, 2019 at 12:40:37PM +0100, Thomas Monjalon wrote:
> 25/01/2019 21:30, Bruce Richardson:
> > On Fri, Jan 25, 2019 at 08:26:38PM +0000, Bruce Richardson wrote:
> > > The apps for testing are split between the "test" and "app" directories,
> > > with a not-very-clear distinction between the two (at least to my mind).
> > > 
> > > Given how the apps are being built, the easiest path to having
> > > cmdline_test, test-acl and test-pipeline build using meson is to
> > > consolidate all these apps back into the app folder and use the logic
> > > there. The bpf folder doesn't contain an actual application, but
> > > rather example bpf code which can be loaded into testpmd. That is
> > > possibly best moved to the examples folder, but I'm open to feedback
> > > on the best place for it.
> > > 
> > > With these changes, the "test" folder then becomes the location for
> > > unit tests only.
> > > 
> > > 
> > > Bruce Richardson (4):
> > >   test/cmdline_test: move to app directory
> > >   test/test-acl: move to app directory
> > >   test/test-pipeline: move to app directory
> > >   test/bpf: move to examples folder
> > > 
> > 
> > Although these patches are for 19.05, I'm sending them now for some early
> > review, as I think we need a deprecation notice for this change in 19.02 if
> > these changes are acceptable to people.
> 
> We don't need a deprecation notice, as it is an internal change
> without any impact for the users.
> 

Yes, good point. With the make build system these test apps end up in the
app folder anyway. With meson, they aren't yet built, so either way it
isn't a user-visible change.

> > Therefore, please review and let me know any issues people see with this
> > change.
> 
> We should move all test apps into the same directory.
> Is there any benefit of keeping unit tests separate?
> It looks more logic to move everything in test/
> but it would make the git history of testpmd more complex.
> The other choice is to move all tests in app/.
> 

I'd prefer to keep things in app, for legacy reasons more than anything
else. Not sure about moving the unit tests there too - I sort of like
having them in a separate test directory. However, if others generally
prefer that they too get consolidated into app, I won't complain! :-)

If we do end up moving the tests, another thing to consider is whether we
want to split them up by topic or suite. There are now a lot of C files in
the test folder, which suggests to me we need to split things a little.

> The other split to discuss is between app/ and usertools/.
> We could move user-oriented apps to usertools.
> pdump and proc-info fall into this basket because they
> can be used for debugging purpose.
> 

Yes. However, is this better handled via the installation rather than the
build? Even if the source code is moved to the usertools directory, the
actual binaries are going to be placed in the build folder, separate from
the scripts anyway. I'd suggest leaving them as they are, though perhaps
putting in a symlink to them from the usertools folder to make them easier
to find.

/Bruce

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v2 0/5] consolidate testing apps to app dir
  2019-01-25 20:26 [dpdk-dev] [PATCH 0/4] RFC: consolidate testing apps to app dir Bruce Richardson
                   ` (4 preceding siblings ...)
  2019-01-25 20:30 ` [dpdk-dev] [PATCH 0/4] RFC: consolidate testing apps to app dir Bruce Richardson
@ 2019-02-19 14:53 ` Bruce Richardson
  2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 1/5] test/cmdline_test: move to app directory Bruce Richardson
                     ` (5 more replies)
  2019-02-26 12:18 ` [dpdk-dev] [PATCH v3 " Bruce Richardson
  6 siblings, 6 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-02-19 14:53 UTC (permalink / raw)
  To: dev, thomas; +Cc: Bruce Richardson

The apps for testing are split between the "test" and "app" directories,
with a not-very-clear distinction between the two (at least to my mind).

Given how the apps are being built, the easiest path to having
cmdline_test, test-acl and test-pipeline build using meson is to
consolidate all these apps back into the app folder and use the logic
there. The bpf folder doesn't contain an actual application, but
rather example bpf code which can be loaded into testpmd. That is
possibly best moved to the examples folder, but I'm open to feedback
on the best place for it.

With these changes, the "test" folder then becomes the location for
unit tests only. However, we can simplify things a little by moving
that too to the app folder, eliminating the need for the separate
"test-build" make target, and aligning the output folder for the
binary from "make test-build" with the source file location in app.

---
V2: * Following some discussion with Thomas, moved the autotests to the
      app folder too.
    * Updated maintainers file appropriately in each patch.

Bruce Richardson (5):
  test/cmdline_test: move to app directory
  test/test-acl: move to app directory
  test/test-pipeline: move to app directory
  test/bpf: move to examples folder
  test/test: move to app folder

 GNUmakefile                                   |   1 -
 MAINTAINERS                                   | 190 +++++++++---------
 app/Makefile                                  |   4 +
 {test => app}/cmdline_test/Makefile           |   0
 {test => app}/cmdline_test/cmdline_test.c     |   0
 {test => app}/cmdline_test/cmdline_test.h     |   0
 {test => app}/cmdline_test/cmdline_test.py    |   0
 .../cmdline_test/cmdline_test_data.py         |   0
 {test => app}/cmdline_test/commands.c         |   0
 app/cmdline_test/meson.build                  |   5 +
 app/meson.build                               |   8 +-
 {test => app}/test-acl/Makefile               |   0
 {test => app}/test-acl/main.c                 |   0
 app/test-acl/meson.build                      |   5 +
 {test => app}/test-pipeline/Makefile          |   0
 {test => app}/test-pipeline/config.c          |   0
 {test => app}/test-pipeline/init.c            |   0
 {test => app}/test-pipeline/main.c            |   0
 {test => app}/test-pipeline/main.h            |   0
 app/test-pipeline/meson.build                 |  14 ++
 {test => app}/test-pipeline/pipeline_acl.c    |   0
 {test => app}/test-pipeline/pipeline_hash.c   |   0
 {test => app}/test-pipeline/pipeline_lpm.c    |   0
 .../test-pipeline/pipeline_lpm_ipv6.c         |   0
 {test => app}/test-pipeline/pipeline_stub.c   |   0
 {test => app}/test-pipeline/runtime.c         |   0
 {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 +-
 doc/guides/sample_app_ug/test_pipeline.rst    |   2 +-
 doc/guides/testpmd_app_ug/testpmd_funcs.rst   |   8 +-
 examples/bpf/README                           |   8 +
 {test => examples}/bpf/dummy.c                |   0
 {test => examples}/bpf/mbuf.h                 |   0
 examples/bpf/meson.build                      |   6 +
 {test => examples}/bpf/t1.c                   |   0
 {test => examples}/bpf/t2.c                   |   0
 {test => examples}/bpf/t3.c                   |   0
 meson.build                                   |   1 -
 mk/rte.sdkbuild.mk                            |   3 -
 mk/rte.sdkroot.mk                             |   6 +-
 mk/rte.sdktest.mk                             |   8 +-
 test/Makefile                                 |  11 -
 test/meson.build                              |   4 -
 212 files changed, 161 insertions(+), 138 deletions(-)
 rename {test => app}/cmdline_test/Makefile (100%)
 rename {test => app}/cmdline_test/cmdline_test.c (100%)
 rename {test => app}/cmdline_test/cmdline_test.h (100%)
 rename {test => app}/cmdline_test/cmdline_test.py (100%)
 rename {test => app}/cmdline_test/cmdline_test_data.py (100%)
 rename {test => app}/cmdline_test/commands.c (100%)
 create mode 100644 app/cmdline_test/meson.build
 rename {test => app}/test-acl/Makefile (100%)
 rename {test => app}/test-acl/main.c (100%)
 create mode 100644 app/test-acl/meson.build
 rename {test => app}/test-pipeline/Makefile (100%)
 rename {test => app}/test-pipeline/config.c (100%)
 rename {test => app}/test-pipeline/init.c (100%)
 rename {test => app}/test-pipeline/main.c (100%)
 rename {test => app}/test-pipeline/main.h (100%)
 create mode 100644 app/test-pipeline/meson.build
 rename {test => app}/test-pipeline/pipeline_acl.c (100%)
 rename {test => app}/test-pipeline/pipeline_hash.c (100%)
 rename {test => app}/test-pipeline/pipeline_lpm.c (100%)
 rename {test => app}/test-pipeline/pipeline_lpm_ipv6.c (100%)
 rename {test => app}/test-pipeline/pipeline_stub.c (100%)
 rename {test => app}/test-pipeline/runtime.c (100%)
 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%)
 create mode 100644 examples/bpf/README
 rename {test => examples}/bpf/dummy.c (100%)
 rename {test => examples}/bpf/mbuf.h (100%)
 create mode 100644 examples/bpf/meson.build
 rename {test => examples}/bpf/t1.c (100%)
 rename {test => examples}/bpf/t2.c (100%)
 rename {test => examples}/bpf/t3.c (100%)
 delete mode 100644 test/Makefile
 delete mode 100644 test/meson.build

-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v2 1/5] test/cmdline_test: move to app directory
  2019-02-19 14:53 ` [dpdk-dev] [PATCH v2 0/5] " Bruce Richardson
@ 2019-02-19 14:53   ` Bruce Richardson
  2019-02-26  9:14     ` Thomas Monjalon
  2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 2/5] test/test-acl: " Bruce Richardson
                     ` (4 subsequent siblings)
  5 siblings, 1 reply; 33+ messages in thread
From: Bruce Richardson @ 2019-02-19 14:53 UTC (permalink / raw)
  To: dev, thomas; +Cc: Bruce Richardson, Olivier Matz

Move app to "app" directory and enable with meson build.

CC: Olivier Matz <olivier.matz@6wind.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 MAINTAINERS                                     | 2 +-
 app/Makefile                                    | 1 +
 {test => app}/cmdline_test/Makefile             | 0
 {test => app}/cmdline_test/cmdline_test.c       | 0
 {test => app}/cmdline_test/cmdline_test.h       | 0
 {test => app}/cmdline_test/cmdline_test.py      | 0
 {test => app}/cmdline_test/cmdline_test_data.py | 0
 {test => app}/cmdline_test/commands.c           | 0
 app/cmdline_test/meson.build                    | 5 +++++
 app/meson.build                                 | 3 ++-
 test/Makefile                                   | 1 -
 11 files changed, 9 insertions(+), 3 deletions(-)
 rename {test => app}/cmdline_test/Makefile (100%)
 rename {test => app}/cmdline_test/cmdline_test.c (100%)
 rename {test => app}/cmdline_test/cmdline_test.h (100%)
 rename {test => app}/cmdline_test/cmdline_test.py (100%)
 rename {test => app}/cmdline_test/cmdline_test_data.py (100%)
 rename {test => app}/cmdline_test/commands.c (100%)
 create mode 100644 app/cmdline_test/meson.build

diff --git a/MAINTAINERS b/MAINTAINERS
index eef480ab5..1a381f9bc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1168,7 +1168,7 @@ F: test/test/test_cfgfiles/
 Interactive command line
 M: Olivier Matz <olivier.matz@6wind.com>
 F: lib/librte_cmdline/
-F: test/cmdline_test/
+F: app/cmdline_test/
 F: test/test/test_cmdline*
 F: examples/cmdline/
 F: doc/guides/sample_app_ug/cmd_line.rst
diff --git a/app/Makefile b/app/Makefile
index d6641ef1c..3515097d9 100644
--- a/app/Makefile
+++ b/app/Makefile
@@ -6,6 +6,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 DIRS-$(CONFIG_RTE_TEST_PMD) += test-pmd
 DIRS-$(CONFIG_RTE_PROC_INFO) += proc-info
 DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += pdump
+DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_test
 
 ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
 DIRS-$(CONFIG_RTE_TEST_BBDEV) += test-bbdev
diff --git a/test/cmdline_test/Makefile b/app/cmdline_test/Makefile
similarity index 100%
rename from test/cmdline_test/Makefile
rename to app/cmdline_test/Makefile
diff --git a/test/cmdline_test/cmdline_test.c b/app/cmdline_test/cmdline_test.c
similarity index 100%
rename from test/cmdline_test/cmdline_test.c
rename to app/cmdline_test/cmdline_test.c
diff --git a/test/cmdline_test/cmdline_test.h b/app/cmdline_test/cmdline_test.h
similarity index 100%
rename from test/cmdline_test/cmdline_test.h
rename to app/cmdline_test/cmdline_test.h
diff --git a/test/cmdline_test/cmdline_test.py b/app/cmdline_test/cmdline_test.py
similarity index 100%
rename from test/cmdline_test/cmdline_test.py
rename to app/cmdline_test/cmdline_test.py
diff --git a/test/cmdline_test/cmdline_test_data.py b/app/cmdline_test/cmdline_test_data.py
similarity index 100%
rename from test/cmdline_test/cmdline_test_data.py
rename to app/cmdline_test/cmdline_test_data.py
diff --git a/test/cmdline_test/commands.c b/app/cmdline_test/commands.c
similarity index 100%
rename from test/cmdline_test/commands.c
rename to app/cmdline_test/commands.c
diff --git a/app/cmdline_test/meson.build b/app/cmdline_test/meson.build
new file mode 100644
index 000000000..9d0a9aeb6
--- /dev/null
+++ b/app/cmdline_test/meson.build
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+
+sources = files('commands.c', 'cmdline_test.c')
+deps += 'cmdline'
diff --git a/app/meson.build b/app/meson.build
index 47a2a8615..9fc9b4fdc 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -1,7 +1,8 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-apps = ['pdump',
+apps = ['cmdline_test',
+	'pdump',
 	'proc-info',
 	'test-bbdev',
 	'test-compress-perf',
diff --git a/test/Makefile b/test/Makefile
index 6656374fc..4ffc087a0 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -6,6 +6,5 @@ include $(RTE_SDK)/mk/rte.vars.mk
 DIRS-$(CONFIG_RTE_APP_TEST) += test
 DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
 DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
-DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_test
 
 include $(RTE_SDK)/mk/rte.subdir.mk
-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v2 2/5] test/test-acl: move to app directory
  2019-02-19 14:53 ` [dpdk-dev] [PATCH v2 0/5] " Bruce Richardson
  2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 1/5] test/cmdline_test: move to app directory Bruce Richardson
@ 2019-02-19 14:53   ` Bruce Richardson
  2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 3/5] test/test-pipeline: " Bruce Richardson
                     ` (3 subsequent siblings)
  5 siblings, 0 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-02-19 14:53 UTC (permalink / raw)
  To: dev, thomas; +Cc: Bruce Richardson, Konstantin Ananyev

Move to "app" directory and enable with meson build.

CC: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 MAINTAINERS                     | 2 +-
 app/Makefile                    | 1 +
 app/meson.build                 | 1 +
 {test => app}/test-acl/Makefile | 0
 {test => app}/test-acl/main.c   | 0
 app/test-acl/meson.build        | 5 +++++
 test/Makefile                   | 1 -
 7 files changed, 8 insertions(+), 2 deletions(-)
 rename {test => app}/test-acl/Makefile (100%)
 rename {test => app}/test-acl/main.c (100%)
 create mode 100644 app/test-acl/meson.build

diff --git a/MAINTAINERS b/MAINTAINERS
index 1a381f9bc..70a7a1371 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1107,7 +1107,7 @@ ACL
 M: Konstantin Ananyev <konstantin.ananyev@intel.com>
 F: lib/librte_acl/
 F: doc/guides/prog_guide/packet_classif_access_ctrl.rst
-F: test/test-acl/
+F: app/test-acl/
 F: test/test/test_acl.*
 F: examples/l3fwd-acl/
 F: doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
diff --git a/app/Makefile b/app/Makefile
index 3515097d9..7f397f3d5 100644
--- a/app/Makefile
+++ b/app/Makefile
@@ -7,6 +7,7 @@ DIRS-$(CONFIG_RTE_TEST_PMD) += test-pmd
 DIRS-$(CONFIG_RTE_PROC_INFO) += proc-info
 DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += pdump
 DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_test
+DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
 
 ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
 DIRS-$(CONFIG_RTE_TEST_BBDEV) += test-bbdev
diff --git a/app/meson.build b/app/meson.build
index 9fc9b4fdc..5865d5e01 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -4,6 +4,7 @@
 apps = ['cmdline_test',
 	'pdump',
 	'proc-info',
+	'test-acl',
 	'test-bbdev',
 	'test-compress-perf',
 	'test-crypto-perf',
diff --git a/test/test-acl/Makefile b/app/test-acl/Makefile
similarity index 100%
rename from test/test-acl/Makefile
rename to app/test-acl/Makefile
diff --git a/test/test-acl/main.c b/app/test-acl/main.c
similarity index 100%
rename from test/test-acl/main.c
rename to app/test-acl/main.c
diff --git a/app/test-acl/meson.build b/app/test-acl/meson.build
new file mode 100644
index 000000000..d5c2581b4
--- /dev/null
+++ b/app/test-acl/meson.build
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+
+sources = files('main.c')
+deps += ['acl', 'net']
diff --git a/test/Makefile b/test/Makefile
index 4ffc087a0..0b7a3ed96 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -4,7 +4,6 @@
 include $(RTE_SDK)/mk/rte.vars.mk
 
 DIRS-$(CONFIG_RTE_APP_TEST) += test
-DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
 DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
 
 include $(RTE_SDK)/mk/rte.subdir.mk
-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v2 3/5] test/test-pipeline: move to app directory
  2019-02-19 14:53 ` [dpdk-dev] [PATCH v2 0/5] " Bruce Richardson
  2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 1/5] test/cmdline_test: move to app directory Bruce Richardson
  2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 2/5] test/test-acl: " Bruce Richardson
@ 2019-02-19 14:53   ` Bruce Richardson
  2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 4/5] test/bpf: move to examples folder Bruce Richardson
                     ` (2 subsequent siblings)
  5 siblings, 0 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-02-19 14:53 UTC (permalink / raw)
  To: dev, thomas; +Cc: Bruce Richardson, Cristian Dumitrescu

Move to the app directory, and add to meson build.

CC: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 MAINTAINERS                                     |  2 +-
 app/Makefile                                    |  1 +
 app/meson.build                                 |  1 +
 {test => app}/test-pipeline/Makefile            |  0
 {test => app}/test-pipeline/config.c            |  0
 {test => app}/test-pipeline/init.c              |  0
 {test => app}/test-pipeline/main.c              |  0
 {test => app}/test-pipeline/main.h              |  0
 app/test-pipeline/meson.build                   | 14 ++++++++++++++
 {test => app}/test-pipeline/pipeline_acl.c      |  0
 {test => app}/test-pipeline/pipeline_hash.c     |  0
 {test => app}/test-pipeline/pipeline_lpm.c      |  0
 {test => app}/test-pipeline/pipeline_lpm_ipv6.c |  0
 {test => app}/test-pipeline/pipeline_stub.c     |  0
 {test => app}/test-pipeline/runtime.c           |  0
 doc/guides/sample_app_ug/test_pipeline.rst      |  2 +-
 test/Makefile                                   |  1 -
 17 files changed, 18 insertions(+), 3 deletions(-)
 rename {test => app}/test-pipeline/Makefile (100%)
 rename {test => app}/test-pipeline/config.c (100%)
 rename {test => app}/test-pipeline/init.c (100%)
 rename {test => app}/test-pipeline/main.c (100%)
 rename {test => app}/test-pipeline/main.h (100%)
 create mode 100644 app/test-pipeline/meson.build
 rename {test => app}/test-pipeline/pipeline_acl.c (100%)
 rename {test => app}/test-pipeline/pipeline_hash.c (100%)
 rename {test => app}/test-pipeline/pipeline_lpm.c (100%)
 rename {test => app}/test-pipeline/pipeline_lpm_ipv6.c (100%)
 rename {test => app}/test-pipeline/pipeline_stub.c (100%)
 rename {test => app}/test-pipeline/runtime.c (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index 70a7a1371..c4619174a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1094,7 +1094,7 @@ F: lib/librte_port/
 F: lib/librte_table/
 F: doc/guides/prog_guide/packet_framework.rst
 F: test/test/test_table*
-F: test/test-pipeline/
+F: app/test-pipeline/
 F: doc/guides/sample_app_ug/test_pipeline.rst
 F: examples/ip_pipeline/
 F: doc/guides/sample_app_ug/ip_pipeline.rst
diff --git a/app/Makefile b/app/Makefile
index 7f397f3d5..2940ac38f 100644
--- a/app/Makefile
+++ b/app/Makefile
@@ -8,6 +8,7 @@ DIRS-$(CONFIG_RTE_PROC_INFO) += proc-info
 DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += pdump
 DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_test
 DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
+DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
 
 ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
 DIRS-$(CONFIG_RTE_TEST_BBDEV) += test-bbdev
diff --git a/app/meson.build b/app/meson.build
index 5865d5e01..6053af7c1 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -9,6 +9,7 @@ apps = ['cmdline_test',
 	'test-compress-perf',
 	'test-crypto-perf',
 	'test-eventdev',
+	'test-pipeline',
 	'test-pmd']
 
 # for BSD only
diff --git a/test/test-pipeline/Makefile b/app/test-pipeline/Makefile
similarity index 100%
rename from test/test-pipeline/Makefile
rename to app/test-pipeline/Makefile
diff --git a/test/test-pipeline/config.c b/app/test-pipeline/config.c
similarity index 100%
rename from test/test-pipeline/config.c
rename to app/test-pipeline/config.c
diff --git a/test/test-pipeline/init.c b/app/test-pipeline/init.c
similarity index 100%
rename from test/test-pipeline/init.c
rename to app/test-pipeline/init.c
diff --git a/test/test-pipeline/main.c b/app/test-pipeline/main.c
similarity index 100%
rename from test/test-pipeline/main.c
rename to app/test-pipeline/main.c
diff --git a/test/test-pipeline/main.h b/app/test-pipeline/main.h
similarity index 100%
rename from test/test-pipeline/main.h
rename to app/test-pipeline/main.h
diff --git a/app/test-pipeline/meson.build b/app/test-pipeline/meson.build
new file mode 100644
index 000000000..5578b414d
--- /dev/null
+++ b/app/test-pipeline/meson.build
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+
+sources = files(
+	'config.c',
+	'init.c',
+	'main.c',
+	'pipeline_acl.c',
+	'pipeline_hash.c',
+	'pipeline_lpm.c',
+	'pipeline_lpm_ipv6.c',
+	'pipeline_stub.c',
+	'runtime.c')
+deps += 'pipeline'
diff --git a/test/test-pipeline/pipeline_acl.c b/app/test-pipeline/pipeline_acl.c
similarity index 100%
rename from test/test-pipeline/pipeline_acl.c
rename to app/test-pipeline/pipeline_acl.c
diff --git a/test/test-pipeline/pipeline_hash.c b/app/test-pipeline/pipeline_hash.c
similarity index 100%
rename from test/test-pipeline/pipeline_hash.c
rename to app/test-pipeline/pipeline_hash.c
diff --git a/test/test-pipeline/pipeline_lpm.c b/app/test-pipeline/pipeline_lpm.c
similarity index 100%
rename from test/test-pipeline/pipeline_lpm.c
rename to app/test-pipeline/pipeline_lpm.c
diff --git a/test/test-pipeline/pipeline_lpm_ipv6.c b/app/test-pipeline/pipeline_lpm_ipv6.c
similarity index 100%
rename from test/test-pipeline/pipeline_lpm_ipv6.c
rename to app/test-pipeline/pipeline_lpm_ipv6.c
diff --git a/test/test-pipeline/pipeline_stub.c b/app/test-pipeline/pipeline_stub.c
similarity index 100%
rename from test/test-pipeline/pipeline_stub.c
rename to app/test-pipeline/pipeline_stub.c
diff --git a/test/test-pipeline/runtime.c b/app/test-pipeline/runtime.c
similarity index 100%
rename from test/test-pipeline/runtime.c
rename to app/test-pipeline/runtime.c
diff --git a/doc/guides/sample_app_ug/test_pipeline.rst b/doc/guides/sample_app_ug/test_pipeline.rst
index a9370c80b..5f313c529 100644
--- a/doc/guides/sample_app_ug/test_pipeline.rst
+++ b/doc/guides/sample_app_ug/test_pipeline.rst
@@ -32,7 +32,7 @@ Compiling the Application
 -------------------------
 To compile the sample application see :doc:`compiling`
 
-The application is located in the ``$RTE_SDK/test/test-pipline`` directory.
+The application is located in the ``$RTE_SDK/app/test-pipline`` directory.
 
 
 Running the Application
diff --git a/test/Makefile b/test/Makefile
index 0b7a3ed96..e9ae64b59 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -4,6 +4,5 @@
 include $(RTE_SDK)/mk/rte.vars.mk
 
 DIRS-$(CONFIG_RTE_APP_TEST) += test
-DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
 
 include $(RTE_SDK)/mk/rte.subdir.mk
-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v2 4/5] test/bpf: move to examples folder
  2019-02-19 14:53 ` [dpdk-dev] [PATCH v2 0/5] " Bruce Richardson
                     ` (2 preceding siblings ...)
  2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 3/5] test/test-pipeline: " Bruce Richardson
@ 2019-02-19 14:53   ` Bruce Richardson
  2019-02-20  9:35     ` Ananyev, Konstantin
  2019-02-25 16:22     ` Ananyev, Konstantin
  2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 5/5] test/test: move to app folder Bruce Richardson
  2019-02-20 11:47   ` [dpdk-dev] [PATCH v2 0/5] consolidate testing apps to app dir Ferruh Yigit
  5 siblings, 2 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-02-19 14:53 UTC (permalink / raw)
  To: dev, thomas; +Cc: Bruce Richardson, Konstantin Ananyev

The bpf folder didn't actual contain a test application, but instead
basic examples of BPF code for use with testpmd. Therefore we can
move it to the `examples` folder. Being different, it also needs
a README with it, explaining what it is and how to use it. References
to the code from the testpmd docs are suitably updated.

CC: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 MAINTAINERS                                 | 2 +-
 doc/guides/testpmd_app_ug/testpmd_funcs.rst | 8 ++++----
 examples/bpf/README                         | 8 ++++++++
 {test => examples}/bpf/dummy.c              | 0
 {test => examples}/bpf/mbuf.h               | 0
 examples/bpf/meson.build                    | 6 ++++++
 {test => examples}/bpf/t1.c                 | 0
 {test => examples}/bpf/t2.c                 | 0
 {test => examples}/bpf/t3.c                 | 0
 9 files changed, 19 insertions(+), 5 deletions(-)
 create mode 100644 examples/bpf/README
 rename {test => examples}/bpf/dummy.c (100%)
 rename {test => examples}/bpf/mbuf.h (100%)
 create mode 100644 examples/bpf/meson.build
 rename {test => examples}/bpf/t1.c (100%)
 rename {test => examples}/bpf/t2.c (100%)
 rename {test => examples}/bpf/t3.c (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index c4619174a..6d1d0aea7 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1230,7 +1230,7 @@ F: doc/guides/howto/telemetry.rst
 BPF - EXPERIMENTAL
 M: Konstantin Ananyev <konstantin.ananyev@intel.com>
 F: lib/librte_bpf/
-F: test/bpf/
+F: examples/bpf/
 F: test/test/test_bpf.c
 F: doc/guides/prog_guide/bpf_lib.rst
 
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 029148041..b079c60d9 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -4503,20 +4503,20 @@ For example:
 
 .. code-block:: console
 
-   cd test/bpf
+   cd examples/bpf
    clang -O2 -target bpf -c t1.c
 
 Then to load (and JIT compile) t1.o at RX queue 0, port 1::
 
 .. code-block:: console
 
-   testpmd> bpf-load rx 1 0 J ./dpdk.org/test/bpf/t1.o
+   testpmd> bpf-load rx 1 0 J ./dpdk.org/examples/bpf/t1.o
 
 To load (not JITed) t1.o at TX queue 0, port 0::
 
 .. code-block:: console
 
-   testpmd> bpf-load tx 0 0 - ./dpdk.org/test/bpf/t1.o
+   testpmd> bpf-load tx 0 0 - ./dpdk.org/examples/bpf/t1.o
 
 bpf-unload
 ~~~~~~~~~~
@@ -4529,4 +4529,4 @@ For example to unload BPF filter from TX queue 0, port 0:
 
 .. code-block:: console
 
-   testpmd> bpf-load tx 0 0 - ./dpdk.org/test/bpf/t1.o
+   testpmd> bpf-unload tx 0 0
diff --git a/examples/bpf/README b/examples/bpf/README
new file mode 100644
index 000000000..d714180a5
--- /dev/null
+++ b/examples/bpf/README
@@ -0,0 +1,8 @@
+This folder contains example BPF programs for use with the DPDK bpf
+library. To get details of each program and how to compile it, see
+the header on the '.c' file itself.
+
+Once compiled, these example programs can be loaded into `testpmd`
+for execution on a packet stream. See `bpf-load` and `bpf-unload`
+commands documented in the `Testpmd Application User Guide` for
+details on how to do so.
diff --git a/test/bpf/dummy.c b/examples/bpf/dummy.c
similarity index 100%
rename from test/bpf/dummy.c
rename to examples/bpf/dummy.c
diff --git a/test/bpf/mbuf.h b/examples/bpf/mbuf.h
similarity index 100%
rename from test/bpf/mbuf.h
rename to examples/bpf/mbuf.h
diff --git a/examples/bpf/meson.build b/examples/bpf/meson.build
new file mode 100644
index 000000000..0a817aaea
--- /dev/null
+++ b/examples/bpf/meson.build
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+
+# This contains BPF example code for use in testing BPF with testpmd,
+# therefore it should not be built as part of a meson build.
+build=false
diff --git a/test/bpf/t1.c b/examples/bpf/t1.c
similarity index 100%
rename from test/bpf/t1.c
rename to examples/bpf/t1.c
diff --git a/test/bpf/t2.c b/examples/bpf/t2.c
similarity index 100%
rename from test/bpf/t2.c
rename to examples/bpf/t2.c
diff --git a/test/bpf/t3.c b/examples/bpf/t3.c
similarity index 100%
rename from test/bpf/t3.c
rename to examples/bpf/t3.c
-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v2 5/5] test/test: move to app folder
  2019-02-19 14:53 ` [dpdk-dev] [PATCH v2 0/5] " Bruce Richardson
                     ` (3 preceding siblings ...)
  2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 4/5] test/bpf: move to examples folder Bruce Richardson
@ 2019-02-19 14:53   ` Bruce Richardson
  2019-02-20 11:47   ` [dpdk-dev] [PATCH v2 0/5] consolidate testing apps to app dir Ferruh Yigit
  5 siblings, 0 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-02-19 14:53 UTC (permalink / raw)
  To: dev, thomas; +Cc: Bruce Richardson, Ferruh Yigit

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

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')
-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v2 4/5] test/bpf: move to examples folder
  2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 4/5] test/bpf: move to examples folder Bruce Richardson
@ 2019-02-20  9:35     ` Ananyev, Konstantin
  2019-02-20  9:39       ` Bruce Richardson
  2019-02-25 16:22     ` Ananyev, Konstantin
  1 sibling, 1 reply; 33+ messages in thread
From: Ananyev, Konstantin @ 2019-02-20  9:35 UTC (permalink / raw)
  To: Richardson, Bruce, dev, thomas



> -----Original Message-----
> From: Richardson, Bruce
> Sent: Tuesday, February 19, 2019 2:53 PM
> To: dev@dpdk.org; thomas@monjalon.net
> Cc: Richardson, Bruce <bruce.richardson@intel.com>; Ananyev, Konstantin <konstantin.ananyev@intel.com>
> Subject: [PATCH v2 4/5] test/bpf: move to examples folder
> 
> The bpf folder didn't actual contain a test application, but instead
> basic examples of BPF code for use with testpmd.

Might be the better to create app/test-pmf/bpf directory
and move them into it.
Konstantin

> Therefore we can
> move it to the `examples` folder. Being different, it also needs
> a README with it, explaining what it is and how to use it. References
> to the code from the testpmd docs are suitably updated.
> 
> CC: Konstantin Ananyev <konstantin.ananyev@intel.com>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>  MAINTAINERS                                 | 2 +-
>  doc/guides/testpmd_app_ug/testpmd_funcs.rst | 8 ++++----
>  examples/bpf/README                         | 8 ++++++++
>  {test => examples}/bpf/dummy.c              | 0
>  {test => examples}/bpf/mbuf.h               | 0
>  examples/bpf/meson.build                    | 6 ++++++
>  {test => examples}/bpf/t1.c                 | 0
>  {test => examples}/bpf/t2.c                 | 0
>  {test => examples}/bpf/t3.c                 | 0
>  9 files changed, 19 insertions(+), 5 deletions(-)
>  create mode 100644 examples/bpf/README
>  rename {test => examples}/bpf/dummy.c (100%)
>  rename {test => examples}/bpf/mbuf.h (100%)
>  create mode 100644 examples/bpf/meson.build
>  rename {test => examples}/bpf/t1.c (100%)
>  rename {test => examples}/bpf/t2.c (100%)
>  rename {test => examples}/bpf/t3.c (100%)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index c4619174a..6d1d0aea7 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1230,7 +1230,7 @@ F: doc/guides/howto/telemetry.rst
>  BPF - EXPERIMENTAL
>  M: Konstantin Ananyev <konstantin.ananyev@intel.com>
>  F: lib/librte_bpf/
> -F: test/bpf/
> +F: examples/bpf/
>  F: test/test/test_bpf.c
>  F: doc/guides/prog_guide/bpf_lib.rst
> 
> diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> index 029148041..b079c60d9 100644
> --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> @@ -4503,20 +4503,20 @@ For example:
> 
>  .. code-block:: console
> 
> -   cd test/bpf
> +   cd examples/bpf
>     clang -O2 -target bpf -c t1.c
> 
>  Then to load (and JIT compile) t1.o at RX queue 0, port 1::
> 
>  .. code-block:: console
> 
> -   testpmd> bpf-load rx 1 0 J ./dpdk.org/test/bpf/t1.o
> +   testpmd> bpf-load rx 1 0 J ./dpdk.org/examples/bpf/t1.o
> 
>  To load (not JITed) t1.o at TX queue 0, port 0::
> 
>  .. code-block:: console
> 
> -   testpmd> bpf-load tx 0 0 - ./dpdk.org/test/bpf/t1.o
> +   testpmd> bpf-load tx 0 0 - ./dpdk.org/examples/bpf/t1.o
> 
>  bpf-unload
>  ~~~~~~~~~~
> @@ -4529,4 +4529,4 @@ For example to unload BPF filter from TX queue 0, port 0:
> 
>  .. code-block:: console
> 
> -   testpmd> bpf-load tx 0 0 - ./dpdk.org/test/bpf/t1.o
> +   testpmd> bpf-unload tx 0 0
> diff --git a/examples/bpf/README b/examples/bpf/README
> new file mode 100644
> index 000000000..d714180a5
> --- /dev/null
> +++ b/examples/bpf/README
> @@ -0,0 +1,8 @@
> +This folder contains example BPF programs for use with the DPDK bpf
> +library. To get details of each program and how to compile it, see
> +the header on the '.c' file itself.
> +
> +Once compiled, these example programs can be loaded into `testpmd`
> +for execution on a packet stream. See `bpf-load` and `bpf-unload`
> +commands documented in the `Testpmd Application User Guide` for
> +details on how to do so.
> diff --git a/test/bpf/dummy.c b/examples/bpf/dummy.c
> similarity index 100%
> rename from test/bpf/dummy.c
> rename to examples/bpf/dummy.c
> diff --git a/test/bpf/mbuf.h b/examples/bpf/mbuf.h
> similarity index 100%
> rename from test/bpf/mbuf.h
> rename to examples/bpf/mbuf.h
> diff --git a/examples/bpf/meson.build b/examples/bpf/meson.build
> new file mode 100644
> index 000000000..0a817aaea
> --- /dev/null
> +++ b/examples/bpf/meson.build
> @@ -0,0 +1,6 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2019 Intel Corporation
> +
> +# This contains BPF example code for use in testing BPF with testpmd,
> +# therefore it should not be built as part of a meson build.
> +build=false
> diff --git a/test/bpf/t1.c b/examples/bpf/t1.c
> similarity index 100%
> rename from test/bpf/t1.c
> rename to examples/bpf/t1.c
> diff --git a/test/bpf/t2.c b/examples/bpf/t2.c
> similarity index 100%
> rename from test/bpf/t2.c
> rename to examples/bpf/t2.c
> diff --git a/test/bpf/t3.c b/examples/bpf/t3.c
> similarity index 100%
> rename from test/bpf/t3.c
> rename to examples/bpf/t3.c
> --
> 2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v2 4/5] test/bpf: move to examples folder
  2019-02-20  9:35     ` Ananyev, Konstantin
@ 2019-02-20  9:39       ` Bruce Richardson
  2019-02-20  9:42         ` Ananyev, Konstantin
  2019-02-20 10:35         ` Thomas Monjalon
  0 siblings, 2 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-02-20  9:39 UTC (permalink / raw)
  To: Ananyev, Konstantin; +Cc: dev, thomas

On Wed, Feb 20, 2019 at 09:35:02AM +0000, Ananyev, Konstantin wrote:
> 
> 
> > -----Original Message-----
> > From: Richardson, Bruce
> > Sent: Tuesday, February 19, 2019 2:53 PM
> > To: dev@dpdk.org; thomas@monjalon.net
> > Cc: Richardson, Bruce <bruce.richardson@intel.com>; Ananyev, Konstantin <konstantin.ananyev@intel.com>
> > Subject: [PATCH v2 4/5] test/bpf: move to examples folder
> > 
> > The bpf folder didn't actual contain a test application, but instead
> > basic examples of BPF code for use with testpmd.
> 
> Might be the better to create app/test-pmf/bpf directory
> and move them into it.
> Konstantin
> 
Assume "test-pmd" in the path, right? I actually think they are better in
examples, myself, but no strong opinions. Anyone else have thoughts?
[Thomas, you are generally a good man for having your say - any input
here?]

/Bruce

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v2 4/5] test/bpf: move to examples folder
  2019-02-20  9:39       ` Bruce Richardson
@ 2019-02-20  9:42         ` Ananyev, Konstantin
  2019-02-20 10:35         ` Thomas Monjalon
  1 sibling, 0 replies; 33+ messages in thread
From: Ananyev, Konstantin @ 2019-02-20  9:42 UTC (permalink / raw)
  To: Richardson, Bruce; +Cc: dev, thomas



> -----Original Message-----
> From: Richardson, Bruce
> Sent: Wednesday, February 20, 2019 9:40 AM
> To: Ananyev, Konstantin <konstantin.ananyev@intel.com>
> Cc: dev@dpdk.org; thomas@monjalon.net
> Subject: Re: [PATCH v2 4/5] test/bpf: move to examples folder
> 
> On Wed, Feb 20, 2019 at 09:35:02AM +0000, Ananyev, Konstantin wrote:
> >
> >
> > > -----Original Message-----
> > > From: Richardson, Bruce
> > > Sent: Tuesday, February 19, 2019 2:53 PM
> > > To: dev@dpdk.org; thomas@monjalon.net
> > > Cc: Richardson, Bruce <bruce.richardson@intel.com>; Ananyev, Konstantin <konstantin.ananyev@intel.com>
> > > Subject: [PATCH v2 4/5] test/bpf: move to examples folder
> > >
> > > The bpf folder didn't actual contain a test application, but instead
> > > basic examples of BPF code for use with testpmd.
> >
> > Might be the better to create app/test-pmf/bpf directory
> > and move them into it.
> > Konstantin
> >
> Assume "test-pmd" in the path, right?

Yes :)

> I actually think they are better in
> examples, myself, but no strong opinions. Anyone else have thoughts?
> [Thomas, you are generally a good man for having your say - any input
> here?]
> 
> /Bruce

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v2 4/5] test/bpf: move to examples folder
  2019-02-20  9:39       ` Bruce Richardson
  2019-02-20  9:42         ` Ananyev, Konstantin
@ 2019-02-20 10:35         ` Thomas Monjalon
  1 sibling, 0 replies; 33+ messages in thread
From: Thomas Monjalon @ 2019-02-20 10:35 UTC (permalink / raw)
  To: Bruce Richardson, Ananyev, Konstantin; +Cc: dev

20/02/2019 10:39, Bruce Richardson:
> On Wed, Feb 20, 2019 at 09:35:02AM +0000, Ananyev, Konstantin wrote:
> > From: Richardson, Bruce
> > > 
> > > The bpf folder didn't actual contain a test application, but instead
> > > basic examples of BPF code for use with testpmd.
> > 
> > Might be the better to create app/test-pmf/bpf directory
> > and move them into it.
> > Konstantin
> > 
> Assume "test-pmd" in the path, right? I actually think they are better in
> examples, myself, but no strong opinions. Anyone else have thoughts?
> [Thomas, you are generally a good man for having your say - any input
> here?]

Those BPF programs can be used by any app having BPF loading support, right?
So I think the examples/ directory is the right place.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/5] consolidate testing apps to app dir
  2019-02-19 14:53 ` [dpdk-dev] [PATCH v2 0/5] " Bruce Richardson
                     ` (4 preceding siblings ...)
  2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 5/5] test/test: move to app folder Bruce Richardson
@ 2019-02-20 11:47   ` Ferruh Yigit
  2019-02-25 15:34     ` Bruce Richardson
  5 siblings, 1 reply; 33+ messages in thread
From: Ferruh Yigit @ 2019-02-20 11:47 UTC (permalink / raw)
  To: Bruce Richardson, dev, thomas

On 2/19/2019 2:53 PM, Bruce Richardson wrote:
> The apps for testing are split between the "test" and "app" directories,
> with a not-very-clear distinction between the two (at least to my mind).
> 
> Given how the apps are being built, the easiest path to having
> cmdline_test, test-acl and test-pipeline build using meson is to
> consolidate all these apps back into the app folder and use the logic
> there. The bpf folder doesn't contain an actual application, but
> rather example bpf code which can be loaded into testpmd. That is
> possibly best moved to the examples folder, but I'm open to feedback
> on the best place for it.
> 
> With these changes, the "test" folder then becomes the location for
> unit tests only. However, we can simplify things a little by moving
> that too to the app folder, eliminating the need for the separate
> "test-build" make target, and aligning the output folder for the
> binary from "make test-build" with the source file location in app.

I agree distinction between the "test" and "app" is not very clear, my
motivation to split them was make building test code optional.

But when split them we have a few cases that tests broken but not recognized for
a while, since we don't have continuous integration that verifies tests perhaps
it can be better to force developers to build them each time to detect issues.

And as far as I understand this split is causing complications for adding meson
support, if this will make easy to extend meson support overall patchset looks
good to me.

Thanks,
ferruh

> 
> ---
> V2: * Following some discussion with Thomas, moved the autotests to the
>       app folder too.
>     * Updated maintainers file appropriately in each patch.
> 
> Bruce Richardson (5):
>   test/cmdline_test: move to app directory
>   test/test-acl: move to app directory
>   test/test-pipeline: move to app directory
>   test/bpf: move to examples folder
>   test/test: move to app folder

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/5] consolidate testing apps to app dir
  2019-02-20 11:47   ` [dpdk-dev] [PATCH v2 0/5] consolidate testing apps to app dir Ferruh Yigit
@ 2019-02-25 15:34     ` Bruce Richardson
  0 siblings, 0 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-02-25 15:34 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dev, thomas

On Wed, Feb 20, 2019 at 11:47:05AM +0000, Ferruh Yigit wrote:
> On 2/19/2019 2:53 PM, Bruce Richardson wrote:
> > The apps for testing are split between the "test" and "app" directories,
> > with a not-very-clear distinction between the two (at least to my mind).
> > 
> > Given how the apps are being built, the easiest path to having
> > cmdline_test, test-acl and test-pipeline build using meson is to
> > consolidate all these apps back into the app folder and use the logic
> > there. The bpf folder doesn't contain an actual application, but
> > rather example bpf code which can be loaded into testpmd. That is
> > possibly best moved to the examples folder, but I'm open to feedback
> > on the best place for it.
> > 
> > With these changes, the "test" folder then becomes the location for
> > unit tests only. However, we can simplify things a little by moving
> > that too to the app folder, eliminating the need for the separate
> > "test-build" make target, and aligning the output folder for the
> > binary from "make test-build" with the source file location in app.
> 
> I agree distinction between the "test" and "app" is not very clear, my
> motivation to split them was make building test code optional.
> 
> But when split them we have a few cases that tests broken but not recognized for
> a while, since we don't have continuous integration that verifies tests perhaps
> it can be better to force developers to build them each time to detect issues.
> 
> And as far as I understand this split is causing complications for adding meson
> support, if this will make easy to extend meson support overall patchset looks
> good to me.
> 
> Thanks,
> ferruh
> 
Ping for any further comment or ack. Since this involves moving a lot of
files it would be good to get in early to avoid conflicts with later
patches which may touch those same files.

Thanks,
/Bruce

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v2 4/5] test/bpf: move to examples folder
  2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 4/5] test/bpf: move to examples folder Bruce Richardson
  2019-02-20  9:35     ` Ananyev, Konstantin
@ 2019-02-25 16:22     ` Ananyev, Konstantin
  1 sibling, 0 replies; 33+ messages in thread
From: Ananyev, Konstantin @ 2019-02-25 16:22 UTC (permalink / raw)
  To: Richardson, Bruce, dev, thomas



> -----Original Message-----
> From: Richardson, Bruce
> Sent: Tuesday, February 19, 2019 2:53 PM
> To: dev@dpdk.org; thomas@monjalon.net
> Cc: Richardson, Bruce <bruce.richardson@intel.com>; Ananyev, Konstantin <konstantin.ananyev@intel.com>
> Subject: [PATCH v2 4/5] test/bpf: move to examples folder
> 
> The bpf folder didn't actual contain a test application, but instead
> basic examples of BPF code for use with testpmd. Therefore we can
> move it to the `examples` folder. Being different, it also needs
> a README with it, explaining what it is and how to use it. References
> to the code from the testpmd docs are suitably updated.
> 
> CC: Konstantin Ananyev <konstantin.ananyev@intel.com>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>  MAINTAINERS                                 | 2 +-
>  doc/guides/testpmd_app_ug/testpmd_funcs.rst | 8 ++++----
>  examples/bpf/README                         | 8 ++++++++
>  {test => examples}/bpf/dummy.c              | 0
>  {test => examples}/bpf/mbuf.h               | 0
>  examples/bpf/meson.build                    | 6 ++++++
>  {test => examples}/bpf/t1.c                 | 0
>  {test => examples}/bpf/t2.c                 | 0
>  {test => examples}/bpf/t3.c                 | 0
>  9 files changed, 19 insertions(+), 5 deletions(-)
>  create mode 100644 examples/bpf/README
>  rename {test => examples}/bpf/dummy.c (100%)
>  rename {test => examples}/bpf/mbuf.h (100%)
>  create mode 100644 examples/bpf/meson.build
>  rename {test => examples}/bpf/t1.c (100%)
>  rename {test => examples}/bpf/t2.c (100%)
>  rename {test => examples}/bpf/t3.c (100%)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index c4619174a..6d1d0aea7 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1230,7 +1230,7 @@ F: doc/guides/howto/telemetry.rst
>  BPF - EXPERIMENTAL
>  M: Konstantin Ananyev <konstantin.ananyev@intel.com>
>  F: lib/librte_bpf/
> -F: test/bpf/
> +F: examples/bpf/
>  F: test/test/test_bpf.c
>  F: doc/guides/prog_guide/bpf_lib.rst
> 
> diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> index 029148041..b079c60d9 100644
> --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> @@ -4503,20 +4503,20 @@ For example:
> 
>  .. code-block:: console
> 
> -   cd test/bpf
> +   cd examples/bpf
>     clang -O2 -target bpf -c t1.c
> 
>  Then to load (and JIT compile) t1.o at RX queue 0, port 1::
> 
>  .. code-block:: console
> 
> -   testpmd> bpf-load rx 1 0 J ./dpdk.org/test/bpf/t1.o
> +   testpmd> bpf-load rx 1 0 J ./dpdk.org/examples/bpf/t1.o
> 
>  To load (not JITed) t1.o at TX queue 0, port 0::
> 
>  .. code-block:: console
> 
> -   testpmd> bpf-load tx 0 0 - ./dpdk.org/test/bpf/t1.o
> +   testpmd> bpf-load tx 0 0 - ./dpdk.org/examples/bpf/t1.o
> 
>  bpf-unload
>  ~~~~~~~~~~
> @@ -4529,4 +4529,4 @@ For example to unload BPF filter from TX queue 0, port 0:
> 
>  .. code-block:: console
> 
> -   testpmd> bpf-load tx 0 0 - ./dpdk.org/test/bpf/t1.o
> +   testpmd> bpf-unload tx 0 0
> diff --git a/examples/bpf/README b/examples/bpf/README
> new file mode 100644
> index 000000000..d714180a5
> --- /dev/null
> +++ b/examples/bpf/README
> @@ -0,0 +1,8 @@
> +This folder contains example BPF programs for use with the DPDK bpf
> +library. To get details of each program and how to compile it, see
> +the header on the '.c' file itself.
> +
> +Once compiled, these example programs can be loaded into `testpmd`
> +for execution on a packet stream. See `bpf-load` and `bpf-unload`
> +commands documented in the `Testpmd Application User Guide` for
> +details on how to do so.
> diff --git a/test/bpf/dummy.c b/examples/bpf/dummy.c
> similarity index 100%
> rename from test/bpf/dummy.c
> rename to examples/bpf/dummy.c
> diff --git a/test/bpf/mbuf.h b/examples/bpf/mbuf.h
> similarity index 100%
> rename from test/bpf/mbuf.h
> rename to examples/bpf/mbuf.h
> diff --git a/examples/bpf/meson.build b/examples/bpf/meson.build
> new file mode 100644
> index 000000000..0a817aaea
> --- /dev/null
> +++ b/examples/bpf/meson.build
> @@ -0,0 +1,6 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2019 Intel Corporation
> +
> +# This contains BPF example code for use in testing BPF with testpmd,
> +# therefore it should not be built as part of a meson build.
> +build=false
> diff --git a/test/bpf/t1.c b/examples/bpf/t1.c
> similarity index 100%
> rename from test/bpf/t1.c
> rename to examples/bpf/t1.c
> diff --git a/test/bpf/t2.c b/examples/bpf/t2.c
> similarity index 100%
> rename from test/bpf/t2.c
> rename to examples/bpf/t2.c
> diff --git a/test/bpf/t3.c b/examples/bpf/t3.c
> similarity index 100%
> rename from test/bpf/t3.c
> rename to examples/bpf/t3.c
> --

Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

> 2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/5] test/cmdline_test: move to app directory
  2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 1/5] test/cmdline_test: move to app directory Bruce Richardson
@ 2019-02-26  9:14     ` Thomas Monjalon
  2019-02-26 10:00       ` Bruce Richardson
  2019-02-26 11:24       ` Bruce Richardson
  0 siblings, 2 replies; 33+ messages in thread
From: Thomas Monjalon @ 2019-02-26  9:14 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, Olivier Matz

19/02/2019 15:53, Bruce Richardson:
> Move app to "app" directory and enable with meson build.
> 
> CC: Olivier Matz <olivier.matz@6wind.com>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>  MAINTAINERS                                     | 2 +-
>  app/Makefile                                    | 1 +
>  {test => app}/cmdline_test/Makefile             | 0
>  {test => app}/cmdline_test/cmdline_test.c       | 0
>  {test => app}/cmdline_test/cmdline_test.h       | 0
>  {test => app}/cmdline_test/cmdline_test.py      | 0
>  {test => app}/cmdline_test/cmdline_test_data.py | 0
>  {test => app}/cmdline_test/commands.c           | 0

Sorry, I didn't realize before,
other test apps directories are named test-*.
Shouldn't we name this one test-cmdline?

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/5] test/cmdline_test: move to app directory
  2019-02-26  9:14     ` Thomas Monjalon
@ 2019-02-26 10:00       ` Bruce Richardson
  2019-02-26 11:24       ` Bruce Richardson
  1 sibling, 0 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-02-26 10:00 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, Olivier Matz

On Tue, Feb 26, 2019 at 10:14:08AM +0100, Thomas Monjalon wrote:
> 19/02/2019 15:53, Bruce Richardson:
> > Move app to "app" directory and enable with meson build.
> > 
> > CC: Olivier Matz <olivier.matz@6wind.com>
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> >  MAINTAINERS                                     | 2 +-
> >  app/Makefile                                    | 1 +
> >  {test => app}/cmdline_test/Makefile             | 0
> >  {test => app}/cmdline_test/cmdline_test.c       | 0
> >  {test => app}/cmdline_test/cmdline_test.h       | 0
> >  {test => app}/cmdline_test/cmdline_test.py      | 0
> >  {test => app}/cmdline_test/cmdline_test_data.py | 0
> >  {test => app}/cmdline_test/commands.c           | 0
> 
> Sorry, I didn't realize before,
> other test apps directories are named test-*.
> Shouldn't we name this one test-cmdline?
> 
Probably not a bad idea.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/5] test/cmdline_test: move to app directory
  2019-02-26  9:14     ` Thomas Monjalon
  2019-02-26 10:00       ` Bruce Richardson
@ 2019-02-26 11:24       ` Bruce Richardson
  2019-02-26 12:20         ` Bruce Richardson
  1 sibling, 1 reply; 33+ messages in thread
From: Bruce Richardson @ 2019-02-26 11:24 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, Olivier Matz

On Tue, Feb 26, 2019 at 10:14:08AM +0100, Thomas Monjalon wrote:
> 19/02/2019 15:53, Bruce Richardson:
> > Move app to "app" directory and enable with meson build.
> > 
> > CC: Olivier Matz <olivier.matz@6wind.com>
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> >  MAINTAINERS                                     | 2 +-
> >  app/Makefile                                    | 1 +
> >  {test => app}/cmdline_test/Makefile             | 0
> >  {test => app}/cmdline_test/cmdline_test.c       | 0
> >  {test => app}/cmdline_test/cmdline_test.h       | 0
> >  {test => app}/cmdline_test/cmdline_test.py      | 0
> >  {test => app}/cmdline_test/cmdline_test_data.py | 0
> >  {test => app}/cmdline_test/commands.c           | 0
> 
> Sorry, I didn't realize before,
> other test apps directories are named test-*.
> Shouldn't we name this one test-cmdline?
>
Looking into it now, changing the directory name is easy enough, however
the final binary produced is also called cmdline_test - should it be
changed too? Changing it would be a bit more invasive, and would be
user-visible (perhaps just to test suites), but would lead to more
consistency.

NOTE: this only applies to the "make" build, since the meson build uses the
directory name as the binary name, so it's already consistent. There is no
user visible change here, since the app wasn't available from meson builds
before.

My recommendation is therefore to rename the directory only, and leave the
binary name the same for make builds, given that when we switch completely
over to meson it will be consistent at that point.

Thoughts, Thomas?

/Bruce 

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v3 0/5] consolidate testing apps to app dir
  2019-01-25 20:26 [dpdk-dev] [PATCH 0/4] RFC: consolidate testing apps to app dir Bruce Richardson
                   ` (5 preceding siblings ...)
  2019-02-19 14:53 ` [dpdk-dev] [PATCH v2 0/5] " Bruce Richardson
@ 2019-02-26 12:18 ` Bruce Richardson
  2019-02-26 12:18   ` [dpdk-dev] [PATCH v3 1/5] test/cmdline_test: move to app directory Bruce Richardson
                     ` (5 more replies)
  6 siblings, 6 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-02-26 12:18 UTC (permalink / raw)
  To: thomas; +Cc: dev, Bruce Richardson

The apps for testing are split between the "test" and "app" directories,
with a not-very-clear distinction between the two (at least to my mind).

Given how the apps are being built, the easiest path to having
cmdline_test, test-acl and test-pipeline build using meson is to
consolidate all these apps back into the app folder and use the logic
there. The bpf folder doesn't contain an actual application, but
rather example bpf code which can be loaded into testpmd. That is
possibly best moved to the examples folder, but I'm open to feedback
on the best place for it.

With these changes, the "test" folder then becomes the location for
unit tests only. However, we can simplify things a little by moving
that too to the app folder, eliminating the need for the separate
"test-build" make target, and aligning the output folder for the
binary from "make test-build" with the source file location in app.

---
V3: * Renamed the cmdline_test subdirectory to test-cmdline as part of the
      move.
V2: * Following some discussion with Thomas, moved the autotests to the
      app folder too.
    * Updated maintainers file appropriately in each patch.


Bruce Richardson (5):
  test/cmdline_test: move to app directory
  test/test-acl: move to app directory
  test/test-pipeline: move to app directory
  test/bpf: move to examples folder
  test/test: move to app folder

 GNUmakefile                                   |   1 -
 MAINTAINERS                                   | 190 +++++++++---------
 app/Makefile                                  |   4 +
 app/meson.build                               |   9 +-
 {test => app}/test-acl/Makefile               |   0
 {test => app}/test-acl/main.c                 |   0
 app/test-acl/meson.build                      |   5 +
 .../test-cmdline}/Makefile                    |   0
 .../test-cmdline}/cmdline_test.c              |   0
 .../test-cmdline}/cmdline_test.h              |   0
 .../test-cmdline}/cmdline_test.py             |   0
 .../test-cmdline}/cmdline_test_data.py        |   0
 .../test-cmdline}/commands.c                  |   0
 app/test-cmdline/meson.build                  |   5 +
 {test => app}/test-pipeline/Makefile          |   0
 {test => app}/test-pipeline/config.c          |   0
 {test => app}/test-pipeline/init.c            |   0
 {test => app}/test-pipeline/main.c            |   0
 {test => app}/test-pipeline/main.h            |   0
 app/test-pipeline/meson.build                 |  14 ++
 {test => app}/test-pipeline/pipeline_acl.c    |   0
 {test => app}/test-pipeline/pipeline_hash.c   |   0
 {test => app}/test-pipeline/pipeline_lpm.c    |   0
 .../test-pipeline/pipeline_lpm_ipv6.c         |   0
 {test => app}/test-pipeline/pipeline_stub.c   |   0
 {test => app}/test-pipeline/runtime.c         |   0
 {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 +-
 doc/guides/sample_app_ug/test_pipeline.rst    |   2 +-
 doc/guides/testpmd_app_ug/testpmd_funcs.rst   |   8 +-
 examples/bpf/README                           |   8 +
 {test => examples}/bpf/dummy.c                |   0
 {test => examples}/bpf/mbuf.h                 |   0
 examples/bpf/meson.build                      |   6 +
 {test => examples}/bpf/t1.c                   |   0
 {test => examples}/bpf/t2.c                   |   0
 {test => examples}/bpf/t3.c                   |   0
 meson.build                                   |   1 -
 mk/rte.sdkbuild.mk                            |   3 -
 mk/rte.sdkroot.mk                             |   6 +-
 mk/rte.sdktest.mk                             |   8 +-
 test/Makefile                                 |  11 -
 test/meson.build                              |   4 -
 212 files changed, 162 insertions(+), 138 deletions(-)
 rename {test => app}/test-acl/Makefile (100%)
 rename {test => app}/test-acl/main.c (100%)
 create mode 100644 app/test-acl/meson.build
 rename {test/cmdline_test => app/test-cmdline}/Makefile (100%)
 rename {test/cmdline_test => app/test-cmdline}/cmdline_test.c (100%)
 rename {test/cmdline_test => app/test-cmdline}/cmdline_test.h (100%)
 rename {test/cmdline_test => app/test-cmdline}/cmdline_test.py (100%)
 rename {test/cmdline_test => app/test-cmdline}/cmdline_test_data.py (100%)
 rename {test/cmdline_test => app/test-cmdline}/commands.c (100%)
 create mode 100644 app/test-cmdline/meson.build
 rename {test => app}/test-pipeline/Makefile (100%)
 rename {test => app}/test-pipeline/config.c (100%)
 rename {test => app}/test-pipeline/init.c (100%)
 rename {test => app}/test-pipeline/main.c (100%)
 rename {test => app}/test-pipeline/main.h (100%)
 create mode 100644 app/test-pipeline/meson.build
 rename {test => app}/test-pipeline/pipeline_acl.c (100%)
 rename {test => app}/test-pipeline/pipeline_hash.c (100%)
 rename {test => app}/test-pipeline/pipeline_lpm.c (100%)
 rename {test => app}/test-pipeline/pipeline_lpm_ipv6.c (100%)
 rename {test => app}/test-pipeline/pipeline_stub.c (100%)
 rename {test => app}/test-pipeline/runtime.c (100%)
 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%)
 create mode 100644 examples/bpf/README
 rename {test => examples}/bpf/dummy.c (100%)
 rename {test => examples}/bpf/mbuf.h (100%)
 create mode 100644 examples/bpf/meson.build
 rename {test => examples}/bpf/t1.c (100%)
 rename {test => examples}/bpf/t2.c (100%)
 rename {test => examples}/bpf/t3.c (100%)
 delete mode 100644 test/Makefile
 delete mode 100644 test/meson.build

-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v3 1/5] test/cmdline_test: move to app directory
  2019-02-26 12:18 ` [dpdk-dev] [PATCH v3 " Bruce Richardson
@ 2019-02-26 12:18   ` Bruce Richardson
  2019-02-26 12:19   ` [dpdk-dev] [PATCH v3 2/5] test/test-acl: " Bruce Richardson
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-02-26 12:18 UTC (permalink / raw)
  To: thomas; +Cc: dev, Bruce Richardson, Olivier Matz

Move app to "app" directory and enable with meson build. For consistency of
naming, the subdirectory is also renamed from cmdline_test to test-cmdline.

CC: Olivier Matz <olivier.matz@6wind.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 MAINTAINERS                                                  | 2 +-
 app/Makefile                                                 | 1 +
 app/meson.build                                              | 4 +++-
 {test/cmdline_test => app/test-cmdline}/Makefile             | 0
 {test/cmdline_test => app/test-cmdline}/cmdline_test.c       | 0
 {test/cmdline_test => app/test-cmdline}/cmdline_test.h       | 0
 {test/cmdline_test => app/test-cmdline}/cmdline_test.py      | 0
 {test/cmdline_test => app/test-cmdline}/cmdline_test_data.py | 0
 {test/cmdline_test => app/test-cmdline}/commands.c           | 0
 app/test-cmdline/meson.build                                 | 5 +++++
 test/Makefile                                                | 1 -
 11 files changed, 10 insertions(+), 3 deletions(-)
 rename {test/cmdline_test => app/test-cmdline}/Makefile (100%)
 rename {test/cmdline_test => app/test-cmdline}/cmdline_test.c (100%)
 rename {test/cmdline_test => app/test-cmdline}/cmdline_test.h (100%)
 rename {test/cmdline_test => app/test-cmdline}/cmdline_test.py (100%)
 rename {test/cmdline_test => app/test-cmdline}/cmdline_test_data.py (100%)
 rename {test/cmdline_test => app/test-cmdline}/commands.c (100%)
 create mode 100644 app/test-cmdline/meson.build

diff --git a/MAINTAINERS b/MAINTAINERS
index 3b39bc65d..293bf6aa4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1167,7 +1167,7 @@ F: test/test/test_cfgfiles/
 Interactive command line
 M: Olivier Matz <olivier.matz@6wind.com>
 F: lib/librte_cmdline/
-F: test/cmdline_test/
+F: app/test-cmdline/
 F: test/test/test_cmdline*
 F: examples/cmdline/
 F: doc/guides/sample_app_ug/cmd_line.rst
diff --git a/app/Makefile b/app/Makefile
index d6641ef1c..51237d0f4 100644
--- a/app/Makefile
+++ b/app/Makefile
@@ -6,6 +6,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 DIRS-$(CONFIG_RTE_TEST_PMD) += test-pmd
 DIRS-$(CONFIG_RTE_PROC_INFO) += proc-info
 DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += pdump
+DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test-cmdline
 
 ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
 DIRS-$(CONFIG_RTE_TEST_BBDEV) += test-bbdev
diff --git a/app/meson.build b/app/meson.build
index 47a2a8615..8bdf4f581 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -1,9 +1,11 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-apps = ['pdump',
+apps = [
+	'pdump',
 	'proc-info',
 	'test-bbdev',
+	'test-cmdline',
 	'test-compress-perf',
 	'test-crypto-perf',
 	'test-eventdev',
diff --git a/test/cmdline_test/Makefile b/app/test-cmdline/Makefile
similarity index 100%
rename from test/cmdline_test/Makefile
rename to app/test-cmdline/Makefile
diff --git a/test/cmdline_test/cmdline_test.c b/app/test-cmdline/cmdline_test.c
similarity index 100%
rename from test/cmdline_test/cmdline_test.c
rename to app/test-cmdline/cmdline_test.c
diff --git a/test/cmdline_test/cmdline_test.h b/app/test-cmdline/cmdline_test.h
similarity index 100%
rename from test/cmdline_test/cmdline_test.h
rename to app/test-cmdline/cmdline_test.h
diff --git a/test/cmdline_test/cmdline_test.py b/app/test-cmdline/cmdline_test.py
similarity index 100%
rename from test/cmdline_test/cmdline_test.py
rename to app/test-cmdline/cmdline_test.py
diff --git a/test/cmdline_test/cmdline_test_data.py b/app/test-cmdline/cmdline_test_data.py
similarity index 100%
rename from test/cmdline_test/cmdline_test_data.py
rename to app/test-cmdline/cmdline_test_data.py
diff --git a/test/cmdline_test/commands.c b/app/test-cmdline/commands.c
similarity index 100%
rename from test/cmdline_test/commands.c
rename to app/test-cmdline/commands.c
diff --git a/app/test-cmdline/meson.build b/app/test-cmdline/meson.build
new file mode 100644
index 000000000..9d0a9aeb6
--- /dev/null
+++ b/app/test-cmdline/meson.build
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+
+sources = files('commands.c', 'cmdline_test.c')
+deps += 'cmdline'
diff --git a/test/Makefile b/test/Makefile
index 6656374fc..4ffc087a0 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -6,6 +6,5 @@ include $(RTE_SDK)/mk/rte.vars.mk
 DIRS-$(CONFIG_RTE_APP_TEST) += test
 DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
 DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
-DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_test
 
 include $(RTE_SDK)/mk/rte.subdir.mk
-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v3 2/5] test/test-acl: move to app directory
  2019-02-26 12:18 ` [dpdk-dev] [PATCH v3 " Bruce Richardson
  2019-02-26 12:18   ` [dpdk-dev] [PATCH v3 1/5] test/cmdline_test: move to app directory Bruce Richardson
@ 2019-02-26 12:19   ` Bruce Richardson
  2019-02-26 12:27     ` Ananyev, Konstantin
  2019-02-26 12:19   ` [dpdk-dev] [PATCH v3 3/5] test/test-pipeline: " Bruce Richardson
                     ` (3 subsequent siblings)
  5 siblings, 1 reply; 33+ messages in thread
From: Bruce Richardson @ 2019-02-26 12:19 UTC (permalink / raw)
  To: thomas; +Cc: dev, Bruce Richardson, Konstantin Ananyev

Move to "app" directory and enable with meson build.

CC: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 MAINTAINERS                     | 2 +-
 app/Makefile                    | 1 +
 app/meson.build                 | 1 +
 {test => app}/test-acl/Makefile | 0
 {test => app}/test-acl/main.c   | 0
 app/test-acl/meson.build        | 5 +++++
 test/Makefile                   | 1 -
 7 files changed, 8 insertions(+), 2 deletions(-)
 rename {test => app}/test-acl/Makefile (100%)
 rename {test => app}/test-acl/main.c (100%)
 create mode 100644 app/test-acl/meson.build

diff --git a/MAINTAINERS b/MAINTAINERS
index 293bf6aa4..4f34c6e4c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1106,7 +1106,7 @@ ACL
 M: Konstantin Ananyev <konstantin.ananyev@intel.com>
 F: lib/librte_acl/
 F: doc/guides/prog_guide/packet_classif_access_ctrl.rst
-F: test/test-acl/
+F: app/test-acl/
 F: test/test/test_acl.*
 F: examples/l3fwd-acl/
 F: doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
diff --git a/app/Makefile b/app/Makefile
index 51237d0f4..234e3f504 100644
--- a/app/Makefile
+++ b/app/Makefile
@@ -6,6 +6,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 DIRS-$(CONFIG_RTE_TEST_PMD) += test-pmd
 DIRS-$(CONFIG_RTE_PROC_INFO) += proc-info
 DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += pdump
+DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
 DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test-cmdline
 
 ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
diff --git a/app/meson.build b/app/meson.build
index 8bdf4f581..3a34ebbf3 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -4,6 +4,7 @@
 apps = [
 	'pdump',
 	'proc-info',
+	'test-acl',
 	'test-bbdev',
 	'test-cmdline',
 	'test-compress-perf',
diff --git a/test/test-acl/Makefile b/app/test-acl/Makefile
similarity index 100%
rename from test/test-acl/Makefile
rename to app/test-acl/Makefile
diff --git a/test/test-acl/main.c b/app/test-acl/main.c
similarity index 100%
rename from test/test-acl/main.c
rename to app/test-acl/main.c
diff --git a/app/test-acl/meson.build b/app/test-acl/meson.build
new file mode 100644
index 000000000..d5c2581b4
--- /dev/null
+++ b/app/test-acl/meson.build
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+
+sources = files('main.c')
+deps += ['acl', 'net']
diff --git a/test/Makefile b/test/Makefile
index 4ffc087a0..0b7a3ed96 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -4,7 +4,6 @@
 include $(RTE_SDK)/mk/rte.vars.mk
 
 DIRS-$(CONFIG_RTE_APP_TEST) += test
-DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
 DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
 
 include $(RTE_SDK)/mk/rte.subdir.mk
-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v3 3/5] test/test-pipeline: move to app directory
  2019-02-26 12:18 ` [dpdk-dev] [PATCH v3 " Bruce Richardson
  2019-02-26 12:18   ` [dpdk-dev] [PATCH v3 1/5] test/cmdline_test: move to app directory Bruce Richardson
  2019-02-26 12:19   ` [dpdk-dev] [PATCH v3 2/5] test/test-acl: " Bruce Richardson
@ 2019-02-26 12:19   ` Bruce Richardson
  2019-02-26 12:19   ` [dpdk-dev] [PATCH v3 4/5] test/bpf: move to examples folder Bruce Richardson
                     ` (2 subsequent siblings)
  5 siblings, 0 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-02-26 12:19 UTC (permalink / raw)
  To: thomas; +Cc: dev, Bruce Richardson, Cristian Dumitrescu

Move to the app directory, and add to meson build.

CC: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 MAINTAINERS                                     |  2 +-
 app/Makefile                                    |  1 +
 app/meson.build                                 |  1 +
 {test => app}/test-pipeline/Makefile            |  0
 {test => app}/test-pipeline/config.c            |  0
 {test => app}/test-pipeline/init.c              |  0
 {test => app}/test-pipeline/main.c              |  0
 {test => app}/test-pipeline/main.h              |  0
 app/test-pipeline/meson.build                   | 14 ++++++++++++++
 {test => app}/test-pipeline/pipeline_acl.c      |  0
 {test => app}/test-pipeline/pipeline_hash.c     |  0
 {test => app}/test-pipeline/pipeline_lpm.c      |  0
 {test => app}/test-pipeline/pipeline_lpm_ipv6.c |  0
 {test => app}/test-pipeline/pipeline_stub.c     |  0
 {test => app}/test-pipeline/runtime.c           |  0
 doc/guides/sample_app_ug/test_pipeline.rst      |  2 +-
 test/Makefile                                   |  1 -
 17 files changed, 18 insertions(+), 3 deletions(-)
 rename {test => app}/test-pipeline/Makefile (100%)
 rename {test => app}/test-pipeline/config.c (100%)
 rename {test => app}/test-pipeline/init.c (100%)
 rename {test => app}/test-pipeline/main.c (100%)
 rename {test => app}/test-pipeline/main.h (100%)
 create mode 100644 app/test-pipeline/meson.build
 rename {test => app}/test-pipeline/pipeline_acl.c (100%)
 rename {test => app}/test-pipeline/pipeline_hash.c (100%)
 rename {test => app}/test-pipeline/pipeline_lpm.c (100%)
 rename {test => app}/test-pipeline/pipeline_lpm_ipv6.c (100%)
 rename {test => app}/test-pipeline/pipeline_stub.c (100%)
 rename {test => app}/test-pipeline/runtime.c (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index 4f34c6e4c..b690e1e83 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1093,7 +1093,7 @@ F: lib/librte_port/
 F: lib/librte_table/
 F: doc/guides/prog_guide/packet_framework.rst
 F: test/test/test_table*
-F: test/test-pipeline/
+F: app/test-pipeline/
 F: doc/guides/sample_app_ug/test_pipeline.rst
 F: examples/ip_pipeline/
 F: doc/guides/sample_app_ug/ip_pipeline.rst
diff --git a/app/Makefile b/app/Makefile
index 234e3f504..eaf501633 100644
--- a/app/Makefile
+++ b/app/Makefile
@@ -8,6 +8,7 @@ DIRS-$(CONFIG_RTE_PROC_INFO) += proc-info
 DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += pdump
 DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
 DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test-cmdline
+DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
 
 ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
 DIRS-$(CONFIG_RTE_TEST_BBDEV) += test-bbdev
diff --git a/app/meson.build b/app/meson.build
index 3a34ebbf3..2360a3d45 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -10,6 +10,7 @@ apps = [
 	'test-compress-perf',
 	'test-crypto-perf',
 	'test-eventdev',
+	'test-pipeline',
 	'test-pmd']
 
 # for BSD only
diff --git a/test/test-pipeline/Makefile b/app/test-pipeline/Makefile
similarity index 100%
rename from test/test-pipeline/Makefile
rename to app/test-pipeline/Makefile
diff --git a/test/test-pipeline/config.c b/app/test-pipeline/config.c
similarity index 100%
rename from test/test-pipeline/config.c
rename to app/test-pipeline/config.c
diff --git a/test/test-pipeline/init.c b/app/test-pipeline/init.c
similarity index 100%
rename from test/test-pipeline/init.c
rename to app/test-pipeline/init.c
diff --git a/test/test-pipeline/main.c b/app/test-pipeline/main.c
similarity index 100%
rename from test/test-pipeline/main.c
rename to app/test-pipeline/main.c
diff --git a/test/test-pipeline/main.h b/app/test-pipeline/main.h
similarity index 100%
rename from test/test-pipeline/main.h
rename to app/test-pipeline/main.h
diff --git a/app/test-pipeline/meson.build b/app/test-pipeline/meson.build
new file mode 100644
index 000000000..5578b414d
--- /dev/null
+++ b/app/test-pipeline/meson.build
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+
+sources = files(
+	'config.c',
+	'init.c',
+	'main.c',
+	'pipeline_acl.c',
+	'pipeline_hash.c',
+	'pipeline_lpm.c',
+	'pipeline_lpm_ipv6.c',
+	'pipeline_stub.c',
+	'runtime.c')
+deps += 'pipeline'
diff --git a/test/test-pipeline/pipeline_acl.c b/app/test-pipeline/pipeline_acl.c
similarity index 100%
rename from test/test-pipeline/pipeline_acl.c
rename to app/test-pipeline/pipeline_acl.c
diff --git a/test/test-pipeline/pipeline_hash.c b/app/test-pipeline/pipeline_hash.c
similarity index 100%
rename from test/test-pipeline/pipeline_hash.c
rename to app/test-pipeline/pipeline_hash.c
diff --git a/test/test-pipeline/pipeline_lpm.c b/app/test-pipeline/pipeline_lpm.c
similarity index 100%
rename from test/test-pipeline/pipeline_lpm.c
rename to app/test-pipeline/pipeline_lpm.c
diff --git a/test/test-pipeline/pipeline_lpm_ipv6.c b/app/test-pipeline/pipeline_lpm_ipv6.c
similarity index 100%
rename from test/test-pipeline/pipeline_lpm_ipv6.c
rename to app/test-pipeline/pipeline_lpm_ipv6.c
diff --git a/test/test-pipeline/pipeline_stub.c b/app/test-pipeline/pipeline_stub.c
similarity index 100%
rename from test/test-pipeline/pipeline_stub.c
rename to app/test-pipeline/pipeline_stub.c
diff --git a/test/test-pipeline/runtime.c b/app/test-pipeline/runtime.c
similarity index 100%
rename from test/test-pipeline/runtime.c
rename to app/test-pipeline/runtime.c
diff --git a/doc/guides/sample_app_ug/test_pipeline.rst b/doc/guides/sample_app_ug/test_pipeline.rst
index a9370c80b..5f313c529 100644
--- a/doc/guides/sample_app_ug/test_pipeline.rst
+++ b/doc/guides/sample_app_ug/test_pipeline.rst
@@ -32,7 +32,7 @@ Compiling the Application
 -------------------------
 To compile the sample application see :doc:`compiling`
 
-The application is located in the ``$RTE_SDK/test/test-pipline`` directory.
+The application is located in the ``$RTE_SDK/app/test-pipline`` directory.
 
 
 Running the Application
diff --git a/test/Makefile b/test/Makefile
index 0b7a3ed96..e9ae64b59 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -4,6 +4,5 @@
 include $(RTE_SDK)/mk/rte.vars.mk
 
 DIRS-$(CONFIG_RTE_APP_TEST) += test
-DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
 
 include $(RTE_SDK)/mk/rte.subdir.mk
-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v3 4/5] test/bpf: move to examples folder
  2019-02-26 12:18 ` [dpdk-dev] [PATCH v3 " Bruce Richardson
                     ` (2 preceding siblings ...)
  2019-02-26 12:19   ` [dpdk-dev] [PATCH v3 3/5] test/test-pipeline: " Bruce Richardson
@ 2019-02-26 12:19   ` Bruce Richardson
  2019-02-26 12:19   ` [dpdk-dev] [PATCH v3 5/5] test/test: move to app folder Bruce Richardson
  2019-02-26 14:40   ` [dpdk-dev] [PATCH v3 0/5] consolidate testing apps to app dir Thomas Monjalon
  5 siblings, 0 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-02-26 12:19 UTC (permalink / raw)
  To: thomas; +Cc: dev, Bruce Richardson, Konstantin Ananyev

The bpf folder didn't actual contain a test application, but instead
basic examples of BPF code for use with testpmd. Therefore we can
move it to the `examples` folder. Being different, it also needs
a README with it, explaining what it is and how to use it. References
to the code from the testpmd docs are suitably updated.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
 MAINTAINERS                                 | 2 +-
 doc/guides/testpmd_app_ug/testpmd_funcs.rst | 8 ++++----
 examples/bpf/README                         | 8 ++++++++
 {test => examples}/bpf/dummy.c              | 0
 {test => examples}/bpf/mbuf.h               | 0
 examples/bpf/meson.build                    | 6 ++++++
 {test => examples}/bpf/t1.c                 | 0
 {test => examples}/bpf/t2.c                 | 0
 {test => examples}/bpf/t3.c                 | 0
 9 files changed, 19 insertions(+), 5 deletions(-)
 create mode 100644 examples/bpf/README
 rename {test => examples}/bpf/dummy.c (100%)
 rename {test => examples}/bpf/mbuf.h (100%)
 create mode 100644 examples/bpf/meson.build
 rename {test => examples}/bpf/t1.c (100%)
 rename {test => examples}/bpf/t2.c (100%)
 rename {test => examples}/bpf/t3.c (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index b690e1e83..e1c0f669b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1229,7 +1229,7 @@ F: doc/guides/howto/telemetry.rst
 BPF - EXPERIMENTAL
 M: Konstantin Ananyev <konstantin.ananyev@intel.com>
 F: lib/librte_bpf/
-F: test/bpf/
+F: examples/bpf/
 F: test/test/test_bpf.c
 F: doc/guides/prog_guide/bpf_lib.rst
 
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 5de9f1be1..1a12da4cf 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -4503,20 +4503,20 @@ For example:
 
 .. code-block:: console
 
-   cd test/bpf
+   cd examples/bpf
    clang -O2 -target bpf -c t1.c
 
 Then to load (and JIT compile) t1.o at RX queue 0, port 1::
 
 .. code-block:: console
 
-   testpmd> bpf-load rx 1 0 J ./dpdk.org/test/bpf/t1.o
+   testpmd> bpf-load rx 1 0 J ./dpdk.org/examples/bpf/t1.o
 
 To load (not JITed) t1.o at TX queue 0, port 0::
 
 .. code-block:: console
 
-   testpmd> bpf-load tx 0 0 - ./dpdk.org/test/bpf/t1.o
+   testpmd> bpf-load tx 0 0 - ./dpdk.org/examples/bpf/t1.o
 
 bpf-unload
 ~~~~~~~~~~
@@ -4529,4 +4529,4 @@ For example to unload BPF filter from TX queue 0, port 0:
 
 .. code-block:: console
 
-   testpmd> bpf-load tx 0 0 - ./dpdk.org/test/bpf/t1.o
+   testpmd> bpf-unload tx 0 0
diff --git a/examples/bpf/README b/examples/bpf/README
new file mode 100644
index 000000000..d714180a5
--- /dev/null
+++ b/examples/bpf/README
@@ -0,0 +1,8 @@
+This folder contains example BPF programs for use with the DPDK bpf
+library. To get details of each program and how to compile it, see
+the header on the '.c' file itself.
+
+Once compiled, these example programs can be loaded into `testpmd`
+for execution on a packet stream. See `bpf-load` and `bpf-unload`
+commands documented in the `Testpmd Application User Guide` for
+details on how to do so.
diff --git a/test/bpf/dummy.c b/examples/bpf/dummy.c
similarity index 100%
rename from test/bpf/dummy.c
rename to examples/bpf/dummy.c
diff --git a/test/bpf/mbuf.h b/examples/bpf/mbuf.h
similarity index 100%
rename from test/bpf/mbuf.h
rename to examples/bpf/mbuf.h
diff --git a/examples/bpf/meson.build b/examples/bpf/meson.build
new file mode 100644
index 000000000..0a817aaea
--- /dev/null
+++ b/examples/bpf/meson.build
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+
+# This contains BPF example code for use in testing BPF with testpmd,
+# therefore it should not be built as part of a meson build.
+build=false
diff --git a/test/bpf/t1.c b/examples/bpf/t1.c
similarity index 100%
rename from test/bpf/t1.c
rename to examples/bpf/t1.c
diff --git a/test/bpf/t2.c b/examples/bpf/t2.c
similarity index 100%
rename from test/bpf/t2.c
rename to examples/bpf/t2.c
diff --git a/test/bpf/t3.c b/examples/bpf/t3.c
similarity index 100%
rename from test/bpf/t3.c
rename to examples/bpf/t3.c
-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v3 5/5] test/test: move to app folder
  2019-02-26 12:18 ` [dpdk-dev] [PATCH v3 " Bruce Richardson
                     ` (3 preceding siblings ...)
  2019-02-26 12:19   ` [dpdk-dev] [PATCH v3 4/5] test/bpf: move to examples folder Bruce Richardson
@ 2019-02-26 12:19   ` Bruce Richardson
  2019-02-26 14:40   ` [dpdk-dev] [PATCH v3 0/5] consolidate testing apps to app dir Thomas Monjalon
  5 siblings, 0 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-02-26 12:19 UTC (permalink / raw)
  To: thomas; +Cc: dev, Bruce Richardson, Ferruh Yigit

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

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')
-- 
2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/5] test/cmdline_test: move to app directory
  2019-02-26 11:24       ` Bruce Richardson
@ 2019-02-26 12:20         ` Bruce Richardson
  0 siblings, 0 replies; 33+ messages in thread
From: Bruce Richardson @ 2019-02-26 12:20 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, Olivier Matz

On Tue, Feb 26, 2019 at 11:24:28AM +0000, Bruce Richardson wrote:
> On Tue, Feb 26, 2019 at 10:14:08AM +0100, Thomas Monjalon wrote:
> > 19/02/2019 15:53, Bruce Richardson:
> > > Move app to "app" directory and enable with meson build.
> > > 
> > > CC: Olivier Matz <olivier.matz@6wind.com>
> > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > > ---
> > >  MAINTAINERS                                     | 2 +-
> > >  app/Makefile                                    | 1 +
> > >  {test => app}/cmdline_test/Makefile             | 0
> > >  {test => app}/cmdline_test/cmdline_test.c       | 0
> > >  {test => app}/cmdline_test/cmdline_test.h       | 0
> > >  {test => app}/cmdline_test/cmdline_test.py      | 0
> > >  {test => app}/cmdline_test/cmdline_test_data.py | 0
> > >  {test => app}/cmdline_test/commands.c           | 0
> > 
> > Sorry, I didn't realize before,
> > other test apps directories are named test-*.
> > Shouldn't we name this one test-cmdline?
> >
> Looking into it now, changing the directory name is easy enough, however
> the final binary produced is also called cmdline_test - should it be
> changed too? Changing it would be a bit more invasive, and would be
> user-visible (perhaps just to test suites), but would lead to more
> consistency.
> 
> NOTE: this only applies to the "make" build, since the meson build uses the
> directory name as the binary name, so it's already consistent. There is no
> user visible change here, since the app wasn't available from meson builds
> before.
> 
> My recommendation is therefore to rename the directory only, and leave the
> binary name the same for make builds, given that when we switch completely
> over to meson it will be consistent at that point.
> 
Implemented in V3 patchset.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v3 2/5] test/test-acl: move to app directory
  2019-02-26 12:19   ` [dpdk-dev] [PATCH v3 2/5] test/test-acl: " Bruce Richardson
@ 2019-02-26 12:27     ` Ananyev, Konstantin
  0 siblings, 0 replies; 33+ messages in thread
From: Ananyev, Konstantin @ 2019-02-26 12:27 UTC (permalink / raw)
  To: Richardson, Bruce, thomas; +Cc: dev



> -----Original Message-----
> From: Richardson, Bruce
> Sent: Tuesday, February 26, 2019 12:19 PM
> To: thomas@monjalon.net
> Cc: dev@dpdk.org; Richardson, Bruce <bruce.richardson@intel.com>; Ananyev, Konstantin <konstantin.ananyev@intel.com>
> Subject: [PATCH v3 2/5] test/test-acl: move to app directory
> 
> Move to "app" directory and enable with meson build.
> 
> CC: Konstantin Ananyev <konstantin.ananyev@intel.com>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>  MAINTAINERS                     | 2 +-
>  app/Makefile                    | 1 +
>  app/meson.build                 | 1 +
>  {test => app}/test-acl/Makefile | 0
>  {test => app}/test-acl/main.c   | 0
>  app/test-acl/meson.build        | 5 +++++
>  test/Makefile                   | 1 -
>  7 files changed, 8 insertions(+), 2 deletions(-)
>  rename {test => app}/test-acl/Makefile (100%)
>  rename {test => app}/test-acl/main.c (100%)
>  create mode 100644 app/test-acl/meson.build
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 293bf6aa4..4f34c6e4c 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1106,7 +1106,7 @@ ACL
>  M: Konstantin Ananyev <konstantin.ananyev@intel.com>
>  F: lib/librte_acl/
>  F: doc/guides/prog_guide/packet_classif_access_ctrl.rst
> -F: test/test-acl/
> +F: app/test-acl/
>  F: test/test/test_acl.*
>  F: examples/l3fwd-acl/
>  F: doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
> diff --git a/app/Makefile b/app/Makefile
> index 51237d0f4..234e3f504 100644
> --- a/app/Makefile
> +++ b/app/Makefile
> @@ -6,6 +6,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
>  DIRS-$(CONFIG_RTE_TEST_PMD) += test-pmd
>  DIRS-$(CONFIG_RTE_PROC_INFO) += proc-info
>  DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += pdump
> +DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
>  DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test-cmdline
> 
>  ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
> diff --git a/app/meson.build b/app/meson.build
> index 8bdf4f581..3a34ebbf3 100644
> --- a/app/meson.build
> +++ b/app/meson.build
> @@ -4,6 +4,7 @@
>  apps = [
>  	'pdump',
>  	'proc-info',
> +	'test-acl',
>  	'test-bbdev',
>  	'test-cmdline',
>  	'test-compress-perf',
> diff --git a/test/test-acl/Makefile b/app/test-acl/Makefile
> similarity index 100%
> rename from test/test-acl/Makefile
> rename to app/test-acl/Makefile
> diff --git a/test/test-acl/main.c b/app/test-acl/main.c
> similarity index 100%
> rename from test/test-acl/main.c
> rename to app/test-acl/main.c
> diff --git a/app/test-acl/meson.build b/app/test-acl/meson.build
> new file mode 100644
> index 000000000..d5c2581b4
> --- /dev/null
> +++ b/app/test-acl/meson.build
> @@ -0,0 +1,5 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2019 Intel Corporation
> +
> +sources = files('main.c')
> +deps += ['acl', 'net']
> diff --git a/test/Makefile b/test/Makefile
> index 4ffc087a0..0b7a3ed96 100644
> --- a/test/Makefile
> +++ b/test/Makefile
> @@ -4,7 +4,6 @@
>  include $(RTE_SDK)/mk/rte.vars.mk
> 
>  DIRS-$(CONFIG_RTE_APP_TEST) += test
> -DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
>  DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
> 
>  include $(RTE_SDK)/mk/rte.subdir.mk
> --

Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

> 2.20.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v3 0/5] consolidate testing apps to app dir
  2019-02-26 12:18 ` [dpdk-dev] [PATCH v3 " Bruce Richardson
                     ` (4 preceding siblings ...)
  2019-02-26 12:19   ` [dpdk-dev] [PATCH v3 5/5] test/test: move to app folder Bruce Richardson
@ 2019-02-26 14:40   ` Thomas Monjalon
  5 siblings, 0 replies; 33+ messages in thread
From: Thomas Monjalon @ 2019-02-26 14:40 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev

26/02/2019 13:18, Bruce Richardson:
> The apps for testing are split between the "test" and "app" directories,
> with a not-very-clear distinction between the two (at least to my mind).
> 
> Given how the apps are being built, the easiest path to having
> cmdline_test, test-acl and test-pipeline build using meson is to
> consolidate all these apps back into the app folder and use the logic
> there. The bpf folder doesn't contain an actual application, but
> rather example bpf code which can be loaded into testpmd. That is
> possibly best moved to the examples folder, but I'm open to feedback
> on the best place for it.
> 
> With these changes, the "test" folder then becomes the location for
> unit tests only. However, we can simplify things a little by moving
> that too to the app folder, eliminating the need for the separate
> "test-build" make target, and aligning the output folder for the
> binary from "make test-build" with the source file location in app.
> 
> ---
> V3: * Renamed the cmdline_test subdirectory to test-cmdline as part of the
>       move.
> V2: * Following some discussion with Thomas, moved the autotests to the
>       app folder too.
>     * Updated maintainers file appropriately in each patch.

Applied, thanks

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2019-02-26 14:40 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-25 20:26 [dpdk-dev] [PATCH 0/4] RFC: consolidate testing apps to app dir Bruce Richardson
2019-01-25 20:26 ` [dpdk-dev] [PATCH 1/4] test/cmdline_test: move to app directory Bruce Richardson
2019-01-25 20:26 ` [dpdk-dev] [PATCH 2/4] test/test-acl: " Bruce Richardson
2019-01-25 20:26 ` [dpdk-dev] [PATCH 3/4] test/test-pipeline: " Bruce Richardson
2019-01-25 20:26 ` [dpdk-dev] [PATCH 4/4] test/bpf: move to examples folder Bruce Richardson
2019-01-25 20:30 ` [dpdk-dev] [PATCH 0/4] RFC: consolidate testing apps to app dir Bruce Richardson
2019-01-29 11:40   ` Thomas Monjalon
2019-01-29 11:52     ` Bruce Richardson
2019-02-19 14:53 ` [dpdk-dev] [PATCH v2 0/5] " Bruce Richardson
2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 1/5] test/cmdline_test: move to app directory Bruce Richardson
2019-02-26  9:14     ` Thomas Monjalon
2019-02-26 10:00       ` Bruce Richardson
2019-02-26 11:24       ` Bruce Richardson
2019-02-26 12:20         ` Bruce Richardson
2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 2/5] test/test-acl: " Bruce Richardson
2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 3/5] test/test-pipeline: " Bruce Richardson
2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 4/5] test/bpf: move to examples folder Bruce Richardson
2019-02-20  9:35     ` Ananyev, Konstantin
2019-02-20  9:39       ` Bruce Richardson
2019-02-20  9:42         ` Ananyev, Konstantin
2019-02-20 10:35         ` Thomas Monjalon
2019-02-25 16:22     ` Ananyev, Konstantin
2019-02-19 14:53   ` [dpdk-dev] [PATCH v2 5/5] test/test: move to app folder Bruce Richardson
2019-02-20 11:47   ` [dpdk-dev] [PATCH v2 0/5] consolidate testing apps to app dir Ferruh Yigit
2019-02-25 15:34     ` Bruce Richardson
2019-02-26 12:18 ` [dpdk-dev] [PATCH v3 " Bruce Richardson
2019-02-26 12:18   ` [dpdk-dev] [PATCH v3 1/5] test/cmdline_test: move to app directory Bruce Richardson
2019-02-26 12:19   ` [dpdk-dev] [PATCH v3 2/5] test/test-acl: " Bruce Richardson
2019-02-26 12:27     ` Ananyev, Konstantin
2019-02-26 12:19   ` [dpdk-dev] [PATCH v3 3/5] test/test-pipeline: " Bruce Richardson
2019-02-26 12:19   ` [dpdk-dev] [PATCH v3 4/5] test/bpf: move to examples folder Bruce Richardson
2019-02-26 12:19   ` [dpdk-dev] [PATCH v3 5/5] test/test: move to app folder Bruce Richardson
2019-02-26 14:40   ` [dpdk-dev] [PATCH v3 0/5] consolidate testing apps to app dir Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).