diff options
author | Zachary Turner <zturner@google.com> | 2017-06-14 16:41:50 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2017-06-14 16:41:50 +0000 |
commit | cb30e705d8006b5bb7671ab2b364e8c38b6c0232 (patch) | |
tree | 6a8d9510060208e357745338b9d910d4329c6984 /llvm/unittests/DebugInfo/PDB/ErrorChecking.h | |
parent | b6567b18c72b3a4370002d689fda50eeee827d5b (diff) | |
download | bcm5719-llvm-cb30e705d8006b5bb7671ab2b364e8c38b6c0232.tar.gz bcm5719-llvm-cb30e705d8006b5bb7671ab2b364e8c38b6c0232.zip |
[gtest] Create a shared include directory for gtest utilities.
Many times unit tests for different libraries would like to use
the same helper functions for checking common types of errors.
This patch adds a common library with helpers for testing things
in Support, and introduces helpers in here for integrating the
llvm::Error and llvm::Expected<T> classes with gtest and gmock.
Normally, we would just be able to write:
EXPECT_THAT(someFunction(), succeeded());
but due to some quirks in llvm::Error's move semantics, gmock
doesn't make this easy, so two macros EXPECT_THAT_ERROR() and
EXPECT_THAT_EXPECTED() are introduced to gloss over the difficulties.
Consider this an exception, and possibly only temporary as we
look for ways to improve this.
Differential Revision: https://reviews.llvm.org/D33059
llvm-svn: 305395
Diffstat (limited to 'llvm/unittests/DebugInfo/PDB/ErrorChecking.h')
-rw-r--r-- | llvm/unittests/DebugInfo/PDB/ErrorChecking.h | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/llvm/unittests/DebugInfo/PDB/ErrorChecking.h b/llvm/unittests/DebugInfo/PDB/ErrorChecking.h deleted file mode 100644 index f284bfd8bb7..00000000000 --- a/llvm/unittests/DebugInfo/PDB/ErrorChecking.h +++ /dev/null @@ -1,61 +0,0 @@ -//===- ErrorChecking.h - Helpers for verifying llvm::Errors -----*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_UNITTESTS_DEBUGINFO_PDB_ERRORCHECKING_H -#define LLVM_UNITTESTS_DEBUGINFO_PDB_ERRORCHECKING_H - -#define EXPECT_NO_ERROR(Err) \ - { \ - auto E = Err; \ - EXPECT_FALSE(static_cast<bool>(E)); \ - if (E) \ - consumeError(std::move(E)); \ - } - -#define EXPECT_ERROR(Err) \ - { \ - auto E = Err; \ - EXPECT_TRUE(static_cast<bool>(E)); \ - if (E) \ - consumeError(std::move(E)); \ - } - -#define EXPECT_EXPECTED(Exp) \ - { \ - auto E = Exp.takeError(); \ - EXPECT_FALSE(static_cast<bool>(E)); \ - if (E) { \ - consumeError(std::move(E)); \ - return; \ - } \ - } - -#define EXPECT_EXPECTED_EQ(Val, Exp) \ - { \ - auto Result = Exp; \ - auto E = Result.takeError(); \ - EXPECT_FALSE(static_cast<bool>(E)); \ - if (E) { \ - consumeError(std::move(E)); \ - return; \ - } \ - EXPECT_EQ(Val, *Result); \ - } - -#define EXPECT_UNEXPECTED(Exp) \ - { \ - auto E = Exp.takeError(); \ - EXPECT_TRUE(static_cast<bool>(E)); \ - if (E) { \ - consumeError(std::move(E)); \ - return; \ - } \ - } - -#endif |