[LTP] [PATCH v1] Add epoll_create1_03 test

Andrea Cervesato andrea.cervesato@suse.com
Mon Oct 10 09:09:33 CEST 2022


Hi Avinesh,

as I mentioned in the previous message, this patch has to be ignored.

Andrea

On 10/10/22 08:23, Avinesh Kumar wrote:
> Hi Andrea,
>
> On Friday, October 7, 2022 2:04:06 PM IST Andrea Cervesato via ltp wrote:
>> The test verifies epoll_create1 will raises EMFILE when
>> /proc/sys/fs/epoll/max_user_watches is reached.
>>
>> Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
>> ---
>>   .../syscalls/epoll_create1/epoll_create1_03.c | 34 +++++++++++++++++++
>>   1 file changed, 34 insertions(+)
>>   create mode 100644 testcases/kernel/syscalls/epoll_create1/epoll_create1_03.c
>>
>> diff --git a/testcases/kernel/syscalls/epoll_create1/epoll_create1_03.c b/testcases/kernel/syscalls/epoll_create1/epoll_create1_03.c
>> new file mode 100644
>> index 000000000..7f51edf7a
>> --- /dev/null
>> +++ b/testcases/kernel/syscalls/epoll_create1/epoll_create1_03.c
>> @@ -0,0 +1,34 @@
>> +// SPDX-License-Identifier: GPL-2.0-or-later
>> +/*
>> + * Copyright (C) 2022 SUSE LLC Andrea Cervesato <andrea.cervesato@suse.com>
>> + */
>> +
>> +/*\
>> + * [Description]
>> + *
>> + * Verify that epoll_create1 returns -1 and set errno to EMFILE when maximum
>> + * number of epoll watchers is reached.
>> + */
>> +
>> +#include <sys/epoll.h>
>> +
>> +#include "tst_test.h"
>> +#include "lapi/epoll.h"
>> +#include "lapi/syscalls.h"
>> +
>> +static void run(void)
>> +{
>> +	int i, max_inst;
>> +
>> +	SAFE_FILE_LINES_SCANF("/proc/sys/fs/epoll/max_user_watches", "%d", &max_inst);
>> +
>> +	for (i = 0; i < max_inst; i++)
>> +		TST_EXP_PASS_SILENT(epoll_create1(0) == 0);
> I don't think this is correct,
> epoll_create1(0) will return a file descriptor (a nonnegative integer).
> And IIUC, TST_EXP_PASS* macros take a function call only and not a compare statement.
>
>> +
>> +	TST_EXP_FAIL(epoll_create1(0), EMFILE);
>> +}
>> +
>> +static struct tst_test test = {
>> +	.min_kver = "2.6.27",
>> +	.test_all = run,
>> +};
>>
> Also,
> Test reports TBROK if run for more than one iteration -
> $ ./epoll_create1_03 -i2
> tst_test.c:1526: TINFO: Timeout per run is 0h 00m 30s
> epoll_create1_03.c:28: TPASS: epoll_create1(0) : EMFILE (24)
> epoll_create1_03.c:23: TBROK: Failed to open FILE '/proc/sys/fs/epoll/max_user_watches' for reading: EMFILE (24)
>
>
> Kind Regards,
> Avinesh
>
>
>
>



More information about the ltp mailing list