]>
Commit | Line | Data |
---|---|---|
dd43edf4 TS |
1 | /* Basic file operations (rename, unlink); once without sysroot. We |
2 | also test that the simulator has chdir:ed to PREFIX, when defined. */ | |
3 | ||
4 | #include <stdio.h> | |
5 | #include <stdlib.h> | |
6 | #include <errno.h> | |
7 | #include <sys/types.h> | |
8 | #include <sys/stat.h> | |
9 | #include <unistd.h> | |
10 | ||
11 | #ifndef PREFIX | |
12 | #define PREFIX | |
13 | #endif | |
14 | ||
15 | void err (const char *s) | |
16 | { | |
17 | perror (s); | |
18 | abort (); | |
19 | } | |
20 | ||
21 | int main (int argc, char *argv[]) | |
22 | { | |
23 | FILE *f; | |
24 | struct stat buf; | |
25 | ||
26 | unlink (PREFIX "testfoo2.tmp"); | |
27 | ||
28 | f = fopen ("testfoo1.tmp", "w"); | |
29 | if (f == NULL) | |
30 | err ("open"); | |
31 | fclose (f); | |
32 | ||
33 | if (rename (PREFIX "testfoo1.tmp", PREFIX "testfoo2.tmp") != 0) | |
34 | err ("rename"); | |
35 | ||
36 | if (stat (PREFIX "testfoo2.tmp", &buf) != 0 | |
37 | || !S_ISREG (buf.st_mode)) | |
38 | err ("stat 1"); | |
39 | ||
40 | if (stat ("testfoo2.tmp", &buf) != 0 | |
41 | || !S_ISREG (buf.st_mode)) | |
42 | err ("stat 2"); | |
43 | ||
44 | if (unlink (PREFIX "testfoo2.tmp") != 0) | |
45 | err ("unlink"); | |
46 | ||
47 | printf ("pass\n"); | |
48 | return 0; | |
49 | } |