All of lore.kernel.org
 help / color / mirror / Atom feed
* [LTP] [PATCH v1] ioctl01.c:Test also struct termios
@ 2023-01-29 18:39 Wei Gao via ltp
  2023-02-03  9:03 ` Li Wang
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Wei Gao via ltp @ 2023-01-29 18:39 UTC (permalink / raw)
  To: ltp

ATM we're testing just legacy struct termio in ioctl01.c,
we also need test struct termios.

Signed-off-by: Wei Gao <wegao@suse.com>
---
 testcases/kernel/syscalls/ioctl/ioctl01.c | 28 ++++++++++++++++++-----
 1 file changed, 22 insertions(+), 6 deletions(-)

diff --git a/testcases/kernel/syscalls/ioctl/ioctl01.c b/testcases/kernel/syscalls/ioctl/ioctl01.c
index 2989c0e9b..cc8d1d731 100644
--- a/testcases/kernel/syscalls/ioctl/ioctl01.c
+++ b/testcases/kernel/syscalls/ioctl/ioctl01.c
@@ -28,26 +28,28 @@ static int fd, fd_file;
 static int bfd = -1;
 
 static struct termio termio;
+static struct termios termios;
 
 static struct tcase {
 	int *fd;
 	int request;
 	struct termio *s_tio;
+	struct termios *s_tios;
 	int error;
 } tcases[] = {
 	/* file descriptor is invalid */
-	{&bfd, TCGETA, &termio, EBADF},
+	{&bfd, TCGETA, &termio, &termios, EBADF},
 	/* termio address is invalid */
-	{&fd, TCGETA, (struct termio *)-1, EFAULT},
+	{&fd, TCGETA, (struct termio *)-1, (struct termios *)-1, EFAULT},
 	/* command is invalid */
 	/* This errno value was changed from EINVAL to ENOTTY
 	 * by kernel commit 07d106d0 and bbb63c51
 	 */
-	{&fd, INVAL_IOCTL, &termio, ENOTTY},
+	{&fd, INVAL_IOCTL, &termio, &termios, ENOTTY},
 	/* file descriptor is for a regular file */
-	{&fd_file, TCGETA, &termio, ENOTTY},
+	{&fd_file, TCGETA, &termio, &termios, ENOTTY},
 	/* termio is NULL */
-	{&fd, TCGETA, NULL, EFAULT}
+	{&fd, TCGETA, NULL, NULL, EFAULT}
 };
 
 static char *device;
@@ -64,7 +66,21 @@ static void verify_ioctl(unsigned int i)
 	if (TST_ERR != tcases[i].error) {
 		tst_res(TFAIL | TTERRNO,
 			"failed unexpectedly; expected %s",
-		        tst_strerrno(tcases[i].error));
+			tst_strerrno(tcases[i].error));
+		return;
+	}
+
+	TEST(ioctl(*(tcases[i].fd), tcases[i].request, tcases[i].s_tios));
+
+	if (TST_RET != -1) {
+		tst_res(TFAIL, "call succeeded unexpectedly");
+		return;
+	}
+
+	if (TST_ERR != tcases[i].error) {
+		tst_res(TFAIL | TTERRNO,
+			"failed unexpectedly; expected %s",
+			tst_strerrno(tcases[i].error));
 		return;
 	}
 
-- 
2.35.3


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

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

end of thread, other threads:[~2023-02-07  7:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-29 18:39 [LTP] [PATCH v1] ioctl01.c:Test also struct termios Wei Gao via ltp
2023-02-03  9:03 ` Li Wang
2023-02-06  5:31 ` Petr Vorel
2023-02-06  6:12   ` Petr Vorel
2023-02-07  7:17     ` Wei Gao via ltp
2023-02-07  7:16 ` [LTP] [PATCH v2] " Wei Gao 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.