// Copyright 2021 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <gtest/gtest.h>

#ifndef LIB_STDCOMPAT_TEST_TEST_HELPER_H_
#define LIB_STDCOMPAT_TEST_TEST_HELPER_H_

// We have asserts to detect undefined behavior on release builds, but on non release build we want
// to fail fast.
#if !defined(NDEBUG) && defined(LIB_STDCOMPAT_USE_POLYFILLS)
#define DEBUG_ASSERT_DEATH(stmnt) ASSERT_DEATH(stmnt, ".*")
#else
#define DEBUG_ASSERT_DEATH(stmnt) GTEST_SKIP() << "Test verifies polyfill debug only behavior."
#endif

// Defines ASSERT_THROW_OR_ABORT, which translates into checking that the code throws an exception
// when exceptions are enabled, or the process aborts execution when exceptions are disabled, by
// relying on a 'DEATH_TEST'.
#if __cpp_exceptions >= 199711L
#define ASSERT_THROW_OR_ABORT(stmnt, error) ASSERT_THROW(stmnt, error);
#else
#define ASSERT_THROW_OR_ABORT(stmnt, error) ASSERT_DEATH(stmnt, ".*");
#endif

#endif  // LIB_STDCOMPAT_TEST_TEST_HELPER_H_
