Skip to contentSkip to conversation

test_compressdev:fix test case skipping due to missing device init

PATCH wuchangsheng (C) 1 participant 1 message Nov 11, 2021

lore
Share & tools
lore
#0 lore raw
Quoted 6 lines
Quoted 5 lines

The testsuite_setup function in the compressdev_autotest test case, the rte_compressdev_count() return 0 due to the lack of device init. It is considered that there is no equitment to skip execution. So add rte_vdev_init init compress_zlib device.

Quoted 6 lines

Why? Devices can be added as command line argument.
* Use ``--vdev="compress_isal"`` in the EAL options, which will call ``rte_vdev_init()`` internally. See documentation of compressdevs.

And if at all it is required, why only the zlib, there are other devices as well.

When ut test in this steps, will not call rte_vdev_init()
1. meson build
2. cd build
3. meson test compressdev_autotest

This use case tests the framework code and doesn't care about the specific device, so zlib device is randomly selected. According to what you said, it may affect the command-line test. I need to think it again.

Quoted 32 lines
Quoted 32 lines
---
 app/test/test_compressdev.c | 6 ++++++
 1 file changed, 6 insertions(+)
app/test/test_compressdev.c +6 -0
index a1b9f06250..f15fbe7f2d 100644
@@ -14,6 +14,7 @@
 #include <rte_mbuf.h>
 #include <rte_compressdev.h>
 #include <rte_string_fns.h>
+#include <rte_bus_vdev.h>
 
 #include "test_compressdev_test_buffer.h"
 #include "test.h"
@@ -197,6 +198,11 @@ testsuite_setup(void)
 	uint32_t max_buf_size = 0;
 	unsigned int i;
 
+	if (rte_vdev_init("compress_zlib", NULL) != 0) {
+		RTE_LOG(WARNING, USER1, "not find compress_zlib
 device\n");
+		return TEST_SKIPPED;
+	}
+
 	if (rte_compressdev_count() == 0) {
 		RTE_LOG(WARNING, USER1, "Need at least one compress device\n");

return TEST_SKIPPED;
--
2.27.0