public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP] [PATCH v1] Add epoll_create1_03 test
@ 2022-10-07  8:34 Andrea Cervesato via ltp
  2022-10-10  6:23 ` Avinesh Kumar
  0 siblings, 1 reply; 3+ messages in thread
From: Andrea Cervesato via ltp @ 2022-10-07  8:34 UTC (permalink / raw)
  To: ltp

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);
+
+	TST_EXP_FAIL(epoll_create1(0), EMFILE);
+}
+
+static struct tst_test test = {
+	.min_kver = "2.6.27",
+	.test_all = run,
+};
-- 
2.35.3


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [LTP] [PATCH v1] Add epoll_create1_03 test
  2022-10-07  8:34 [LTP] [PATCH v1] Add epoll_create1_03 test Andrea Cervesato via ltp
@ 2022-10-10  6:23 ` Avinesh Kumar
  2022-10-10  7:09   ` Andrea Cervesato via ltp
  0 siblings, 1 reply; 3+ messages in thread
From: Avinesh Kumar @ 2022-10-10  6:23 UTC (permalink / raw)
  To: ltp

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





-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [LTP] [PATCH v1] Add epoll_create1_03 test
  2022-10-10  6:23 ` Avinesh Kumar
@ 2022-10-10  7:09   ` Andrea Cervesato via ltp
  0 siblings, 0 replies; 3+ messages in thread
From: Andrea Cervesato via ltp @ 2022-10-10  7:09 UTC (permalink / raw)
  To: Avinesh Kumar, ltp

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
>
>
>
>


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-10-10  7:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-07  8:34 [LTP] [PATCH v1] Add epoll_create1_03 test Andrea Cervesato via ltp
2022-10-10  6:23 ` Avinesh Kumar
2022-10-10  7:09   ` Andrea Cervesato via ltp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox