blob: 6adfec4b026e51ed0fb17c0877a837c87bd0957b [file] [log] [blame]
// Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_POLICY_MANAGER_PMTEST_UTILS_H
#define CHROMEOS_PLATFORM_UPDATE_ENGINE_POLICY_MANAGER_PMTEST_UTILS_H
// Convenience macros for checking null-ness of pointers.
//
// Purportedly, gtest should support pointer comparison when the first argument
// is a pointer (e.g. NULL). It is therefore appropriate to use
// {ASSERT,EXPECT}_{EQ,NE} for our purposes. However, gtest fails to realize
// that NULL is a pointer when used with the _NE variants, unless we explicitly
// cast it to a pointer type, and so we inject this casting.
//
// Note that checking nullness of the content of a scoped_ptr requires getting
// the inner pointer value via get().
#define PMTEST_ASSERT_NULL(p) ASSERT_EQ(NULL, p)
#define PMTEST_ASSERT_NOT_NULL(p) ASSERT_NE(reinterpret_cast<void*>(NULL), p)
#define PMTEST_EXPECT_NULL(p) EXPECT_EQ(NULL, p)
#define PMTEST_EXPECT_NOT_NULL(p) EXPECT_NE(reinterpret_cast<void*>(NULL), p)
#endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_POLICY_MANAGER_PMTEST_UTILS_H