OSDN Git Service

Modify tests for another glibc difference.
authorChristopher Ferris <cferris@google.com>
Fri, 15 Nov 2013 23:16:01 +0000 (15:16 -0800)
committerChristopher Ferris <cferris@google.com>
Sat, 16 Nov 2013 00:09:44 +0000 (16:09 -0800)
It turns out that when passing a closed file to getdelim or getline, the
functions in glibc will properly return a failure, but errno might not be
set. Skip the errno check except on bionic.

Change-Id: I8d625f15303d4c2d42e8d28491ea8a368aea4d32

tests/stdio_test.cpp

index 11bd17f..2002928 100644 (file)
@@ -103,7 +103,10 @@ TEST(stdio, getdelim_invalid) {
   fclose(fp);
   errno = 0;
   ASSERT_EQ(getdelim(&buffer, &buffer_length, ' ', fp), -1);
+  // glibc sometimes doesn't set errno in this particular case.
+#if defined(__BIONIC__)
   ASSERT_EQ(EBADF, errno);
+#endif
 }
 
 TEST(stdio, getline) {
@@ -168,7 +171,10 @@ TEST(stdio, getline_invalid) {
   fclose(fp);
   errno = 0;
   ASSERT_EQ(getline(&buffer, &buffer_length, fp), -1);
+  // glibc sometimes doesn't set errno in this particular case.
+#if defined(__BIONIC__)
   ASSERT_EQ(EBADF, errno);
+#endif
 }
 
 TEST(stdio, printf_ssize_t) {