This revision was automatically updated to reflect the committed changes. Closed by commit rL350230: [sanitizer_common] Add test for popen() (authored by mgorny, committed by ). Herald added a subscriber: delcypher.
Changed prior to commit: https://reviews.llvm.org/D56153?vs=179712&id=179870#toc Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56153/new/ https://reviews.llvm.org/D56153 Files: compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/popen.cc Index: compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/popen.cc =================================================================== --- compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/popen.cc +++ compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/popen.cc @@ -0,0 +1,23 @@ +// RUN: %clangxx -g %s -o %t && %run %t | FileCheck %s +// CHECK: 1 +// CHECK-NEXT: 2 + +#include <assert.h> +#include <stdio.h> + +int main(void) { + // use a tool that produces different output than input to verify + // that everything worked correctly + FILE *fp = popen("sort", "w"); + assert(fp); + + // verify that fileno() returns a meaningful descriptor (needed + // for the implementation of TSan) + assert(fileno(fp) != -1); + + assert(fputs("2\n", fp) >= 0); + assert(fputs("1\n", fp) >= 0); + assert(pclose(fp) == 0); + + return 0; +}
Index: compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/popen.cc =================================================================== --- compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/popen.cc +++ compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/popen.cc @@ -0,0 +1,23 @@ +// RUN: %clangxx -g %s -o %t && %run %t | FileCheck %s +// CHECK: 1 +// CHECK-NEXT: 2 + +#include <assert.h> +#include <stdio.h> + +int main(void) { + // use a tool that produces different output than input to verify + // that everything worked correctly + FILE *fp = popen("sort", "w"); + assert(fp); + + // verify that fileno() returns a meaningful descriptor (needed + // for the implementation of TSan) + assert(fileno(fp) != -1); + + assert(fputs("2\n", fp) >= 0); + assert(fputs("1\n", fp) >= 0); + assert(pclose(fp) == 0); + + return 0; +}
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits