xref: /llvm-project/libc/test/integration/src/spawn/posix_spawn_test_binary.cpp (revision 46944b0cbc9a9d8daad0182c40fcd3560bc9ca35)
1*02a543dbSSiva Chandra Reddy #include "test_binary_properties.h"
2*02a543dbSSiva Chandra Reddy #include <string.h>
3*02a543dbSSiva Chandra Reddy #include <unistd.h>
4*02a543dbSSiva Chandra Reddy 
5*02a543dbSSiva Chandra Reddy int main(int argc, char **argv) {
6*02a543dbSSiva Chandra Reddy   if (argc != 1)
7*02a543dbSSiva Chandra Reddy     return 5;
8*02a543dbSSiva Chandra Reddy   constexpr size_t bufsize = sizeof(TEXT);
9*02a543dbSSiva Chandra Reddy   char buf[bufsize];
10*02a543dbSSiva Chandra Reddy   ssize_t readsize = bufsize - 1;
11*02a543dbSSiva Chandra Reddy   ssize_t len = read(CHILD_FD, buf, readsize);
12*02a543dbSSiva Chandra Reddy   if (len != readsize) {
13*02a543dbSSiva Chandra Reddy     return 1;
14*02a543dbSSiva Chandra Reddy   }
15*02a543dbSSiva Chandra Reddy   buf[readsize] = '\0'; // Null terminator
16*02a543dbSSiva Chandra Reddy   if (close(CHILD_FD) != 0)
17*02a543dbSSiva Chandra Reddy     return 2;
18*02a543dbSSiva Chandra Reddy   if (strcmp(buf, TEXT) != 0)
19*02a543dbSSiva Chandra Reddy     return 3;
20*02a543dbSSiva Chandra Reddy   return 0;
21*02a543dbSSiva Chandra Reddy }
22