9#ifndef FORTRAN_TESTING_TESTING_H_
10#define FORTRAN_TESTING_TESTING_H_
25#define TEST(predicate) \
26 testing::Test(__FILE__, __LINE__, #predicate, (predicate))
27#define MATCH(want, got) testing::Match(__FILE__, __LINE__, (want), #got, (got))
28#define COMPARE(x, rel, y) \
29 testing::Compare(__FILE__, __LINE__, #x, #rel, #y, (x), (y))
32using FailureDetailPrinter = void (*)(
const char *, ...);
33FailureDetailPrinter Test(
34 const char *file,
int line,
const char *predicate,
bool pass);
35FailureDetailPrinter Match(
const char *file,
int line, std::uint64_t want,
36 const char *gots, std::uint64_t got);
37FailureDetailPrinter Match(
const char *file,
int line,
const char *want,
38 const char *gots,
const std::string &got);
39FailureDetailPrinter Match(
const char *file,
int line,
const std::string &want,
40 const char *gots,
const std::string &got);
41FailureDetailPrinter Compare(
const char *file,
int line,
const char *xs,
42 const char *rel,
const char *ys, std::uint64_t x, std::uint64_t y);