Collision Checker
test_common.h
Go to the documentation of this file.
1 #ifndef TESTS_COLLISION_TEST_COMMON_H_
2 #define TESTS_COLLISION_TEST_COMMON_H_
3 
4 #include <fstream>
5 #include <iostream>
6 #include <mutex>
7 #include <thread>
8 
9 namespace collision {
10 namespace test {
11 
13  public:
14  virtual int log_failure(std::string log_str) = 0;
15  virtual ~ITestFailureLogger() {}
16 };
17 
18 template <class T>
20  public:
21  TestFailureLogger(void);
22 
23  int log_failure(std::string log_str);
24  virtual ~TestFailureLogger(void);
25 
26  private:
27  static const char *get_filename(void);
28 
29  static int num_copies;
30  static std::ofstream out_file;
31  static std::mutex file_mutex;
32 };
33 
35  : public TestFailureLogger<TestFailureLoggerParentMap> {};
37  : public TestFailureLogger<TestFailureLoggerBroadphase> {};
39  : public TestFailureLogger<TestFailureLoggerNarrowphase> {};
40 
41 template <>
43 template <>
45 template <>
47 
48 } // namespace test
49 
50 } // namespace collision
51 
52 #endif /* TESTS_COLLISION_TEST_COMMON_H_ */
virtual int log_failure(std::string log_str)=0