Home | History | Annotate | Download | only in tests
      1 #include "test.h"
      2 #include "safe_macros.h"
      3 
      4 char *TCID = "test_safe_macros";
      5 int TST_TOTAL = 1;
      6 
      7 int fd = -1;
      8 
      9 void cleanup(void)
     10 {
     11 	SAFE_CLOSE(NULL, fd);
     12 	SAFE_UNLINK(NULL, __FILE__ "~");
     13 	tst_resm(TINFO, "got here");
     14 }
     15 
     16 int main(int argc LTP_ATTRIBUTE_UNUSED, char **argv)
     17 {
     18 	char buf[10];
     19 	int fds[2];
     20 
     21 	buf[9] = '\0';
     22 
     23 	if (system("cp " __FILE__ " " __FILE__ "~")) {
     24 		fprintf(stderr, "error: could not cp file\n");
     25 		return 1;
     26 	}
     27 	printf("%s\n", SAFE_BASENAME(NULL, *argv));
     28 	printf("%s\n", SAFE_DIRNAME(NULL, *argv));
     29 	fd = SAFE_OPEN(cleanup, __FILE__ "~", O_RDWR);
     30 	SAFE_READ(cleanup, 0, fd, buf, 9);
     31 	printf("buf: %s\n", buf);
     32 	SAFE_READ(cleanup, 1, fd, buf, 9);
     33 	printf("buf: %s\n", buf);
     34 	SAFE_WRITE(cleanup, 0, -1, buf, 9);
     35 	SAFE_WRITE(NULL, 0, fd, buf, 9);
     36 	SAFE_WRITE(NULL, 1, fd, buf, 9);
     37 	SAFE_PIPE(NULL, fds);
     38 
     39 	return 0;
     40 }
     41