Merge "Optimized fread."
diff --git a/tests/Android.mk b/tests/Android.mk
index 38d85f8..3150655 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -212,19 +212,36 @@
include $(LOCAL_PATH)/Android.build.mk
# -----------------------------------------------------------------------------
+# Library of bionic customized gtest main function.
+# -----------------------------------------------------------------------------
+libBionicGtestMain_src_files := gtest_main.cpp
+
+libBionicGtestMain_cflags := $(test_cflags)
+
+libBionicGtestMain_cppflags := $(test_cppflags)
+
+module := libBionicGtestMain
+module_tag := optional
+build_type := target
+build_target := STATIC_TEST_LIBRARY
+include $(LOCAL_PATH)/Android.build.mk
+build_type := host
+include $(LOCAL_PATH)/Android.build.mk
+
+# -----------------------------------------------------------------------------
# Tests for the device using bionic's .so. Run with:
# adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests32
# adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests64
# -----------------------------------------------------------------------------
bionic-unit-tests_whole_static_libraries := \
libBionicTests \
+ libBionicGtestMain \
bionic-unit-tests_static_libraries := \
libtinyxml2 \
liblog \
bionic-unit-tests_src_files := \
- gtest_main.cpp \
atexit_test.cpp \
dl_test.cpp \
dlext_test.cpp \
@@ -268,6 +285,7 @@
# -----------------------------------------------------------------------------
bionic-unit-tests-static_whole_static_libraries := \
libBionicTests \
+ libBionicGtestMain \
bionic-unit-tests-static_static_libraries := \
libm \
@@ -277,9 +295,6 @@
libtinyxml2 \
liblog \
-bionic-unit-tests-static_src_files := \
- gtest_main.cpp \
-
bionic-unit-tests-static_force_static_executable := true
# libc and libc++ both define std::nothrow. libc's is a private symbol, but this
@@ -302,7 +317,6 @@
ifeq ($(HOST_OS)-$(HOST_ARCH),$(filter $(HOST_OS)-$(HOST_ARCH),linux-x86 linux-x86_64))
bionic-unit-tests-glibc_src_files := \
- gtest_main.cpp \
atexit_test.cpp \
dlfcn_test.cpp \
dl_test.cpp \
@@ -315,6 +329,7 @@
bionic-unit-tests-glibc_whole_static_libraries := \
libBionicStandardTests \
+ libBionicGtestMain \
bionic-unit-tests-glibc_ldlibs := \
-lrt -ldl -lutil \
diff --git a/tests/gtest_main.cpp b/tests/gtest_main.cpp
index 6c5023b..99cd4ee 100644
--- a/tests/gtest_main.cpp
+++ b/tests/gtest_main.cpp
@@ -319,18 +319,6 @@
fflush(stdout);
}
-static void TestcaseTimePrint(const TestCase& testcase) {
- int64_t testcase_time = 0;
- for (size_t i = 0; i < testcase.TestCount(); ++i) {
- testcase_time += testcase.GetTestTime(i);
- }
- printf("%zu %s from %s (%lld ms total)\n", testcase.TestCount(),
- (testcase.TestCount() == 1) ? "test" : "tests",
- testcase.GetName().c_str(),
- testcase_time / 1000000LL);
- fflush(stdout);
-}
-
static void OnTestIterationEndPrint(const std::vector<TestCase>& testcase_list, size_t /*iteration*/,
int64_t elapsed_time) {
@@ -364,10 +352,6 @@
}
}
- for (auto const& testcase : testcase_list) {
- TestcaseTimePrint(testcase);
- }
-
ColoredPrintf(COLOR_GREEN, "[==========] ");
printf("%zu %s from %zu %s ran.", test_count, (test_count == 1) ? "test" : "tests",
testcase_count, (testcase_count == 1) ? "test case" : "test cases");
diff --git a/tests/stdio_ext_test.cpp b/tests/stdio_ext_test.cpp
index 3dbc485..950c7ed 100644
--- a/tests/stdio_ext_test.cpp
+++ b/tests/stdio_ext_test.cpp
@@ -34,7 +34,13 @@
TEST(stdio_ext, __fbufsize) {
FILE* fp = fopen("/proc/version", "r");
+ // Initially, there's no buffer in case the first thing you do is disable buffering.
+ ASSERT_EQ(0U, __fbufsize(fp));
+
+ // A read forces a buffer to be created.
char buf[128];
+ fgets(buf, sizeof(buf), fp);
+ ASSERT_EQ(1024U, __fbufsize(fp));
ASSERT_EQ(0, setvbuf(fp, buf, _IOFBF, 1));
ASSERT_EQ(1U, __fbufsize(fp));