/*+ ARES/HADES/BORG Package -- ./libLSS/tests/test_console.cpp Copyright (C) 2014-2020 Guilhem Lavaux Copyright (C) 2009-2020 Jens Jasche Additional contributions from: Guilhem Lavaux (2023) +*/ #include #include "libLSS/mpi/generic_mpi.hpp" #include "libLSS/tools/static_init.hpp" #include "libLSS/tools/console.hpp" #include "libLSS/tools/timing_db.hpp" #include "libLSS/tools/hdf5_error.hpp" using namespace std; using LibLSS::LOG_STD; using LibLSS::LOG_WARNING; using LibLSS::LOG_ERROR; using boost::format; static void funInit() { cout << "Dummy static init test" << endl; } LibLSS::RegisterStaticInit test_reg(funInit); int main(int argc, char **argv) { LibLSS::MPI_Communication *mpi_world = LibLSS::setupMPI(argc, argv); LibLSS::StaticInit::execute(); LibLSS::Console& console = LibLSS::Console::instance(); unlink("timings.h5"); { H5::H5File f("timings.h5", H5F_ACC_TRUNC); LibLSS::timings::load(f); } console.print("Test console"); console.print("Test warning console"); console.print("Test error console"); LibLSS::Progress& p = console.start_progress("Test progress", 10); console.indent(); console.print("test indent"); for (int j = 0; j < 10; j++) { p.update(j); console.print("indented"); console.indent(); } p.destroy(); console.print(format("This is a formatter test %d, %g") % -2 % 4.3); console.format("This is a formatter test2 %d, %g", -2, 4.3); { LIBLSS_AUTO_CONTEXT(LOG_STD, ctx); ctx.print("Now in context"); } { H5::H5File f("timings.h5", H5F_ACC_TRUNC); LibLSS::timings::save(f); } console.print_stack_trace(); LibLSS::StaticInit::finalize(); return 0; }