Re: [PATCH v2 1/2] selftests/dmabuf-heap: conform test to TAP format output

From: Muhammad Usama Anjum
Date: Thu Feb 29 2024 - 04:04:13 EST


On 2/28/24 11:51 PM, T.J. Mercier wrote:
> On Tue, Feb 27, 2024 at 4:21 AM Muhammad Usama Anjum
> <usama.anjum@xxxxxxxxxxxxx> wrote:
>
> ..
>
>> +static int numer_of_heaps(void)
>> +{
>> + DIR *d = opendir(DEVPATH);
>> + struct dirent *dir;
>> + int heaps = 0;
>> +
>> + while ((dir = readdir(d))) {
>> + if (!strncmp(dir->d_name, ".", 2))
>> + continue;
>> + if (!strncmp(dir->d_name, "..", 3))
>> + continue;
>> + heaps++;
>> + }
>> +
>> + return heaps;
>> }
>>
>> int main(void)
>> {
>> - DIR *d;
>> struct dirent *dir;
>> - int ret = -1;
>> + DIR *d;
>> +
>> + ksft_print_header();
>>
>> d = opendir(DEVPATH);
>> if (!d) {
>> - printf("No %s directory?\n", DEVPATH);
>> - return -1;
>> + ksft_print_msg("No %s directory?\n", DEVPATH);
>> + return KSFT_SKIP;
>> }
>>
>> - while ((dir = readdir(d)) != NULL) {
>> + ksft_set_plan(9 * numer_of_heaps());
>
> Shouldn't this be 5 (one for each test_alloc_* below) instead of 9?
This number 9 doesn't represent number of functions. It represents the
number of test-cases. One function may have multiple of these. (Hence this
number is equal to the number of ksft_test_results_*() functions calls).

>
>> +
>> + while ((dir = readdir(d))) {
>> if (!strncmp(dir->d_name, ".", 2))
>> continue;
>> if (!strncmp(dir->d_name, "..", 3))
>> continue;
>>
>> - printf("Testing heap: %s\n", dir->d_name);
>> - printf("=======================================\n");
>> - ret = test_alloc_and_import(dir->d_name);
>> - if (ret)
>> - break;
>> -
>> - ret = test_alloc_zeroed(dir->d_name, 4 * 1024);
>> - if (ret)
>> - break;
>> -
>> - ret = test_alloc_zeroed(dir->d_name, ONE_MEG);
>> - if (ret)
>> - break;
>> -
>> - ret = test_alloc_compat(dir->d_name);
>> - if (ret)
>> - break;
>> -
>> - ret = test_alloc_errors(dir->d_name);
>> - if (ret)
>> - break;
>> + ksft_print_msg("Testing heap: %s\n", dir->d_name);
>> + ksft_print_msg("=======================================\n");
>> + test_alloc_and_import(dir->d_name);
>> + test_alloc_zeroed(dir->d_name, 4 * 1024);
>> + test_alloc_zeroed(dir->d_name, ONE_MEG);
>> + test_alloc_compat(dir->d_name);
>> + test_alloc_errors(dir->d_name);
>> }
>> closedir(d);
>>
>> - return ret;
>> + ksft_finished();
>> }
>> --
>> 2.42.0
>>
>>
>

--
BR,
Muhammad Usama Anjum