| /* Basic file operations (rename, unlink); once without sysroot. We | |
| also test that the simulator has chdir:ed to PREFIX, when defined. */ | |
| #include <stdio.h> | |
| #include <stdlib.h> | |
| #include <errno.h> | |
| #include <sys/types.h> | |
| #include <sys/stat.h> | |
| #include <unistd.h> | |
| #ifndef PREFIX | |
| #define PREFIX | |
| #endif | |
| void err (const char *s) | |
| { | |
| perror (s); | |
| abort (); | |
| } | |
| int main (int argc, char *argv[]) | |
| { | |
| FILE *f; | |
| struct stat buf; | |
| unlink (PREFIX "testfoo2.tmp"); | |
| f = fopen ("testfoo1.tmp", "w"); | |
| if (f == NULL) | |
| err ("open"); | |
| fclose (f); | |
| if (rename (PREFIX "testfoo1.tmp", PREFIX "testfoo2.tmp") != 0) | |
| err ("rename"); | |
| if (stat (PREFIX "testfoo2.tmp", &buf) != 0 | |
| || !S_ISREG (buf.st_mode)) | |
| err ("stat 1"); | |
| if (stat ("testfoo2.tmp", &buf) != 0 | |
| || !S_ISREG (buf.st_mode)) | |
| err ("stat 2"); | |
| if (unlink (PREFIX "testfoo2.tmp") != 0) | |
| err ("unlink"); | |
| printf ("pass\n"); | |
| return 0; | |
| } |