* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.