summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeLib/testCommon.h
blob: bd2d54e6d90d2502b0fdd0339c931881c295ae4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
   file Copyright.txt or https://cmake.org/licensing for details.  */
#pragma once

#include <functional>
#include <iostream>
#include <vector>

#define ASSERT_TRUE(x)                                                        \
  do {                                                                        \
    if (!(x)) {                                                               \
      std::cout << "ASSERT_TRUE(" #x ") failed on line " << __LINE__ << "\n"; \
      return false;                                                           \
    }                                                                         \
  } while (false)

inline int runTests(std::vector<std::function<bool()>> const& tests)
{
  for (auto const& test : tests) {
    if (!test()) {
      return 1;
    }
    std::cout << ".";
  }

  std::cout << " Passed" << std::endl;
  return 0;
}

#define BOOL_STRING(b) ((b) ? "TRUE" : "FALSE")