diff options
-rw-r--r-- | CMakeLists.txt | 1 | ||||
-rw-r--r-- | test/correctness/tester.cpp | 22 | ||||
-rw-r--r-- | test/correctness/tester.hpp | 22 |
3 files changed, 23 insertions, 22 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index e549a63a..2666e350 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,6 +101,7 @@ else() set(FLAGS "${FLAGS} -Wno-missing-prototypes -Wno-float-equal -Wno-switch-enum -Wno-switch") set(FLAGS "${FLAGS} -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-noreturn") set(FLAGS "${FLAGS} -Wno-deprecated-declarations") + set(FLAGS "${FLAGS} -Wno-undefined-var-template") endif() endif() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAGS}") diff --git a/test/correctness/tester.cpp b/test/correctness/tester.cpp index d1f3cbb2..fb85e609 100644 --- a/test/correctness/tester.cpp +++ b/test/correctness/tester.cpp @@ -70,28 +70,6 @@ T getAlmostInfNumber() { return static_cast<T>(1e35); // used for correctness testing of TRSV and TRSM routines } -// Maximum number of test results printed on a single line -template <typename T, typename U> const size_t Tester<T,U>::kResultsPerLine = size_t{64}; - -// Error percentage is not applicable: error was caused by an incorrect status -template <typename T, typename U> const float Tester<T,U>::kStatusError = -1.0f; - -// Constants holding start and end strings for terminal-output in colour -template <typename T, typename U> const std::string Tester<T,U>::kPrintError = "\x1b[31m"; -template <typename T, typename U> const std::string Tester<T,U>::kPrintSuccess = "\x1b[32m"; -template <typename T, typename U> const std::string Tester<T,U>::kPrintWarning = "\x1b[35m"; -template <typename T, typename U> const std::string Tester<T,U>::kPrintMessage = "\x1b[1m"; -template <typename T, typename U> const std::string Tester<T,U>::kPrintEnd = "\x1b[0m"; - -// Sets the output error coding -template <typename T, typename U> const std::string Tester<T,U>::kSuccessData = kPrintSuccess + ":" + kPrintEnd; -template <typename T, typename U> const std::string Tester<T,U>::kSuccessStatus = kPrintSuccess + "." + kPrintEnd; -template <typename T, typename U> const std::string Tester<T,U>::kErrorData = kPrintError + "X" + kPrintEnd; -template <typename T, typename U> const std::string Tester<T,U>::kErrorStatus = kPrintError + "/" + kPrintEnd; -template <typename T, typename U> const std::string Tester<T,U>::kSkippedCompilation = kPrintWarning + "\\" + kPrintEnd; -template <typename T, typename U> const std::string Tester<T,U>::kUnsupportedPrecision = kPrintWarning + "o" + kPrintEnd; -template <typename T, typename U> const std::string Tester<T,U>::kUnsupportedReference = kPrintWarning + "-" + kPrintEnd; - // ================================================================================================= // General constructor for all CLBlast testers. It prints out the test header to stdout and sets-up diff --git a/test/correctness/tester.hpp b/test/correctness/tester.hpp index 8cfa702f..e544f776 100644 --- a/test/correctness/tester.hpp +++ b/test/correctness/tester.hpp @@ -146,6 +146,28 @@ class Tester { std::vector<std::string> options_; }; +// Maximum number of test results printed on a single line +template <typename T, typename U> const size_t Tester<T,U>::kResultsPerLine = size_t{64}; + +// Error percentage is not applicable: error was caused by an incorrect status +template <typename T, typename U> const float Tester<T,U>::kStatusError = -1.0f; + +// Constants holding start and end strings for terminal-output in colour +template <typename T, typename U> const std::string Tester<T,U>::kPrintError = "\x1b[31m"; +template <typename T, typename U> const std::string Tester<T,U>::kPrintSuccess = "\x1b[32m"; +template <typename T, typename U> const std::string Tester<T,U>::kPrintWarning = "\x1b[35m"; +template <typename T, typename U> const std::string Tester<T,U>::kPrintMessage = "\x1b[1m"; +template <typename T, typename U> const std::string Tester<T,U>::kPrintEnd = "\x1b[0m"; + +// Sets the output error coding +template <typename T, typename U> const std::string Tester<T,U>::kSuccessData = "\x1b[32m:\x1b[0m"; // success +template <typename T, typename U> const std::string Tester<T,U>::kSuccessStatus = "\x1b[32m.\x1b[0m"; // success +template <typename T, typename U> const std::string Tester<T,U>::kErrorData = "\x1b[31mX\x1b[0m"; // error +template <typename T, typename U> const std::string Tester<T,U>::kErrorStatus = "\x1b[31m/\x1b[0m"; // error +template <typename T, typename U> const std::string Tester<T,U>::kSkippedCompilation = "\x1b[35m\\\x1b[0m"; // warning +template <typename T, typename U> const std::string Tester<T,U>::kUnsupportedPrecision = "\x1b[35mo\x1b[0m"; // warning +template <typename T, typename U> const std::string Tester<T,U>::kUnsupportedReference = "\x1b[35m-\x1b[0m"; // warning + // ================================================================================================= // Below are the non-member functions (separated because of otherwise required partial class // template specialization) |