Statistics
| Branch: | Revision:

root / tests / tcg / cris / check_openpf1.c @ c09015dd

History | View | Annotate | Download (898 Bytes)

1
/* Check that --sysroot is applied to open(2).
2
#sim: --sysroot=@exedir@
3

4
   We assume, with EXE being the name of the executable:
5
   - The simulator executes with cwd the same directory where the executable
6
     is located (so argv[0] contains a plain filename without directory
7
     components).
8
   - There's no /EXE on the host file system.  */
9

    
10
#include <stdio.h>
11
#include <stdlib.h>
12
#include <string.h>
13
#include <errno.h>
14
int main (int argc, char *argv[])
15
{
16
  char *fnam = argv[0];
17
  FILE *f;
18
  if (argv[0][0] != '/')
19
    {
20
      fnam = malloc (strlen (argv[0]) + 2);
21
      if (fnam == NULL)
22
        abort ();
23
      strcpy (fnam, "/");
24
      strcat (fnam, argv[0]);
25
    }
26

    
27
  f = fopen (fnam, "rb");
28
  if (f == NULL)
29
    abort ();
30
  fclose(f);
31

    
32
  /* Cover another execution path.  */
33
  if (fopen ("/nonexistent", "rb") != NULL
34
      || errno != ENOENT)
35
    abort ();
36
  printf ("pass\n");
37
  return 0;
38
}