diff options
author | spang@chromium.org <spang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-20 05:33:46 +0000 |
---|---|---|
committer | spang@chromium.org <spang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-20 05:33:46 +0000 |
commit | 6ec70cc7ef252a95464f34ede4fcd86ff34f1bfd (patch) | |
tree | 70797c4f211417660ca49d5b55d919d5c4caf9d2 /base/process/memory_unittest.cc | |
parent | 4a0f050a6ee2b8561ad8381a608cf5c6f6be677d (diff) | |
download | chromium_src-6ec70cc7ef252a95464f34ede4fcd86ff34f1bfd.zip chromium_src-6ec70cc7ef252a95464f34ede4fcd86ff34f1bfd.tar.gz chromium_src-6ec70cc7ef252a95464f34ede4fcd86ff34f1bfd.tar.bz2 |
Support use_glib==0 on Linux in base
This makes base build on Linux when use_glib is set to 0. The only glib
bits we are currently using in that configuration are g_get_home_dir()
and g_try_malloc().
Use of g_get_home_dir() is not essential. Without glib, we can just rely
on the $HOME environment variable always.
Use of g_try_malloc() is just a way to cause a large memory allocation
from a shared library. We can achieve the same effect using asprintf().
BUG=318315, 318413, 170408
Review URL: https://codereview.chromium.org/69953025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236162 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/process/memory_unittest.cc')
-rw-r--r-- | base/process/memory_unittest.cc | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/base/process/memory_unittest.cc b/base/process/memory_unittest.cc index a1f3052..e5c759d 100644 --- a/base/process/memory_unittest.cc +++ b/base/process/memory_unittest.cc @@ -10,6 +10,7 @@ #include "base/compiler_specific.h" #include "base/debug/alias.h" +#include "base/strings/stringprintf.h" #include "testing/gtest/include/gtest/gtest.h" #if defined(OS_WIN) @@ -23,7 +24,6 @@ #include "base/process/memory_unittest_mac.h" #endif #if defined(OS_LINUX) -#include <glib.h> #include <malloc.h> #endif @@ -260,14 +260,13 @@ TEST_F(OutOfMemoryDeathTest, Memalign) { } TEST_F(OutOfMemoryDeathTest, ViaSharedLibraries) { - // g_try_malloc is documented to return NULL on failure. (g_malloc is the - // 'safe' default that crashes if allocation fails). However, since we have - // hopefully overridden malloc, even g_try_malloc should fail. This tests - // that the run-time symbol resolution is overriding malloc for shared - // libraries as well as for our code. + // This tests that the run-time symbol resolution is overriding malloc for + // shared libraries (including libc itself) as well as for our code. + std::string format = base::StringPrintf("%%%zud", test_size_); + char *value = NULL; ASSERT_DEATH({ SetUpInDeathAssert(); - value_ = g_try_malloc(test_size_); + EXPECT_EQ(-1, asprintf(&value, format.c_str(), 0)); }, ""); } #endif // OS_LINUX |