Show a cover letter.

GET /api/covers/50507/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 50507,
    "url": "http://patches.dpdk.org/api/covers/50507/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20190226121903.5499-1-bruce.richardson@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20190226121903.5499-1-bruce.richardson@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190226121903.5499-1-bruce.richardson@intel.com",
    "date": "2019-02-26T12:18:58",
    "name": "[v3,0/5] consolidate testing apps to app dir",
    "submitter": {
        "id": 20,
        "url": "http://patches.dpdk.org/api/people/20/?format=api",
        "name": "Bruce Richardson",
        "email": "bruce.richardson@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/20190226121903.5499-1-bruce.richardson@intel.com/mbox/",
    "series": [
        {
            "id": 3545,
            "url": "http://patches.dpdk.org/api/series/3545/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=3545",
            "date": "2019-02-26T12:18:58",
            "name": "consolidate testing apps to app dir",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/3545/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/50507/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 5ECFE2C30;\n\tTue, 26 Feb 2019 13:19:16 +0100 (CET)",
            "from mga06.intel.com (mga06.intel.com [134.134.136.31])\n\tby dpdk.org (Postfix) with ESMTP id 17059235\n\tfor <dev@dpdk.org>; Tue, 26 Feb 2019 13:19:13 +0100 (CET)",
            "from fmsmga001.fm.intel.com ([10.253.24.23])\n\tby orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t26 Feb 2019 04:19:12 -0800",
            "from silpixa00399126.ir.intel.com (HELO\n\tsilpixa00399126.ger.corp.intel.com) ([10.237.222.236])\n\tby fmsmga001.fm.intel.com with ESMTP; 26 Feb 2019 04:19:11 -0800"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.58,415,1544515200\"; d=\"scan'208\";a=\"150086067\"",
        "From": "Bruce Richardson <bruce.richardson@intel.com>",
        "To": "thomas@monjalon.net",
        "Cc": "dev@dpdk.org,\n\tBruce Richardson <bruce.richardson@intel.com>",
        "Date": "Tue, 26 Feb 2019 12:18:58 +0000",
        "Message-Id": "<20190226121903.5499-1-bruce.richardson@intel.com>",
        "X-Mailer": "git-send-email 2.20.1",
        "In-Reply-To": "<20190125202642.66559-1-bruce.richardson@intel.com>",
        "References": "<20190125202642.66559-1-bruce.richardson@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v3 0/5] consolidate testing apps to app dir",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "The apps for testing are split between the \"test\" and \"app\" directories,\nwith a not-very-clear distinction between the two (at least to my mind).\n\nGiven how the apps are being built, the easiest path to having\ncmdline_test, test-acl and test-pipeline build using meson is to\nconsolidate all these apps back into the app folder and use the logic\nthere. The bpf folder doesn't contain an actual application, but\nrather example bpf code which can be loaded into testpmd. That is\npossibly best moved to the examples folder, but I'm open to feedback\non the best place for it.\n\nWith these changes, the \"test\" folder then becomes the location for\nunit tests only. However, we can simplify things a little by moving\nthat too to the app folder, eliminating the need for the separate\n\"test-build\" make target, and aligning the output folder for the\nbinary from \"make test-build\" with the source file location in app.\n\n---\nV3: * Renamed the cmdline_test subdirectory to test-cmdline as part of the\n      move.\nV2: * Following some discussion with Thomas, moved the autotests to the\n      app folder too.\n    * Updated maintainers file appropriately in each patch.\n\n\nBruce Richardson (5):\n  test/cmdline_test: move to app directory\n  test/test-acl: move to app directory\n  test/test-pipeline: move to app directory\n  test/bpf: move to examples folder\n  test/test: move to app folder\n\n GNUmakefile                                   |   1 -\n MAINTAINERS                                   | 190 +++++++++---------\n app/Makefile                                  |   4 +\n app/meson.build                               |   9 +-\n {test => app}/test-acl/Makefile               |   0\n {test => app}/test-acl/main.c                 |   0\n app/test-acl/meson.build                      |   5 +\n .../test-cmdline}/Makefile                    |   0\n .../test-cmdline}/cmdline_test.c              |   0\n .../test-cmdline}/cmdline_test.h              |   0\n .../test-cmdline}/cmdline_test.py             |   0\n .../test-cmdline}/cmdline_test_data.py        |   0\n .../test-cmdline}/commands.c                  |   0\n app/test-cmdline/meson.build                  |   5 +\n {test => app}/test-pipeline/Makefile          |   0\n {test => app}/test-pipeline/config.c          |   0\n {test => app}/test-pipeline/init.c            |   0\n {test => app}/test-pipeline/main.c            |   0\n {test => app}/test-pipeline/main.h            |   0\n app/test-pipeline/meson.build                 |  14 ++\n {test => app}/test-pipeline/pipeline_acl.c    |   0\n {test => app}/test-pipeline/pipeline_hash.c   |   0\n {test => app}/test-pipeline/pipeline_lpm.c    |   0\n .../test-pipeline/pipeline_lpm_ipv6.c         |   0\n {test => app}/test-pipeline/pipeline_stub.c   |   0\n {test => app}/test-pipeline/runtime.c         |   0\n {test => app}/test/Makefile                   |   0\n {test => app}/test/autotest.py                |   0\n {test => app}/test/autotest_data.py           |   0\n {test => app}/test/autotest_runner.py         |   0\n {test => app}/test/autotest_test_funcs.py     |   0\n {test => app}/test/commands.c                 |   0\n {test => app}/test/meson.build                |   0\n {test => app}/test/packet_burst_generator.c   |   0\n {test => app}/test/packet_burst_generator.h   |   0\n {test => app}/test/process.h                  |   0\n {test => app}/test/resource.c                 |   0\n {test => app}/test/resource.h                 |   0\n {test => app}/test/sample_packet_forward.c    |   0\n {test => app}/test/sample_packet_forward.h    |   0\n {test => app}/test/test.c                     |   0\n {test => app}/test/test.h                     |   0\n {test => app}/test/test_acl.c                 |   0\n {test => app}/test/test_acl.h                 |   0\n {test => app}/test/test_alarm.c               |   0\n {test => app}/test/test_atomic.c              |   0\n {test => app}/test/test_barrier.c             |   0\n {test => app}/test/test_bitmap.c              |   0\n {test => app}/test/test_bitratestats.c        |   0\n {test => app}/test/test_bpf.c                 |   0\n {test => app}/test/test_byteorder.c           |   0\n {test => app}/test/test_cfgfile.c             |   0\n .../test/test_cfgfiles/etc/empty.ini          |   0\n .../test_cfgfiles/etc/empty_key_value.ini     |   0\n .../test_cfgfiles/etc/invalid_section.ini     |   0\n .../test/test_cfgfiles/etc/line_too_long.ini  |   0\n .../test_cfgfiles/etc/missing_section.ini     |   0\n .../test_cfgfiles/etc/realloc_sections.ini    |   0\n .../test/test_cfgfiles/etc/sample1.ini        |   0\n .../test/test_cfgfiles/etc/sample2.ini        |   0\n {test => app}/test/test_cmdline.c             |   0\n {test => app}/test/test_cmdline.h             |   0\n {test => app}/test/test_cmdline_cirbuf.c      |   0\n {test => app}/test/test_cmdline_etheraddr.c   |   0\n {test => app}/test/test_cmdline_ipaddr.c      |   0\n {test => app}/test/test_cmdline_lib.c         |   0\n {test => app}/test/test_cmdline_num.c         |   0\n {test => app}/test/test_cmdline_portlist.c    |   0\n {test => app}/test/test_cmdline_string.c      |   0\n {test => app}/test/test_common.c              |   0\n {test => app}/test/test_compressdev.c         |   0\n .../test/test_compressdev_test_buffer.h       |   0\n {test => app}/test/test_cpuflags.c            |   0\n {test => app}/test/test_crc.c                 |   0\n {test => app}/test/test_cryptodev.c           |   0\n {test => app}/test/test_cryptodev.h           |   0\n .../test/test_cryptodev_aead_test_vectors.h   |   0\n .../test/test_cryptodev_aes_test_vectors.h    |   0\n {test => app}/test/test_cryptodev_asym.c      |   0\n {test => app}/test/test_cryptodev_asym_util.h |   0\n .../test/test_cryptodev_blockcipher.c         |   0\n .../test/test_cryptodev_blockcipher.h         |   0\n .../test/test_cryptodev_des_test_vectors.h    |   0\n .../test/test_cryptodev_dh_test_vectors.h     |   0\n .../test/test_cryptodev_dsa_test_vectors.h    |   0\n .../test/test_cryptodev_hash_test_vectors.h   |   0\n .../test/test_cryptodev_hmac_test_vectors.h   |   0\n .../test_cryptodev_kasumi_hash_test_vectors.h |   0\n .../test/test_cryptodev_kasumi_test_vectors.h |   0\n .../test/test_cryptodev_mod_test_vectors.h    |   0\n .../test/test_cryptodev_rsa_test_vectors.h    |   0\n .../test_cryptodev_snow3g_hash_test_vectors.h |   0\n .../test/test_cryptodev_snow3g_test_vectors.h |   0\n .../test/test_cryptodev_zuc_test_vectors.h    |   0\n {test => app}/test/test_cycles.c              |   0\n {test => app}/test/test_debug.c               |   0\n {test => app}/test/test_distributor.c         |   0\n {test => app}/test/test_distributor_perf.c    |   0\n {test => app}/test/test_eal_flags.c           |   0\n {test => app}/test/test_eal_fs.c              |   0\n {test => app}/test/test_efd.c                 |   0\n {test => app}/test/test_efd_perf.c            |   0\n {test => app}/test/test_errno.c               |   0\n .../test/test_event_crypto_adapter.c          |   0\n .../test/test_event_eth_rx_adapter.c          |   0\n .../test/test_event_eth_tx_adapter.c          |   0\n {test => app}/test/test_event_ring.c          |   0\n {test => app}/test/test_event_timer_adapter.c |   0\n {test => app}/test/test_eventdev.c            |   0\n {test => app}/test/test_external_mem.c        |   0\n {test => app}/test/test_fbarray.c             |   0\n {test => app}/test/test_flow_classify.c       |   0\n {test => app}/test/test_flow_classify.h       |   0\n {test => app}/test/test_func_reentrancy.c     |   0\n {test => app}/test/test_hash.c                |   0\n {test => app}/test/test_hash_functions.c      |   0\n {test => app}/test/test_hash_multiwriter.c    |   0\n {test => app}/test/test_hash_perf.c           |   0\n {test => app}/test/test_hash_readwrite.c      |   0\n {test => app}/test/test_hash_readwrite_lf.c   |   0\n {test => app}/test/test_interrupts.c          |   0\n {test => app}/test/test_ipsec.c               |   0\n {test => app}/test/test_kni.c                 |   0\n {test => app}/test/test_kvargs.c              |   0\n {test => app}/test/test_latencystats.c        |   0\n {test => app}/test/test_link_bonding.c        |   0\n {test => app}/test/test_link_bonding_mode4.c  |   0\n .../test/test_link_bonding_rssconf.c          |   0\n {test => app}/test/test_logs.c                |   0\n {test => app}/test/test_lpm.c                 |   0\n {test => app}/test/test_lpm6.c                |   0\n {test => app}/test/test_lpm6_data.h           |   0\n {test => app}/test/test_lpm6_perf.c           |   0\n {test => app}/test/test_lpm_perf.c            |   0\n {test => app}/test/test_malloc.c              |   0\n {test => app}/test/test_mbuf.c                |   0\n {test => app}/test/test_member.c              |   0\n {test => app}/test/test_member_perf.c         |   0\n {test => app}/test/test_memcpy.c              |   0\n {test => app}/test/test_memcpy_perf.c         |   0\n {test => app}/test/test_memory.c              |   0\n {test => app}/test/test_mempool.c             |   0\n {test => app}/test/test_mempool_perf.c        |   0\n {test => app}/test/test_memzone.c             |   0\n {test => app}/test/test_meter.c               |   0\n {test => app}/test/test_metrics.c             |   0\n {test => app}/test/test_mp_secondary.c        |   0\n {test => app}/test/test_pdump.c               |   0\n {test => app}/test/test_pdump.h               |   0\n {test => app}/test/test_per_lcore.c           |   0\n {test => app}/test/test_pmd_perf.c            |   0\n {test => app}/test/test_pmd_ring.c            |   0\n {test => app}/test/test_pmd_ring_perf.c       |   0\n {test => app}/test/test_power.c               |   0\n {test => app}/test/test_power_acpi_cpufreq.c  |   0\n {test => app}/test/test_power_kvm_vm.c        |   0\n {test => app}/test/test_prefetch.c            |   0\n {test => app}/test/test_rawdev.c              |   0\n {test => app}/test/test_reciprocal_division.c |   0\n .../test/test_reciprocal_division_perf.c      |   0\n {test => app}/test/test_red.c                 |   0\n {test => app}/test/test_reorder.c             |   0\n {test => app}/test/test_resource.c            |   0\n {test => app}/test/test_ring.c                |   0\n {test => app}/test/test_ring_perf.c           |   0\n {test => app}/test/test_rwlock.c              |   0\n {test => app}/test/test_sched.c               |   0\n {test => app}/test/test_service_cores.c       |   0\n {test => app}/test/test_spinlock.c            |   0\n {test => app}/test/test_string_fns.c          |   0\n {test => app}/test/test_table.c               |   0\n {test => app}/test/test_table.h               |   0\n {test => app}/test/test_table_acl.c           |   0\n {test => app}/test/test_table_acl.h           |   0\n {test => app}/test/test_table_combined.c      |   0\n {test => app}/test/test_table_combined.h      |   0\n {test => app}/test/test_table_pipeline.c      |   0\n {test => app}/test/test_table_pipeline.h      |   0\n {test => app}/test/test_table_ports.c         |   0\n {test => app}/test/test_table_ports.h         |   0\n {test => app}/test/test_table_tables.c        |   0\n {test => app}/test/test_table_tables.h        |   0\n {test => app}/test/test_tailq.c               |   0\n {test => app}/test/test_thash.c               |   0\n {test => app}/test/test_timer.c               |   0\n {test => app}/test/test_timer_perf.c          |   0\n {test => app}/test/test_timer_racecond.c      |   0\n {test => app}/test/test_version.c             |   0\n {test => app}/test/test_xmmt_ops.h            |   0\n {test => app}/test/virtual_pmd.c              |   0\n {test => app}/test/virtual_pmd.h              |   0\n devtools/test-build.sh                        |   3 -\n doc/guides/compressdevs/octeontx.rst          |   2 +-\n doc/guides/cryptodevs/qat.rst                 |   4 +-\n doc/guides/cryptodevs/virtio.rst              |   2 +-\n doc/guides/mempool/octeontx.rst               |   2 +-\n doc/guides/prog_guide/compressdev.rst         |   2 +-\n doc/guides/sample_app_ug/test_pipeline.rst    |   2 +-\n doc/guides/testpmd_app_ug/testpmd_funcs.rst   |   8 +-\n examples/bpf/README                           |   8 +\n {test => examples}/bpf/dummy.c                |   0\n {test => examples}/bpf/mbuf.h                 |   0\n examples/bpf/meson.build                      |   6 +\n {test => examples}/bpf/t1.c                   |   0\n {test => examples}/bpf/t2.c                   |   0\n {test => examples}/bpf/t3.c                   |   0\n meson.build                                   |   1 -\n mk/rte.sdkbuild.mk                            |   3 -\n mk/rte.sdkroot.mk                             |   6 +-\n mk/rte.sdktest.mk                             |   8 +-\n test/Makefile                                 |  11 -\n test/meson.build                              |   4 -\n 212 files changed, 162 insertions(+), 138 deletions(-)\n rename {test => app}/test-acl/Makefile (100%)\n rename {test => app}/test-acl/main.c (100%)\n create mode 100644 app/test-acl/meson.build\n rename {test/cmdline_test => app/test-cmdline}/Makefile (100%)\n rename {test/cmdline_test => app/test-cmdline}/cmdline_test.c (100%)\n rename {test/cmdline_test => app/test-cmdline}/cmdline_test.h (100%)\n rename {test/cmdline_test => app/test-cmdline}/cmdline_test.py (100%)\n rename {test/cmdline_test => app/test-cmdline}/cmdline_test_data.py (100%)\n rename {test/cmdline_test => app/test-cmdline}/commands.c (100%)\n create mode 100644 app/test-cmdline/meson.build\n rename {test => app}/test-pipeline/Makefile (100%)\n rename {test => app}/test-pipeline/config.c (100%)\n rename {test => app}/test-pipeline/init.c (100%)\n rename {test => app}/test-pipeline/main.c (100%)\n rename {test => app}/test-pipeline/main.h (100%)\n create mode 100644 app/test-pipeline/meson.build\n rename {test => app}/test-pipeline/pipeline_acl.c (100%)\n rename {test => app}/test-pipeline/pipeline_hash.c (100%)\n rename {test => app}/test-pipeline/pipeline_lpm.c (100%)\n rename {test => app}/test-pipeline/pipeline_lpm_ipv6.c (100%)\n rename {test => app}/test-pipeline/pipeline_stub.c (100%)\n rename {test => app}/test-pipeline/runtime.c (100%)\n rename {test => app}/test/Makefile (100%)\n rename {test => app}/test/autotest.py (100%)\n rename {test => app}/test/autotest_data.py (100%)\n rename {test => app}/test/autotest_runner.py (100%)\n rename {test => app}/test/autotest_test_funcs.py (100%)\n rename {test => app}/test/commands.c (100%)\n rename {test => app}/test/meson.build (100%)\n rename {test => app}/test/packet_burst_generator.c (100%)\n rename {test => app}/test/packet_burst_generator.h (100%)\n rename {test => app}/test/process.h (100%)\n rename {test => app}/test/resource.c (100%)\n rename {test => app}/test/resource.h (100%)\n rename {test => app}/test/sample_packet_forward.c (100%)\n rename {test => app}/test/sample_packet_forward.h (100%)\n rename {test => app}/test/test.c (100%)\n rename {test => app}/test/test.h (100%)\n rename {test => app}/test/test_acl.c (100%)\n rename {test => app}/test/test_acl.h (100%)\n rename {test => app}/test/test_alarm.c (100%)\n rename {test => app}/test/test_atomic.c (100%)\n rename {test => app}/test/test_barrier.c (100%)\n rename {test => app}/test/test_bitmap.c (100%)\n rename {test => app}/test/test_bitratestats.c (100%)\n rename {test => app}/test/test_bpf.c (100%)\n rename {test => app}/test/test_byteorder.c (100%)\n rename {test => app}/test/test_cfgfile.c (100%)\n rename {test => app}/test/test_cfgfiles/etc/empty.ini (100%)\n rename {test => app}/test/test_cfgfiles/etc/empty_key_value.ini (100%)\n rename {test => app}/test/test_cfgfiles/etc/invalid_section.ini (100%)\n rename {test => app}/test/test_cfgfiles/etc/line_too_long.ini (100%)\n rename {test => app}/test/test_cfgfiles/etc/missing_section.ini (100%)\n rename {test => app}/test/test_cfgfiles/etc/realloc_sections.ini (100%)\n rename {test => app}/test/test_cfgfiles/etc/sample1.ini (100%)\n rename {test => app}/test/test_cfgfiles/etc/sample2.ini (100%)\n rename {test => app}/test/test_cmdline.c (100%)\n rename {test => app}/test/test_cmdline.h (100%)\n rename {test => app}/test/test_cmdline_cirbuf.c (100%)\n rename {test => app}/test/test_cmdline_etheraddr.c (100%)\n rename {test => app}/test/test_cmdline_ipaddr.c (100%)\n rename {test => app}/test/test_cmdline_lib.c (100%)\n rename {test => app}/test/test_cmdline_num.c (100%)\n rename {test => app}/test/test_cmdline_portlist.c (100%)\n rename {test => app}/test/test_cmdline_string.c (100%)\n rename {test => app}/test/test_common.c (100%)\n rename {test => app}/test/test_compressdev.c (100%)\n rename {test => app}/test/test_compressdev_test_buffer.h (100%)\n rename {test => app}/test/test_cpuflags.c (100%)\n rename {test => app}/test/test_crc.c (100%)\n rename {test => app}/test/test_cryptodev.c (100%)\n rename {test => app}/test/test_cryptodev.h (100%)\n rename {test => app}/test/test_cryptodev_aead_test_vectors.h (100%)\n rename {test => app}/test/test_cryptodev_aes_test_vectors.h (100%)\n rename {test => app}/test/test_cryptodev_asym.c (100%)\n rename {test => app}/test/test_cryptodev_asym_util.h (100%)\n rename {test => app}/test/test_cryptodev_blockcipher.c (100%)\n rename {test => app}/test/test_cryptodev_blockcipher.h (100%)\n rename {test => app}/test/test_cryptodev_des_test_vectors.h (100%)\n rename {test => app}/test/test_cryptodev_dh_test_vectors.h (100%)\n rename {test => app}/test/test_cryptodev_dsa_test_vectors.h (100%)\n rename {test => app}/test/test_cryptodev_hash_test_vectors.h (100%)\n rename {test => app}/test/test_cryptodev_hmac_test_vectors.h (100%)\n rename {test => app}/test/test_cryptodev_kasumi_hash_test_vectors.h (100%)\n rename {test => app}/test/test_cryptodev_kasumi_test_vectors.h (100%)\n rename {test => app}/test/test_cryptodev_mod_test_vectors.h (100%)\n rename {test => app}/test/test_cryptodev_rsa_test_vectors.h (100%)\n rename {test => app}/test/test_cryptodev_snow3g_hash_test_vectors.h (100%)\n rename {test => app}/test/test_cryptodev_snow3g_test_vectors.h (100%)\n rename {test => app}/test/test_cryptodev_zuc_test_vectors.h (100%)\n rename {test => app}/test/test_cycles.c (100%)\n rename {test => app}/test/test_debug.c (100%)\n rename {test => app}/test/test_distributor.c (100%)\n rename {test => app}/test/test_distributor_perf.c (100%)\n rename {test => app}/test/test_eal_flags.c (100%)\n rename {test => app}/test/test_eal_fs.c (100%)\n rename {test => app}/test/test_efd.c (100%)\n rename {test => app}/test/test_efd_perf.c (100%)\n rename {test => app}/test/test_errno.c (100%)\n rename {test => app}/test/test_event_crypto_adapter.c (100%)\n rename {test => app}/test/test_event_eth_rx_adapter.c (100%)\n rename {test => app}/test/test_event_eth_tx_adapter.c (100%)\n rename {test => app}/test/test_event_ring.c (100%)\n rename {test => app}/test/test_event_timer_adapter.c (100%)\n rename {test => app}/test/test_eventdev.c (100%)\n rename {test => app}/test/test_external_mem.c (100%)\n rename {test => app}/test/test_fbarray.c (100%)\n rename {test => app}/test/test_flow_classify.c (100%)\n rename {test => app}/test/test_flow_classify.h (100%)\n rename {test => app}/test/test_func_reentrancy.c (100%)\n rename {test => app}/test/test_hash.c (100%)\n rename {test => app}/test/test_hash_functions.c (100%)\n rename {test => app}/test/test_hash_multiwriter.c (100%)\n rename {test => app}/test/test_hash_perf.c (100%)\n rename {test => app}/test/test_hash_readwrite.c (100%)\n rename {test => app}/test/test_hash_readwrite_lf.c (100%)\n rename {test => app}/test/test_interrupts.c (100%)\n rename {test => app}/test/test_ipsec.c (100%)\n rename {test => app}/test/test_kni.c (100%)\n rename {test => app}/test/test_kvargs.c (100%)\n rename {test => app}/test/test_latencystats.c (100%)\n rename {test => app}/test/test_link_bonding.c (100%)\n rename {test => app}/test/test_link_bonding_mode4.c (100%)\n rename {test => app}/test/test_link_bonding_rssconf.c (100%)\n rename {test => app}/test/test_logs.c (100%)\n rename {test => app}/test/test_lpm.c (100%)\n rename {test => app}/test/test_lpm6.c (100%)\n rename {test => app}/test/test_lpm6_data.h (100%)\n rename {test => app}/test/test_lpm6_perf.c (100%)\n rename {test => app}/test/test_lpm_perf.c (100%)\n rename {test => app}/test/test_malloc.c (100%)\n rename {test => app}/test/test_mbuf.c (100%)\n rename {test => app}/test/test_member.c (100%)\n rename {test => app}/test/test_member_perf.c (100%)\n rename {test => app}/test/test_memcpy.c (100%)\n rename {test => app}/test/test_memcpy_perf.c (100%)\n rename {test => app}/test/test_memory.c (100%)\n rename {test => app}/test/test_mempool.c (100%)\n rename {test => app}/test/test_mempool_perf.c (100%)\n rename {test => app}/test/test_memzone.c (100%)\n rename {test => app}/test/test_meter.c (100%)\n rename {test => app}/test/test_metrics.c (100%)\n rename {test => app}/test/test_mp_secondary.c (100%)\n rename {test => app}/test/test_pdump.c (100%)\n rename {test => app}/test/test_pdump.h (100%)\n rename {test => app}/test/test_per_lcore.c (100%)\n rename {test => app}/test/test_pmd_perf.c (100%)\n rename {test => app}/test/test_pmd_ring.c (100%)\n rename {test => app}/test/test_pmd_ring_perf.c (100%)\n rename {test => app}/test/test_power.c (100%)\n rename {test => app}/test/test_power_acpi_cpufreq.c (100%)\n rename {test => app}/test/test_power_kvm_vm.c (100%)\n rename {test => app}/test/test_prefetch.c (100%)\n rename {test => app}/test/test_rawdev.c (100%)\n rename {test => app}/test/test_reciprocal_division.c (100%)\n rename {test => app}/test/test_reciprocal_division_perf.c (100%)\n rename {test => app}/test/test_red.c (100%)\n rename {test => app}/test/test_reorder.c (100%)\n rename {test => app}/test/test_resource.c (100%)\n rename {test => app}/test/test_ring.c (100%)\n rename {test => app}/test/test_ring_perf.c (100%)\n rename {test => app}/test/test_rwlock.c (100%)\n rename {test => app}/test/test_sched.c (100%)\n rename {test => app}/test/test_service_cores.c (100%)\n rename {test => app}/test/test_spinlock.c (100%)\n rename {test => app}/test/test_string_fns.c (100%)\n rename {test => app}/test/test_table.c (100%)\n rename {test => app}/test/test_table.h (100%)\n rename {test => app}/test/test_table_acl.c (100%)\n rename {test => app}/test/test_table_acl.h (100%)\n rename {test => app}/test/test_table_combined.c (100%)\n rename {test => app}/test/test_table_combined.h (100%)\n rename {test => app}/test/test_table_pipeline.c (100%)\n rename {test => app}/test/test_table_pipeline.h (100%)\n rename {test => app}/test/test_table_ports.c (100%)\n rename {test => app}/test/test_table_ports.h (100%)\n rename {test => app}/test/test_table_tables.c (100%)\n rename {test => app}/test/test_table_tables.h (100%)\n rename {test => app}/test/test_tailq.c (100%)\n rename {test => app}/test/test_thash.c (100%)\n rename {test => app}/test/test_timer.c (100%)\n rename {test => app}/test/test_timer_perf.c (100%)\n rename {test => app}/test/test_timer_racecond.c (100%)\n rename {test => app}/test/test_version.c (100%)\n rename {test => app}/test/test_xmmt_ops.h (100%)\n rename {test => app}/test/virtual_pmd.c (100%)\n rename {test => app}/test/virtual_pmd.h (100%)\n create mode 100644 examples/bpf/README\n rename {test => examples}/bpf/dummy.c (100%)\n rename {test => examples}/bpf/mbuf.h (100%)\n create mode 100644 examples/bpf/meson.build\n rename {test => examples}/bpf/t1.c (100%)\n rename {test => examples}/bpf/t2.c (100%)\n rename {test => examples}/bpf/t3.c (100%)\n delete mode 100644 test/Makefile\n delete mode 100644 test/meson.build"
}