diff options
author | Aliaksey Kandratsenka <alk@tut.by> | 2015-08-02 01:47:55 -0700 |
---|---|---|
committer | Aliaksey Kandratsenka <alk@tut.by> | 2015-08-02 18:12:16 -0700 |
commit | 73fb7c7eb37e488bab8298be4110e30d83af2184 (patch) | |
tree | 8db533da17dbba54eb302ef5953ff0958e4b8196 | |
parent | eb725ff26371dfb5ae2523802c6abe75833cacef (diff) | |
download | gperftools-73fb7c7eb37e488bab8298be4110e30d83af2184.tar.gz |
added test on errno = ENOMEM on out of memory
-rw-r--r-- | src/tests/tcmalloc_unittest.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/tests/tcmalloc_unittest.cc b/src/tests/tcmalloc_unittest.cc index 423cae1..69698bc 100644 --- a/src/tests/tcmalloc_unittest.cc +++ b/src/tests/tcmalloc_unittest.cc @@ -1047,6 +1047,23 @@ static void TestSetNewMode() { tc_set_new_mode(old_mode); } +static void TestErrno(void) { + errno = 0; + void* ret = memalign(128, kTooBig); + EXPECT_EQ(NULL, ret); + EXPECT_EQ(ENOMEM, errno); + + errno = 0; + ret = malloc(kTooBig); + EXPECT_EQ(NULL, ret); + EXPECT_EQ(ENOMEM, errno); + + errno = 0; + ret = tc_malloc_skip_new_handler(kTooBig); + EXPECT_EQ(NULL, ret); + EXPECT_EQ(ENOMEM, errno); +} + static int RunAllTests(int argc, char** argv) { // Optional argv[1] is the seed AllocatorState rnd(argc > 1 ? atoi(argv[1]) : 100); @@ -1379,6 +1396,7 @@ static int RunAllTests(int argc, char** argv) { TestReleaseToSystem(); TestAggressiveDecommit(); TestSetNewMode(); + TestErrno(); return 0; } |