platform_system_core/base
Spencer Low b2d4949cee libbase_test: get it building for Windows
Add to whitelist.

For some reason, when compiling, parseint_test.cpp would encounter
errors like the following:

host cross C++: host_cross_libbase_test <= system/core/base/parseint_test.cpp
In file included from external/gtest/include/gtest/gtest.h:1929:0,
                 from system/core/base/parseint_test.cpp:19:
system/core/base/parseint_test.cpp: In member function ‘virtual void parseint_signed_smoke_Test::TestBody()’:
external/gtest/include/gtest/internal/gtest-internal.h:133:55: error: converting ‘false’ to pointer type for argument 1 of ‘char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)’ [-Werror=conversion-null]
     (sizeof(::testing::internal::IsNullLiteralHelper(x)) == 1)
                                                       ^
external/gtest/include/gtest/gtest_pred_impl.h:77:52: note: in definition of macro ‘GTEST_ASSERT_’
   if (const ::testing::AssertionResult gtest_ar = (expression)) \
                                                    ^
external/gtest/include/gtest/gtest_pred_impl.h:166:3: note: in expansion of macro ‘GTEST_PRED_FORMAT2_’
   GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_FATAL_FAILURE_)
   ^
external/gtest/include/gtest/gtest.h:1993:3: note: in expansion of macro ‘ASSERT_PRED_FORMAT2’
   ASSERT_PRED_FORMAT2(::testing::internal:: \
   ^
external/gtest/include/gtest/gtest.h:1994:32: note: in expansion of macro ‘GTEST_IS_NULL_LITERAL_’
                       EqHelper<GTEST_IS_NULL_LITERAL_(expected)>::Compare, \
                                ^
external/gtest/include/gtest/gtest.h:2011:32: note: in expansion of macro ‘GTEST_ASSERT_EQ’
 # define ASSERT_EQ(val1, val2) GTEST_ASSERT_EQ(val1, val2)
                                ^
system/core/base/parseint_test.cpp:23:3: note: in expansion of macro ‘ASSERT_EQ’
   ASSERT_EQ(false, android::base::ParseInt("x", &i));
   ^

For whatever reason, the gcc for Windows isn't handling the template
metaprogramming correctly, so to work-around the issue, I
search-and-replaced "ASSERT_EQ(false, " to "ASSERT_FALSE(" and
"ASSERT_EQ(true, " to "ASSERT_TRUE(" and that seems to compile just fine
for Linux and Windows (and the tests pass on both platforms).

Change-Id: I05132909d1f4b18afff23139652a218649689f2d
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
2015-09-11 20:01:29 -07:00
..
include/base Add ParseInt (and ParseUint). 2015-09-04 16:32:00 -07:00
.clang-format Revert "Revert "Create libbase."" 2015-03-16 10:08:46 -07:00
Android.mk libbase_test: get it building for Windows 2015-09-11 20:01:29 -07:00
CPPLINT.cfg Don't show lint errors for rvalue references. 2015-04-02 18:38:01 -07:00
file.cpp Use O_BINARY in base/file for Windows. 2015-09-01 13:35:44 -07:00
file_test.cpp win32: adb_test/libbase_test fixes 2015-08-06 18:09:32 -07:00
logging.cpp libbase: logging fixes 2015-08-13 14:08:31 -07:00
logging_test.cpp Fix the Mac libbase build. 2015-08-13 20:09:29 -07:00
parseint_test.cpp libbase_test: get it building for Windows 2015-09-11 20:01:29 -07:00
stringprintf.cpp Revert "Revert "Create libbase."" 2015-03-16 10:08:46 -07:00
stringprintf_test.cpp libbase_test: win32: get some tests working 2015-08-03 10:54:17 -07:00
strings.cpp Generalize Join to work for any container/element. 2015-05-22 10:07:06 -07:00
strings_test.cpp Generalize Join to work for any container/element. 2015-05-22 10:07:06 -07:00
test_main.cpp Support base::logging on Windows. 2015-04-29 18:01:53 -07:00
test_utils.cpp adb/base win32 tests: fix comment and open() flags 2015-09-01 14:57:58 -07:00