mbox series

[v2,0/5] consolidate testing apps to app dir

Message ID 20190219145308.65668-1-bruce.richardson@intel.com (mailing list archive)
Headers
Series consolidate testing apps to app dir |

Message

Bruce Richardson Feb. 19, 2019, 2:53 p.m. UTC
  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
  

Comments

Ferruh Yigit Feb. 20, 2019, 11:47 a.m. UTC | #1
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
  
Bruce Richardson Feb. 25, 2019, 3:34 p.m. UTC | #2
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