[Sanitizer] Fix getpwnam test on ppc64le Fedora 21.
authorJay Foad <jay.foad@gmail.com>
Thu, 23 Apr 2015 22:20:33 +0000 (22:20 +0000)
committerJay Foad <jay.foad@gmail.com>
Thu, 23 Apr 2015 22:20:33 +0000 (22:20 +0000)
Summary:
On ppc64le Fedora 21, getpwnam_r("no-such-user", ...) returns ENOENT
instead of 0. Tolerate this in the test case.

Reviewers: eugenis

Reviewed By: eugenis

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D9233

llvm-svn: 235654

compiler-rt/test/sanitizer_common/TestCases/Linux/getpwnam_r_invalid_user.cc

index a8b51d7..c0d6cfe 100644 (file)
@@ -2,6 +2,7 @@
 // RUN: %clangxx -O0 -g %s -o %t && %run %t
 
 #include <assert.h>
+#include <errno.h>
 #include <pwd.h>
 #include <signal.h>
 #include <stdio.h>
@@ -13,7 +14,7 @@ int main(void) {
   struct passwd *pwdres;
   char buf[10000];
   int res = getpwnam_r("no-such-user", &pwd, buf, sizeof(buf), &pwdres);
-  assert(res == 0);
+  assert(res == 0 || res == ENOENT);
   assert(pwdres == 0);
   return 0;
 }