X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest%2Ftest_rawdev.c;h=081fab969b05455a363127c7463bb4782fc8753e;hb=d827f610d38683184178158bc8fd625f061229b6;hp=623117af995b668af569e530900f63462ffea05b;hpb=b69512dda123642e57f5b62914064e82ecc1ad5d;p=dpdk.git diff --git a/app/test/test_rawdev.c b/app/test/test_rawdev.c index 623117af99..081fab969b 100644 --- a/app/test/test_rawdev.c +++ b/app/test/test_rawdev.c @@ -14,8 +14,13 @@ static int test_rawdev_selftest_impl(const char *pmd, const char *opts) { + int ret; + + printf("\n### Test rawdev infrastructure using skeleton driver\n"); rte_vdev_init(pmd, opts); - return rte_rawdev_selftest(rte_rawdev_get_dev_id(pmd)); + ret = rte_rawdev_selftest(rte_rawdev_get_dev_id(pmd)); + rte_vdev_uninit(pmd); + return ret; } static int @@ -24,23 +29,29 @@ test_rawdev_selftest_skeleton(void) return test_rawdev_selftest_impl("rawdev_skeleton", ""); } -REGISTER_TEST_COMMAND(rawdev_autotest, test_rawdev_selftest_skeleton); - static int -test_rawdev_selftest_ioat(void) +test_rawdev_selftests(void) { const int count = rte_rawdev_count(); + int ret = 0; int i; + /* basic sanity on rawdev infrastructure */ + if (test_rawdev_selftest_skeleton() < 0) + return -1; + + /* now run self-test on all rawdevs */ + if (count > 0) + printf("\n### Run selftest on each available rawdev\n"); for (i = 0; i < count; i++) { - struct rte_rawdev_info info = { .dev_private = NULL }; - if (rte_rawdev_info_get(i, &info) == 0 && - strstr(info.driver_name, "ioat") != NULL) - return TEST_SUCCESS; + int result = rte_rawdev_selftest(i); + printf("Rawdev %u (%s) selftest: %s\n", i, + rte_rawdevs[i].name, + result == 0 ? "Passed" : "Failed"); + ret |= result; } - printf("No IOAT rawdev found, skipping tests\n"); - return TEST_SKIPPED; + return ret; } -REGISTER_TEST_COMMAND(ioat_rawdev_autotest, test_rawdev_selftest_ioat); +REGISTER_TEST_COMMAND(rawdev_autotest, test_rawdev_selftests);