Blame tests/marisa-assert.h

Packit de3218
#ifndef MARISA_ASSERT_H_
Packit de3218
#define MARISA_ASSERT_H_
Packit de3218
Packit de3218
#include <iostream>
Packit de3218
#include <cstdlib>
Packit de3218
Packit de3218
#define ASSERT(cond) (void)((!!(cond)) || \
Packit de3218
  ((std::cout << __LINE__ << ": Assertion `" << #cond << "' failed." \
Packit de3218
      << std::endl), std::exit(-1), 0))
Packit de3218
Packit de3218
#define EXCEPT(code, expected_error_code) try { \
Packit de3218
  code; \
Packit de3218
  std::cout << __LINE__ << ": Exception `" << #code << "' failed." \
Packit de3218
      << std::endl; \
Packit de3218
  std::exit(-1); \
Packit de3218
} catch (const marisa::Exception &ex) { \
Packit de3218
  ASSERT(ex.error_code() == expected_error_code); \
Packit de3218
}
Packit de3218
Packit de3218
#define TEST_START() \
Packit de3218
  (std::cout << __FILE__ << ":" << __LINE__ << ": " << __FUNCTION__ << "(): ")
Packit de3218
Packit de3218
#define TEST_END() \
Packit de3218
  (std::cout << "ok" << std::endl)
Packit de3218
Packit de3218
#endif  // MARISA_ASSERT_H_