On 7/6/2026 7:55 PM, Raghavendra Ningoji wrote:
> test_dmadev_setup() aborts the entire "DMA dev instance" test suite
> with a hard failure when rte_dma_burst_capacity() reports fewer than
> 32 descriptors. Some DMA engines expose a small hardware ring; for
> example a 32-entry ring that reserves one slot to distinguish a full
> ring from an empty one leaves only 31 descriptors usable. Such a
> device genuinely cannot run the instance tests, which enqueue 32-deep
> bursts, but it should be reported as skipped rather than failed.
>
> Return TEST_SKIPPED instead, matching test_dmadev_burst_setup() which
> already skips (rather than fails) when the capacity is below 64.
>
> Signed-off-by: Raghavendra Ningoji <[email protected]>
> ---
> app/test/test_dmadev.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/app/test/test_dmadev.c b/app/test/test_dmadev.c
> index 5488a1af33..1cfa8c1e10 100644
> --- a/app/test/test_dmadev.c
> +++ b/app/test/test_dmadev.c
> @@ -1397,8 +1397,12 @@ test_dmadev_setup(void)
> if (rte_dma_stats_get(dev_id, vchan, &stats) != 0)
> ERR_RETURN("Error with rte_dma_stats_get()\n");
>
> - if (rte_dma_burst_capacity(dev_id, vchan) < 32)
> - ERR_RETURN("Error: Device does not have sufficient burst
> capacity to run tests");
> + if (rte_dma_burst_capacity(dev_id, vchan) < 32) {
> + RTE_LOG(ERR, USER1,
> + "DMA Dev %u: insufficient burst capacity (32 required),
> skipping tests\n",
> + dev_id);
> + return TEST_SKIPPED;
> + }
This approach is also acceptable, but I think this test, as a community
"free gift", should be supported as much as possible. So I would suggest
you modify the relevant code to support this test, but it is not mandatory.
Thanks
>
> if (stats.completed != 0 || stats.submitted != 0 || stats.errors != 0)
> ERR_RETURN("Error device stats are not all zero: completed =
> %"PRIu64", "