diff options
Diffstat (limited to 'testsuites/libtests/termios06/init.c')
-rw-r--r-- | testsuites/libtests/termios06/init.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/testsuites/libtests/termios06/init.c b/testsuites/libtests/termios06/init.c index 10b5d014f5..37ec1f7951 100644 --- a/testsuites/libtests/termios06/init.c +++ b/testsuites/libtests/termios06/init.c @@ -89,10 +89,35 @@ void set_discipline(void) void ioctl_it(void) { int rc; + struct termios t; puts( "ioctl(" TERMIOS_TEST_DRIVER_DEVICE_NAME ") - OK " ); rc = ioctl( Test_fd, 0xFFFF, NULL ); rtems_test_assert( rc == 0 ); + + puts( "tcgetattr(" TERMIOS_TEST_DRIVER_DEVICE_NAME ") - OK " ); + rc = tcgetattr( Test_fd, &t ); + rtems_test_assert( rc == 0 ); + + puts( "Turn on flow control on output - OK" ); + t.c_iflag |= IXON; + rc = tcsetattr( Test_fd, TCSANOW, &t ); + rtems_test_assert( rc == 0 ); + + puts( "Turn off flow control on output - OK" ); + t.c_iflag &= ~IXON; + rc = tcsetattr( Test_fd, TCSANOW, &t ); + rtems_test_assert( rc == 0 ); + + puts( "Turn on flow control on input - OK" ); + t.c_iflag |= IXOFF; + rc = tcsetattr( Test_fd, TCSANOW, &t ); + rtems_test_assert( rc == 0 ); + + puts( "Turn off flow control on input - OK" ); + t.c_iflag &= ~IXOFF; + rc = tcsetattr( Test_fd, TCSANOW, &t ); + rtems_test_assert( rc == 0 ); } void close_it(void) |