[PATCH] D56153: [sanitizer_common] Add test for popen()
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 +#include + +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 +#include + +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
[PATCH] D56153: [sanitizer_common] Add test for popen()
mgorny updated this revision to Diff 179712. mgorny added a comment. Added assertion verifying that `fileno(fp)` works. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56153/new/ https://reviews.llvm.org/D56153 Files: test/sanitizer_common/TestCases/Posix/popen.cc Index: test/sanitizer_common/TestCases/Posix/popen.cc === --- /dev/null +++ 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 +#include + +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: test/sanitizer_common/TestCases/Posix/popen.cc === --- /dev/null +++ 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 +#include + +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
[PATCH] D56153: [sanitizer_common] Add test for popen()
krytarowski accepted this revision. krytarowski added a comment. This revision is now accepted and ready to land. But of course new code can be added as a new revision. Repository: rCRT Compiler Runtime CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56153/new/ https://reviews.llvm.org/D56153 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D56153: [sanitizer_common] Add test for popen()
krytarowski added a comment. It looks fine, but we don't have interceptors for popen(3), popenve(3), pclose(3). Could you include them together with this patch? Add add a test for popenve(3). Repository: rCRT Compiler Runtime CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56153/new/ https://reviews.llvm.org/D56153 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D56153: [sanitizer_common] Add test for popen()
mgorny created this revision. mgorny added reviewers: krytarowski, vitalybuka. Herald added subscribers: Sanitizers, llvm-commits, kubamracek. Repository: rCRT Compiler Runtime https://reviews.llvm.org/D56153 Files: test/sanitizer_common/TestCases/Posix/popen.cc Index: test/sanitizer_common/TestCases/Posix/popen.cc === --- /dev/null +++ test/sanitizer_common/TestCases/Posix/popen.cc @@ -0,0 +1,18 @@ +// RUN: %clangxx -g %s -o %t && %run %t | FileCheck %s +// CHECK: 1 +// CHECK-NEXT: 2 + +#include +#include + +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); + assert(fputs("2\n", fp) >= 0); + assert(fputs("1\n", fp) >= 0); + assert(pclose(fp) == 0); + + return 0; +} Index: test/sanitizer_common/TestCases/Posix/popen.cc === --- /dev/null +++ test/sanitizer_common/TestCases/Posix/popen.cc @@ -0,0 +1,18 @@ +// RUN: %clangxx -g %s -o %t && %run %t | FileCheck %s +// CHECK: 1 +// CHECK-NEXT: 2 + +#include +#include + +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); + 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