// Copyright 2017 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 SRC_SET_ERRORS_H_
#define SRC_SET_ERRORS_H_
#ifdef USE_BRILLO
#include "base/logging.h"
#else
#include "glog/logging.h"
#endif
namespace puffin {
#define TEST_AND_RETURN_FALSE(_x) \
do { \
if (!(_x)) { \
LOG(ERROR) << #_x " failed."; \
return false; \
} \
} while (0)
#define TEST_AND_RETURN_VALUE(_x, _v) \
do { \
if (!(_x)) { \
LOG(ERROR) << #_x " failed."; \
return (_v); \
} \
} while (0)
#define TEST_AND_RETURN_FALSE_SET_ERROR(_x, _error) \
do { \
if (!(_x)) { \
(*error) = (_error); \
LOG(ERROR) << #_x " failed."; \
return false; \
} \
} while (0)
} // namespace puffin
#endif // SRC_SET_ERRORS_H_