[LTP] [PATCH v2] ioctl01.c:Test also struct termios
Wei Gao
wegao@suse.com
Tue Feb 7 08:16:18 CET 2023
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>
Reviewed-by: Li Wang <liwang@redhat.com>
---
testcases/kernel/syscalls/ioctl/ioctl01.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/testcases/kernel/syscalls/ioctl/ioctl01.c b/testcases/kernel/syscalls/ioctl/ioctl01.c
index ccc48cdb2..1be38e79d 100644
--- a/testcases/kernel/syscalls/ioctl/ioctl01.c
+++ b/testcases/kernel/syscalls/ioctl/ioctl01.c
@@ -32,26 +32,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;
@@ -60,6 +62,9 @@ static void verify_ioctl(unsigned int i)
{
TST_EXP_FAIL(ioctl(*(tcases[i].fd), tcases[i].request, tcases[i].s_tio),
tcases[i].error);
+
+ TST_EXP_FAIL(ioctl(*(tcases[i].fd), tcases[i].request, tcases[i].s_tios),
+ tcases[i].error);
}
static void setup(void)
--
2.35.3
More information about the ltp
mailing list