diff --git a/test/cctest/util.cc b/test/cctest/util.cc index 434eeba96f8445..f99a46cdf5353b 100644 --- a/test/cctest/util.cc +++ b/test/cctest/util.cc @@ -94,34 +94,41 @@ namespace node { void LowMemoryNotification() {} } +#define TEST_AND_FREE(expression) \ + do { \ + auto pointer = expression; \ + EXPECT_NE(nullptr, pointer); \ + free(pointer); \ + } while (0) + TEST(UtilTest, Malloc) { using node::Malloc; - EXPECT_NE(nullptr, Malloc(0)); - EXPECT_NE(nullptr, Malloc(1)); - EXPECT_NE(nullptr, Malloc(0)); - EXPECT_NE(nullptr, Malloc(1)); + TEST_AND_FREE(Malloc(0)); + TEST_AND_FREE(Malloc(1)); + TEST_AND_FREE(Malloc(0)); + TEST_AND_FREE(Malloc(1)); } TEST(UtilTest, Calloc) { using node::Calloc; - EXPECT_NE(nullptr, Calloc(0)); - EXPECT_NE(nullptr, Calloc(1)); - EXPECT_NE(nullptr, Calloc(0)); - EXPECT_NE(nullptr, Calloc(1)); + TEST_AND_FREE(Calloc(0)); + TEST_AND_FREE(Calloc(1)); + TEST_AND_FREE(Calloc(0)); + TEST_AND_FREE(Calloc(1)); } TEST(UtilTest, UncheckedMalloc) { using node::UncheckedMalloc; - EXPECT_NE(nullptr, UncheckedMalloc(0)); - EXPECT_NE(nullptr, UncheckedMalloc(1)); - EXPECT_NE(nullptr, UncheckedMalloc(0)); - EXPECT_NE(nullptr, UncheckedMalloc(1)); + TEST_AND_FREE(UncheckedMalloc(0)); + TEST_AND_FREE(UncheckedMalloc(1)); + TEST_AND_FREE(UncheckedMalloc(0)); + TEST_AND_FREE(UncheckedMalloc(1)); } TEST(UtilTest, UncheckedCalloc) { using node::UncheckedCalloc; - EXPECT_NE(nullptr, UncheckedCalloc(0)); - EXPECT_NE(nullptr, UncheckedCalloc(1)); - EXPECT_NE(nullptr, UncheckedCalloc(0)); - EXPECT_NE(nullptr, UncheckedCalloc(1)); + TEST_AND_FREE(UncheckedCalloc(0)); + TEST_AND_FREE(UncheckedCalloc(1)); + TEST_AND_FREE(UncheckedCalloc(0)); + TEST_AND_FREE(UncheckedCalloc(1)); }