* [LTP] [PATCH 1/2] close: remove unused headers and fix minor style issues
@ 2026-04-06 13:30 Jinseok Kim
2026-04-06 13:31 ` [LTP] [PATCH 2/2] close: add test for double close EBADF Jinseok Kim
2026-04-09 8:08 ` [LTP] [PATCH 1/2] close: remove unused headers and fix minor style issues Petr Vorel
0 siblings, 2 replies; 4+ messages in thread
From: Jinseok Kim @ 2026-04-06 13:30 UTC (permalink / raw)
To: ltp
Remove unused headers (<stdio.h>, <errno.h>, <sys/stat.h>) from close01.c
and (<stdio.h>, <sys/stat.h>) from close02.c.
Also make struct test_case_t static and apply minor style fixes.
Signed-off-by: Jinseok Kim <always.starving0@gmail.com>
---
testcases/kernel/syscalls/close/close01.c | 6 ++----
testcases/kernel/syscalls/close/close02.c | 2 --
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/testcases/kernel/syscalls/close/close01.c b/testcases/kernel/syscalls/close/close01.c
index 4e4f107ef..616752595 100644
--- a/testcases/kernel/syscalls/close/close01.c
+++ b/testcases/kernel/syscalls/close/close01.c
@@ -8,10 +8,7 @@
* Test that closing a file/pipe/socket works correctly.
*/
-#include <stdio.h>
-#include <errno.h>
#include <fcntl.h>
-#include <sys/stat.h>
#include "tst_test.h"
#define FILENAME "close01_testfile"
@@ -24,6 +21,7 @@ static int get_fd_file(void)
static int get_fd_pipe(void)
{
int pipefildes[2];
+
SAFE_PIPE(pipefildes);
SAFE_CLOSE(pipefildes[1]);
return pipefildes[0];
@@ -34,7 +32,7 @@ static int get_fd_socket(void)
return SAFE_SOCKET(AF_INET, SOCK_STREAM, 0);
}
-struct test_case_t {
+static struct test_case_t {
int (*get_fd) ();
char *type;
} tc[] = {
diff --git a/testcases/kernel/syscalls/close/close02.c b/testcases/kernel/syscalls/close/close02.c
index 2016453f8..617c48237 100644
--- a/testcases/kernel/syscalls/close/close02.c
+++ b/testcases/kernel/syscalls/close/close02.c
@@ -8,9 +8,7 @@
* Call close(-1) and expects it to return EBADF.
*/
-#include <stdio.h>
#include <errno.h>
-#include <sys/stat.h>
#include "tst_test.h"
static void run(void)
--
2.43.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 4+ messages in thread* [LTP] [PATCH 2/2] close: add test for double close EBADF
2026-04-06 13:30 [LTP] [PATCH 1/2] close: remove unused headers and fix minor style issues Jinseok Kim
@ 2026-04-06 13:31 ` Jinseok Kim
2026-04-09 8:15 ` Petr Vorel
2026-04-09 8:08 ` [LTP] [PATCH 1/2] close: remove unused headers and fix minor style issues Petr Vorel
1 sibling, 1 reply; 4+ messages in thread
From: Jinseok Kim @ 2026-04-06 13:31 UTC (permalink / raw)
To: ltp
Verify that calling close() on an already closed file descriptor fails
with EBADF.
The existing close tests cover:
- close01: successful close on valid file descriptors
- close02: invalid file descriptor (-1)
This test adds coverage for a common state transition case where a
previously valid file descriptor becomes invalid after close().
Signed-off-by: Jinseok Kim <always.starving0@gmail.com>
---
runtest/syscalls | 1 +
testcases/kernel/syscalls/close/.gitignore | 1 +
testcases/kernel/syscalls/close/close03.c | 26 ++++++++++++++++++++++
3 files changed, 28 insertions(+)
create mode 100644 testcases/kernel/syscalls/close/close03.c
diff --git a/runtest/syscalls b/runtest/syscalls
index 5a2e8f048..71c2b9ec5 100644
--- a/runtest/syscalls
+++ b/runtest/syscalls
@@ -134,6 +134,7 @@ clone304 clone304
close01 close01
close02 close02
+close03 close03
close_range01 close_range01
close_range02 close_range02
diff --git a/testcases/kernel/syscalls/close/.gitignore b/testcases/kernel/syscalls/close/.gitignore
index 07d25bccf..1ed7e45cf 100644
--- a/testcases/kernel/syscalls/close/.gitignore
+++ b/testcases/kernel/syscalls/close/.gitignore
@@ -1,2 +1,3 @@
/close01
/close02
+/close03
diff --git a/testcases/kernel/syscalls/close/close03.c b/testcases/kernel/syscalls/close/close03.c
new file mode 100644
index 000000000..38950d00c
--- /dev/null
+++ b/testcases/kernel/syscalls/close/close03.c
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (C) 2026 Jinseok Kim <always.starving0@gmail.com>
+ */
+
+/*\
+ * Verify that calling close() twice on the same fd returns EBADF on
+ * the second call.
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include "tst_test.h"
+
+static void run(void)
+{
+ int fd = SAFE_OPEN("close03", O_CREAT, 0600);
+
+ TST_EXP_PASS(close(fd));
+ TST_EXP_FAIL(close(fd), EBADF);
+}
+
+static struct tst_test test = {
+ .needs_tmpdir = 1,
+ .test_all = run,
+};
--
2.43.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [LTP] [PATCH 2/2] close: add test for double close EBADF
2026-04-06 13:31 ` [LTP] [PATCH 2/2] close: add test for double close EBADF Jinseok Kim
@ 2026-04-09 8:15 ` Petr Vorel
0 siblings, 0 replies; 4+ messages in thread
From: Petr Vorel @ 2026-04-09 8:15 UTC (permalink / raw)
To: Jinseok Kim; +Cc: ltp
> Verify that calling close() on an already closed file descriptor fails
> with EBADF.
> The existing close tests cover:
> - close01: successful close on valid file descriptors
> - close02: invalid file descriptor (-1)
> This test adds coverage for a common state transition case where a
> previously valid file descriptor becomes invalid after close().
IMHO it'd make sense to add this errno check to close02.c (using .tcnt).
...
> --- /dev/null
> +++ b/testcases/kernel/syscalls/close/close03.c
> @@ -0,0 +1,26 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * Copyright (C) 2026 Jinseok Kim <always.starving0@gmail.com>
> + */
> +
> +/*\
> + * Verify that calling close() twice on the same fd returns EBADF on
Please instead of close() use:
:manpage:`close(2)`
That will provide link to man page
https://man7.org/linux/man-pages/man2/close.2.html
in our test catalog:
https://linux-test-project.readthedocs.io/en/latest/users/test_catalog.html
Kind regards,
Petr
> + * the second call.
> + */
> +
> +#include <errno.h>
> +#include <fcntl.h>
> +#include "tst_test.h"
> +
> +static void run(void)
> +{
> + int fd = SAFE_OPEN("close03", O_CREAT, 0600);
> +
> + TST_EXP_PASS(close(fd));
> + TST_EXP_FAIL(close(fd), EBADF);
> +}
> +
> +static struct tst_test test = {
> + .needs_tmpdir = 1,
> + .test_all = run,
> +};
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [LTP] [PATCH 1/2] close: remove unused headers and fix minor style issues
2026-04-06 13:30 [LTP] [PATCH 1/2] close: remove unused headers and fix minor style issues Jinseok Kim
2026-04-06 13:31 ` [LTP] [PATCH 2/2] close: add test for double close EBADF Jinseok Kim
@ 2026-04-09 8:08 ` Petr Vorel
1 sibling, 0 replies; 4+ messages in thread
From: Petr Vorel @ 2026-04-09 8:08 UTC (permalink / raw)
To: Jinseok Kim; +Cc: ltp
Hi Jinseok,
> Remove unused headers (<stdio.h>, <errno.h>, <sys/stat.h>) from close01.c
> and (<stdio.h>, <sys/stat.h>) from close02.c.
> Also make struct test_case_t static and apply minor style fixes.
Thanks, patch merged.
Kind regards,
Petr
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-04-09 8:16 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-06 13:30 [LTP] [PATCH 1/2] close: remove unused headers and fix minor style issues Jinseok Kim
2026-04-06 13:31 ` [LTP] [PATCH 2/2] close: add test for double close EBADF Jinseok Kim
2026-04-09 8:15 ` Petr Vorel
2026-04-09 8:08 ` [LTP] [PATCH 1/2] close: remove unused headers and fix minor style issues Petr Vorel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox