test_compressdev:fix test case skipping due to missing device init
Quoted 6 lines
Quoted 5 lines
The
testsuite_setupfunction in thecompressdev_autotesttest case, therte_compressdev_count()return 0 due to the lack of device init. It is considered that there is no equitment to skip execution. So addrte_vdev_initinitcompress_zlibdevice.
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
Signed-off-by Changsheng Wu <[email protected]>--- app/test/test_compressdev.c | 6 ++++++ 1 file changed, 6 insertions(+)app/test/test_compressdev.c +6
-0@@ -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