From 5ba4f38399c318191afcc7a2ee5cd6a19a6939ec Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 6 Nov 2019 06:58:34 +0100 Subject: libtests: Avoid build system defined defines Update #3818. --- testsuites/libtests/termios10/init.c | 192 +---------------------------------- 1 file changed, 1 insertion(+), 191 deletions(-) (limited to 'testsuites/libtests/termios10/init.c') diff --git a/testsuites/libtests/termios10/init.c b/testsuites/libtests/termios10/init.c index ca5de97f24..8655879500 100644 --- a/testsuites/libtests/termios10/init.c +++ b/testsuites/libtests/termios10/init.c @@ -1,191 +1 @@ -/* - * COPYRIGHT (c) 1989-2012,2019. - * On-Line Applications Research Corporation (OAR). - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include "test_support.h" - -#ifdef INTERRUPT_DRIVEN -#include "termios_testdriver_intr.h" -const char rtems_test_name[] = "TERMIOS 11 -- Interrupt driven"; -#else -#include "termios_testdriver_polled.h" -const char rtems_test_name[] = "TERMIOS 10 -- Polled"; -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -int Test_fd; - -static void open_it(void) -{ - Test_fd = open( TERMIOS_TEST_DRIVER_DEVICE_NAME, O_RDWR ); - rtems_test_assert( Test_fd != -1 ); -} - -static void change_lflag( const char *desc, int mask, int new ) -{ - int rc; - struct termios attr; - - if (desc) { - printf( "Changing c_lflag to: %s\n", desc ); - } - - rc = tcgetattr( Test_fd, &attr ); - rtems_test_assert( rc == 0 ); - - attr.c_lflag &= ~mask; - attr.c_lflag |= new; - - rc = tcsetattr( Test_fd, TCSANOW, &attr ); - rtems_test_assert( rc == 0 ); -} - - -static void read_it(ssize_t expected, int expected_intr) -{ - ssize_t rc; - char buf[32]; - - rtems_test_assert( expected <= sizeof(buf) ); - - rc = read( Test_fd, buf, expected ); - if (expected_intr) { - rtems_test_assert( rc == -1 ); - rtems_test_assert( errno == EINTR ); - } else { - if ( expected != rc ) - printf( "ERROR - expected=%zd rc=%zd\n", expected, rc ); - rtems_test_assert( expected == rc ); - } -} - -static void close_it(void) -{ - int rc; - - rc = close( Test_fd ); - rtems_test_assert( rc == 0 ); -} - -volatile int sigint_occurred = 0; -volatile int sigquit_occurred = 0; - -static void sigint_handler(int signo) -{ - rtems_test_assert(signo == SIGINT); - sigint_occurred = 1; -} - -static void sigquit_handler(int signo) -{ - rtems_test_assert(signo == SIGQUIT); - sigquit_occurred = 1; -} - -static void test_read_for_signal( - const char *description, - int isig_value, - char c, - int sigint_expected, - int sigquit_expected -) -{ - char expected[3]; - - printf("Test read for %s\n", description); - - expected[0] = c; - expected[1] = '\n'; /* in canonical mode, so need \n for read to return */ - expected[2] = '\0'; - - sigint_occurred = 0; - sigquit_occurred = 0; - - open_it(); - - change_lflag(NULL, ISIG, isig_value); - - termios_test_driver_set_rx( expected, 2 ); - - read_it(1, (sigint_expected || sigquit_expected)); - - rtems_test_assert(sigint_occurred == sigint_expected); - rtems_test_assert(sigquit_occurred == sigquit_expected); - close_it(); -} - -/* - * Use a POSIX init thread so signals are enabled. - */ -static void *POSIX_Init(void *argument) -{ - int rc; - - TEST_BEGIN(); - - signal(SIGINT, sigint_handler); - signal(SIGQUIT, sigquit_handler); - - puts( "Exercise default ISIG handler with ISIG enabled"); - test_read_for_signal("VKILL - no signals", ISIG, '\003', 0, 0); - test_read_for_signal("VQUIT - no signals", ISIG, '\034', 0, 0); - - puts( "Exercise POSIX ISIG handler with ISIG enabled"); - rc = rtems_termios_register_isig_handler(rtems_termios_posix_isig_handler); - rtems_test_assert( rc == 0 ); - test_read_for_signal("VKILL - signal caught", ISIG, '\003', 1, 0); - test_read_for_signal("VQUIT - signal caught", ISIG, '\034', 0, 1); - - puts( "Exercise default ISIG handler with ISIG enabled"); - rc = rtems_termios_register_isig_handler(rtems_termios_default_isig_handler); - rtems_test_assert( rc == 0 ); - test_read_for_signal("VKILL - signal caught", ISIG, '\003', 0, 0); - test_read_for_signal("VQUIT - signal caught", ISIG, '\034', 0, 0); - - puts( "Exercise POSIX ISIG handler with ISIG disabled"); - rc = rtems_termios_register_isig_handler(rtems_termios_posix_isig_handler); - rtems_test_assert( rc == 0 ); - test_read_for_signal("VKILL - signal caught", 0, '\003', 0, 0); - test_read_for_signal("VQUIT - signal caught", 0, '\034', 0, 0); - - TEST_END(); - - rtems_test_exit(0); -} - -/* configuration information */ - -#define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER -#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER -#define CONFIGURE_APPLICATION_EXTRA_DRIVERS \ - TERMIOS_TEST_DRIVER_TABLE_ENTRY - -/* we need to be able to open the test device */ -#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 4 -#define CONFIGURE_MAXIMUM_POSIX_THREADS 1 -#define CONFIGURE_MAXIMUM_TIMERS 2 -#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_INIT - -#include -/* end of file */ +#include "termios10impl.h" -- cgit v1.2.3