// Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced // at the Lawrence Livermore National Laboratory. All Rights reserved. See files // LICENSE and NOTICE for details. LLNL-CODE-806117. // // This file is part of the MFEM library. For more information and source code // availability visit https://mfem.org. // // MFEM is free software; you can redistribute it and/or modify it under the // terms of the BSD-3 license. We welcome feedback and contributions, see file // CONTRIBUTING.md for details. #ifndef MFEM_UNIT_TEST #define MFEM_UNIT_TEST #include "catch.hpp" /// Command line '--all' option to launch all non-regression tests. extern bool launch_all_non_regression_tests; /// Command line '--data' argument for path to mfem/data repo. /** If no --data path is provided, then mfem_data_dir will be the empty string, and tests tagged with [MFEMData] will be skipped. */ extern std::string mfem_data_dir; /// Command line '--verbose' argument, false by default. /** Enables extra log messages and the mfem::out stream. */ extern bool verbose_tests; /** @brief MFEM_Approx can be used to compare floating point values within an absolute tolerance of @a abs_tol (default value 1e-12) and relative tolerance of @a rel_tol (default value 1e-12). */ inline Approx MFEM_Approx(double val, double abs_tol = 1e-12, double rel_tol = 1e-12) { return Approx(val).margin(abs_tol).epsilon(rel_tol); } #endif