Rather than having the API level tests as self-test for the skeleton
driver, we can have these tests included directly into the autotest, so
that potentially other drivers can use them in future.

Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
---
 app/test/meson.build                          |  1 +
 app/test/test_dmadev.c                        | 12 ++++++++--
 .../test/test_dmadev_api.c                    | 24 ++++++++-----------
 drivers/dma/skeleton/meson.build              |  1 -
 drivers/dma/skeleton/skeleton_dmadev.c        |  6 +++++
 5 files changed, 27 insertions(+), 17 deletions(-)
 rename drivers/dma/skeleton/skeleton_dmadev_test.c => 
app/test/test_dmadev_api.c (96%)

diff --git a/app/test/meson.build b/app/test/meson.build
index 881cb4f655..9027eba3a4 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -44,6 +44,7 @@ test_sources = files(
         'test_distributor.c',
         'test_distributor_perf.c',
         'test_dmadev.c',
+        'test_dmadev_api.c',
         'test_eal_flags.c',
         'test_eal_fs.c',
         'test_efd.c',
diff --git a/app/test/test_dmadev.c b/app/test/test_dmadev.c
index 90e8faafa5..62fe27b7e8 100644
--- a/app/test/test_dmadev.c
+++ b/app/test/test_dmadev.c
@@ -9,15 +9,23 @@
 
 #include "test.h"
 
+/* from test_dmadev_api.c */
+extern int test_dmadev_api(uint16_t dev_id);
+
 static int
 test_dmadev_selftest_skeleton(void)
 {
        const char *pmd = "dma_skeleton";
+       int id;
        int ret;
 
+       if (rte_vdev_init(pmd, NULL) < 0)
+               return TEST_SKIPPED;
+       id = rte_dmadev_get_dev_id(pmd);
+       if (id < 0)
+               return TEST_SKIPPED;
        printf("\n### Test dmadev infrastructure using skeleton driver\n");
-       rte_vdev_init(pmd, NULL);
-       ret = rte_dmadev_selftest(rte_dmadev_get_dev_id(pmd));
+       ret = test_dmadev_api(id);
        rte_vdev_uninit(pmd);
 
        return ret;
diff --git a/drivers/dma/skeleton/skeleton_dmadev_test.c 
b/app/test/test_dmadev_api.c
similarity index 96%
rename from drivers/dma/skeleton/skeleton_dmadev_test.c
rename to app/test/test_dmadev_api.c
index be56f07262..8b93628e1c 100644
--- a/drivers/dma/skeleton/skeleton_dmadev_test.c
+++ b/app/test/test_dmadev_api.c
@@ -2,20 +2,16 @@
  * Copyright(c) 2021 HiSilicon Limited.
  */
 
+#include <stdint.h>
 #include <string.h>
 
 #include <rte_common.h>
 #include <rte_cycles.h>
 #include <rte_malloc.h>
 #include <rte_test.h>
+#include <rte_dmadev.h>
 
-/* Using relative path as skeleton_dmadev is not part of exported headers */
-#include "skeleton_dmadev.h"
-
-#define SKELDMA_TEST_DEBUG(fmt, args...) \
-       SKELDMA_LOG(DEBUG, fmt, ## args)
-#define SKELDMA_TEST_INFO(fmt, args...) \
-       SKELDMA_LOG(INFO, fmt, ## args)
+extern int test_dmadev_api(uint16_t dev_id);
 
 #define SKELDMA_TEST_RUN(test) \
        testsuite_run_test(test, #test)
@@ -73,10 +69,10 @@ testsuite_run_test(int (*test)(void), const char *name)
                ret = test();
                if (ret < 0) {
                        failed++;
-                       SKELDMA_TEST_INFO("%s Failed", name);
+                       printf("%s Failed\n", name);
                } else {
                        passed++;
-                       SKELDMA_TEST_DEBUG("%s Passed", name);
+                       printf("%s Passed\n", name);
                }
        }
 
@@ -486,11 +482,11 @@ test_dmadev_completed_status(void)
 }
 
 int
-test_dma_skeleton(uint16_t dev_id)
+test_dmadev_api(uint16_t dev_id)
 {
        int ret = testsuite_setup(dev_id);
        if (ret) {
-               SKELDMA_TEST_INFO("testsuite setup fail!");
+               printf("testsuite setup fail!");
                return -1;
        }
 
@@ -510,9 +506,9 @@ test_dma_skeleton(uint16_t dev_id)
 
        testsuite_teardown();
 
-       SKELDMA_TEST_INFO("Total tests   : %d\n", total);
-       SKELDMA_TEST_INFO("Passed        : %d\n", passed);
-       SKELDMA_TEST_INFO("Failed        : %d\n", failed);
+       printf("Total tests   : %d\n", total);
+       printf("Passed        : %d\n", passed);
+       printf("Failed        : %d\n", failed);
 
        if (failed)
                return -1;
diff --git a/drivers/dma/skeleton/meson.build b/drivers/dma/skeleton/meson.build
index 5d47339c6f..27509b1668 100644
--- a/drivers/dma/skeleton/meson.build
+++ b/drivers/dma/skeleton/meson.build
@@ -4,5 +4,4 @@
 deps += ['dmadev', 'kvargs', 'ring', 'bus_vdev']
 sources = files(
         'skeleton_dmadev.c',
-        'skeleton_dmadev_test.c',
 )
diff --git a/drivers/dma/skeleton/skeleton_dmadev.c 
b/drivers/dma/skeleton/skeleton_dmadev.c
index 1707e88173..ad129c578c 100644
--- a/drivers/dma/skeleton/skeleton_dmadev.c
+++ b/drivers/dma/skeleton/skeleton_dmadev.c
@@ -30,6 +30,12 @@
 /* Count of instances */
 static uint16_t skeldma_init_once;
 
+int
+test_dma_skeleton(uint16_t dev_id __rte_unused)
+{
+       return 0;
+}
+
 static int
 skeldma_info_get(const struct rte_dmadev *dev, struct rte_dmadev_info 
*dev_info,
                 uint32_t info_sz)
-- 
2.30.2

Reply via email to