source: rtems/testsuites/sptests/spfifo01/test.c @ cfde6479

4.115
Last change on this file since cfde6479 was cfde6479, checked in by Jennifer Averett <Jennifer.Averett@…>, on Jun 7, 2010 at 7:09:28 PM

2010-06-07 Bharath Suri <bharath.s.jois@…>

PR PR1542

  • Makefile.am, configure.ac: Coverage improvement: fifo_open.
  • spfifo01/spfifo01.doc, spfifo01/spfifo01.scn, spfifo01/test.c, spfifo02/Makefile.am, spfifo02/main.c, spfifo02/spfifo02.doc, spfifo02/spfifo02.scn, spfifo02/test.c, spfifo03/Makefile.am, spfifo03/main.c, spfifo03/spfifo03.doc, spfifo03/spfifo03.scn, spfifo03/test.c, spfifo04/Makefile.am, spfifo04/main.c, spfifo04/spfifo04.doc, spfifo04/spfifo04.scn, spfifo04/test.c: New files.
  • Property mode set to 100644
File size: 1.6 KB
Line 
1/*  test_main
2 *
3 *  This routine serves as a test routine.
4 *  Exercises the fifo_open
5 *
6 *  Input parameters:   NONE
7 *
8 *  Output parameters:  NONE
9 *
10 *  COPYRIGHT (c) 1989-1999.
11 *  On-Line Applications Research Corporation (OAR).
12 *
13 *  The license and distribution terms for this file may be
14 *  found in the file LICENSE in this distribution or at
15 *  http://www.rtems.com/license/LICENSE.
16 *
17 *  $Id$
18 */
19
20/* Includes */
21
22#include <stdio.h>
23#include <sys/types.h>
24#include <sys/stat.h>
25#include <fcntl.h>
26#include <unistd.h>
27#include <errno.h>
28
29#include <tmacros.h>
30#include <rtems.h>
31#include <rtems/libio.h>
32
33
34void test_main(void)
35{
36
37  int status = -1;
38  int fd = 0;
39
40  puts("\n\n*** FIFO / PIPE OPEN TEST - 1 ***");
41  puts(
42"\n\nConfiguration: Pipes not enabled"
43       );
44
45  puts("\n\nCreating directory /tmp");
46  status = mkdir("/tmp", 0777);
47  rtems_test_assert(status == 0);
48
49  puts("\n\nCreating fifo /tmp/fifo");
50  status = mkfifo("/tmp/fifo01", 0777);
51  rtems_test_assert(status == 0);
52
53  puts("\n\nAttempt to open the fifo file\n");
54  puts(
55       "Must result in failure since \
56pipes are not enabled in the configuration"
57       );
58
59  fd = open("/tmp/fifo01", O_RDONLY);
60  rtems_test_assert(fd == -1);
61  rtems_test_assert(errno == EINTR); // Should this
62                                     // be ENOMEM?
63  puts("\n\nRemove the entry /tmp/fifo01");
64  status = unlink("/tmp/fifo01");
65  rtems_test_assert(status == 0);
66
67  puts("\n\nRemove directory /tmp");
68  status = rmdir("/tmp");
69  rtems_test_assert(status == 0);
70
71  puts("\n\n*** END OF FIFO / PIPE OPEN TEST - 1 ***");
72}
73 
Note: See TracBrowser for help on using the repository browser.