summaryrefslogtreecommitdiffstats
path: root/base/process/memory_unittest.cc
diff options
context:
space:
mode:
authorspang@chromium.org <spang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-20 05:33:46 +0000
committerspang@chromium.org <spang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-20 05:33:46 +0000
commit6ec70cc7ef252a95464f34ede4fcd86ff34f1bfd (patch)
tree70797c4f211417660ca49d5b55d919d5c4caf9d2 /base/process/memory_unittest.cc
parent4a0f050a6ee2b8561ad8381a608cf5c6f6be677d (diff)
downloadchromium_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.cc13
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