This is a tradeoff point. If we changed the log level of dmadev, it is 
difficult to know where the test case fails.

So I prefer add more meaningful information, at least print out the function 
name.

And V19 add format function name in log default, so the rte_dmadev's log will 
show like:

rte_dmadev_configure(): Invalid dev_id=64
rte_dmadev_configure(): Device 4 configure zero vchans
rte_dmadev_configure(): Device 4 configure too many vchans
rte_dmadev_configure(): Device 4 don't support silent
test_dmadev_configure Passed
rte_dmadev_vchan_setup(): Invalid dev_id=64
rte_dmadev_vchan_setup(): Device 4 number of descriptors invalid
rte_dmadev_vchan_setup(): Device 4 vchan out range!
rte_dmadev_vchan_setup(): Device 4 direction invalid!
rte_dmadev_vchan_setup(): Device 4 direction invalid!
rte_dmadev_vchan_setup(): Device 4 don't support mem2dev transfer
rte_dmadev_vchan_setup(): Device 4 don't support dev2mem transfer
rte_dmadev_vchan_setup(): Device 4 don't support dev2dev transfer
rte_dmadev_vchan_setup(): Device 4 number of descriptors invalid
rte_dmadev_vchan_setup(): Device 4 number of descriptors invalid
rte_dmadev_vchan_setup(): Device 4 source port type invalid
rte_dmadev_vchan_setup(): Device 4 destination port type invalid


On 2021/9/2 22:11, Walsh, Conor wrote:
> Hi Chengwen,
> 
> The output from the API tests is not very straightforward to interpret if you 
> are not familiar with these tests.
> Could we change the log level of the dmadev library before and after the API 
> tests using something similar to 
> The code I have included inline below?
> 
>> +static int
>> +testsuite_setup(uint16_t dev_id)
>> +{
>> +    test_dev_id = dev_id;
>> +    invalid_dev_id = RTE_DMADEV_MAX_DEVS;
>> +
>> +    src = rte_malloc("dmadev_test_src", TEST_MEMCPY_SIZE, 0);
>> +    if (src == NULL)
>> +            return -ENOMEM;
>> +    dst = rte_malloc("dmadev_test_dst", TEST_MEMCPY_SIZE, 0);
>> +    if (dst == NULL)
>> +            return -ENOMEM;
>       
>       /* Set dmadev log level to critical to suppress unnecessary output 
> during API tests. */
>       rte_log_set_level_pattern("lib.dmadev", RTE_LOG_CRIT);
>> +
>> +    total = 0;
>> +    passed = 0;
>> +    failed = 0;
>> +
>> +    return 0;
>> +}
>> +
>> +static void
>> +testsuite_teardown(void)
>> +{
>> +    rte_free(src);
>> +    rte_free(dst);
>> +    /* Ensure the dmadev is stopped. */
>> +    rte_dmadev_stop(test_dev_id);
>       rte_log_set_level_pattern("lib.dmadev", RTE_LOG_INFO);
>> +}
> 
> This change would bring your output down from:
> 
> ### Test dmadev infrastructure using skeleton driver
> test_dmadev_get_dev_id Passed
> test_dmadev_is_valid_dev Passed
> test_dmadev_count Passed
> Invalid dev_id=64
> test_dmadev_info_get Passed
> Invalid dev_id=64
> Device 1 configure zero vchans
> Device 1 configure too many vchans
> Device 1 don't support silent
> test_dmadev_configure Passed
> Invalid dev_id=64
> Device 1 number of descriptors invalid
> Device 1 vchan out range!
> Device 1 direction invalid!
> Device 1 direction invalid!
> Device 1 don't support mem2dev transfer
> Device 1 don't support dev2mem transfer
> Device 1 don't support dev2dev transfer
> Device 1 number of descriptors invalid
> Device 1 number of descriptors invalid
> Device 1 source port type invalid
> Device 1 destination port type invalid
> test_dmadev_vchan_setup Passed
> Invalid dev_id=64
> Invalid dev_id=64
> Device 1 must be stopped to allow configuration
> Device 1 must be stopped to allow configuration
> test_dmadev_start_stop Passed
> Invalid dev_id=64
> Invalid dev_id=64
> Invalid dev_id=64
> Device 1 vchan 1 out of range
> Device 1 vchan 1 out of range
> test_dmadev_stats Passed
> test_dmadev_completed Passed
> test_dmadev_completed_status Passed
> Device 1 already stopped
> Total tests   : 10
> Passed        : 10
> Failed        : 0
> skeldma_remove(): Remove dma_skeleton dmadev
> 
> To:
> 
> ### Test dmadev infrastructure using skeleton driver
> test_dmadev_get_dev_id Passed
> test_dmadev_is_valid_dev Passed
> test_dmadev_count Passed
> test_dmadev_info_get Passed
> test_dmadev_configure Passed
> test_dmadev_vchan_setup Passed
> test_dmadev_start_stop Passed
> test_dmadev_stats Passed
> test_dmadev_completed Passed
> test_dmadev_completed_status Passed
> Total tests   : 10
> Passed        : 10
> Failed        : 0
> skeldma_remove(): Remove dma_skeleton dmadev
> 
> Thanks,
> Conor.
> .
> 

Reply via email to