summaryrefslogtreecommitdiffstats
path: root/testsuites/libtests/devnullfatal01/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/libtests/devnullfatal01/init.c')
-rw-r--r--testsuites/libtests/devnullfatal01/init.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/testsuites/libtests/devnullfatal01/init.c b/testsuites/libtests/devnullfatal01/init.c
new file mode 100644
index 0000000000..ecf63cfe51
--- /dev/null
+++ b/testsuites/libtests/devnullfatal01/init.c
@@ -0,0 +1,37 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "../../sptests/spfatal_support/spfatal.h"
+
+/*
+ * COPYRIGHT (c) 1989-2010, 2017.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#define FATAL_ERROR_TEST_NAME "/DEV/NULL 1"
+#define FATAL_ERROR_DESCRIPTION "/dev/null already registered"
+#define FATAL_ERROR_EXPECTED_SOURCE INTERNAL_ERROR_RTEMS_API
+#define FATAL_ERROR_EXPECTED_ERROR RTEMS_TOO_MANY
+
+#include <rtems/devnull.h>
+#include "tmacros.h"
+
+static void force_error(void)
+{
+ int status;
+
+ status = rtems_io_register_name( "/dev/null", 0, 0 );
+ directive_failed( status, "io register" );
+
+ status = null_initialize( 0, 0, NULL );
+
+ /* A fatal error would be raised in previous call */
+ /* we will not run this far */
+}
+
+#include "../../sptests/spfatal_support/spfatalimpl.h"