From 15f82bd32e98b5c00a06fbd40e6d86fd44d91370 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com> Date: Fri, 6 Nov 2020 20:18:50 +0100 Subject: [PATCH] Remove a few useless output Now pugs version and build information are accessed through the '-v' or '--version' command line options --- src/utils/BuildInfo.cpp | 2 +- src/utils/ConsoleManager.cpp | 3 -- src/utils/FPEManager.cpp | 12 ++----- src/utils/PugsUtils.cpp | 67 +++++++++++++++++++++++++----------- src/utils/PugsUtils.hpp | 4 +++ src/utils/SignalManager.cpp | 6 ---- 6 files changed, 53 insertions(+), 41 deletions(-) diff --git a/src/utils/BuildInfo.cpp b/src/utils/BuildInfo.cpp index 7162aeccf..38d46007e 100644 --- a/src/utils/BuildInfo.cpp +++ b/src/utils/BuildInfo.cpp @@ -22,7 +22,7 @@ std::string BuildInfo::compiler() { std::stringstream compiler_info; - compiler_info << PUGS_BUILD_COMPILER << " (" << PUGS_BUILD_COMPILER_VERSION << ")" << std::ends; + compiler_info << PUGS_BUILD_COMPILER << " (" << PUGS_BUILD_COMPILER_VERSION << ")"; return compiler_info.str(); } diff --git a/src/utils/ConsoleManager.cpp b/src/utils/ConsoleManager.cpp index 666caa1b1..f55004ac7 100644 --- a/src/utils/ConsoleManager.cpp +++ b/src/utils/ConsoleManager.cpp @@ -11,12 +11,9 @@ ConsoleManager::isTerminal(std::ostream& os) void ConsoleManager::init(bool colorize) { - std::cout << "Console management: color "; if (colorize) { rang::setControlMode(rang::control::Force); - std::cout << rang::style::bold << rang::fgB::green << "enabled" << rang::fg::reset << rang::style::reset << '\n'; } else { rang::setControlMode(rang::control::Off); - std::cout << "disabled\n"; } } diff --git a/src/utils/FPEManager.cpp b/src/utils/FPEManager.cpp index 7430b5bbc..89a75d7c7 100644 --- a/src/utils/FPEManager.cpp +++ b/src/utils/FPEManager.cpp @@ -62,16 +62,12 @@ fedisableexcept(unsigned int excepts) void FPEManager::enable() { - std::cout << "FE management: " << rang::style::bold << rang::fgB::green << "enabled" << rang::fg::reset - << rang::style::reset << '\n'; ::feenableexcept(MANAGED_FPE); } void FPEManager::disable() { - std::cout << "FE management: " << rang::style::bold << rang::fgB::red << "disabled" << rang::fg::reset - << rang::style::reset << '\n'; ::fedisableexcept(MANAGED_FPE); } @@ -79,15 +75,11 @@ FPEManager::disable() void FPEManager::enable() -{ - std::cout << "FE management: enabled " << rang::fg::red << "[not supported]" << rang::fg::reset << '\n'; -} +{} void FPEManager::disable() -{ - std::cout << "FE management: disable " << rang::fg::red << "[not supported]" << rang::fg::reset << '\n'; -} +{} #endif // PUGS_HAS_FENV_H diff --git a/src/utils/PugsUtils.cpp b/src/utils/PugsUtils.cpp index d54bd333f..43e9cd20f 100644 --- a/src/utils/PugsUtils.cpp +++ b/src/utils/PugsUtils.cpp @@ -24,38 +24,63 @@ // This function cannot be unit-tested: run once when pugs starts std::string -initialize(int& argc, char* argv[]) +pugsVersion() { - parallel::Messenger::create(argc, argv); + std::stringstream os; - std::cout << "Pugs version: " << rang::style::bold << RevisionInfo::version() << rang::style::reset << '\n'; + os << "pugs version: " << rang::style::bold << RevisionInfo::version() << rang::style::reset << '\n'; - std::cout << "-------------------- " << rang::fg::green << "git info" << rang::fg::reset - << " -------------------------" << '\n'; - std::cout << "tag: " << rang::style::bold << RevisionInfo::gitTag() << rang::style::reset << '\n'; - std::cout << "HEAD: " << rang::style::bold << RevisionInfo::gitHead() << rang::style::reset << '\n'; - std::cout << "hash: " << rang::style::bold << RevisionInfo::gitHash() << rang::style::reset << " ("; + os << "-------------------- " << rang::fg::green << "git info" << rang::fg::reset << " -------------------------" + << '\n'; + os << "tag: " << rang::style::bold << RevisionInfo::gitTag() << rang::style::reset << '\n'; + os << "HEAD: " << rang::style::bold << RevisionInfo::gitHead() << rang::style::reset << '\n'; + os << "hash: " << rang::style::bold << RevisionInfo::gitHash() << rang::style::reset << " ("; if (RevisionInfo::gitIsClean()) { - std::cout << rang::fgB::green << "clean" << rang::fg::reset; + os << rang::fgB::green << "clean" << rang::fg::reset; } else { - std::cout << rang::fgB::red << "dirty" << rang::fg::reset; + os << rang::fgB::red << "dirty" << rang::fg::reset; } - std::cout << ")\n"; - std::cout << "-------------------- " << rang::fg::green << "build info" << rang::fg::reset - << " -----------------------" << '\n'; - std::cout << "type: " << rang::style::bold << BuildInfo::type() << rang::style::reset << '\n'; - std::cout << "compiler: " << rang::style::bold << BuildInfo::compiler() << rang::style::reset << '\n'; - std::cout << "kokkos: " << rang::style::bold << BuildInfo::kokkosDevices() << rang::style::reset << '\n'; - std::cout << "MPI: " << rang::style::bold << BuildInfo::mpiLibrary() << rang::style::reset << '\n'; - std::cout << "PETSc: " << rang::style::bold << BuildInfo::petscLibrary() << rang::style::reset << '\n'; - std::cout << "-------------------------------------------------------\n"; + os << ")\n"; + os << "-------------------------------------------------------"; + + return os.str(); +} + +std::string +pugsBuildInfo() +{ + std::ostringstream os; + + os << "-------------------- " << rang::fg::green << "build info" << rang::fg::reset << " -----------------------" + << '\n'; + os << "type: " << rang::style::bold << BuildInfo::type() << rang::style::reset << '\n'; + os << "compiler: " << rang::style::bold << BuildInfo::compiler() << rang::style::reset << '\n'; + os << "kokkos: " << rang::style::bold << BuildInfo::kokkosDevices() << rang::style::reset << '\n'; + os << "MPI: " << rang::style::bold << BuildInfo::mpiLibrary() << rang::style::reset << '\n'; + os << "PETSc: " << rang::style::bold << BuildInfo::petscLibrary() << rang::style::reset << '\n'; + os << "-------------------------------------------------------"; + + return os.str(); +} + +std::string +initialize(int& argc, char* argv[]) +{ + parallel::Messenger::create(argc, argv); std::string filename; { - CLI::App app{"Pugs help"}; + CLI::App app{"pugs help"}; + + app.add_option("filename", filename, "pugs script file")->check(CLI::ExistingFile)->required(); - app.add_option("filename", filename, "pugs script file")->required()->check(CLI::ExistingFile); + app.set_version_flag("-v,--version", []() { + ConsoleManager::init(true); + std::stringstream os; + os << pugsVersion() << '\n' << pugsBuildInfo(); + return os.str(); + }); int threads = -1; app.add_option("--threads", threads, "Number of Kokkos threads") diff --git a/src/utils/PugsUtils.hpp b/src/utils/PugsUtils.hpp index ef4eeb72c..54bcc6d05 100644 --- a/src/utils/PugsUtils.hpp +++ b/src/utils/PugsUtils.hpp @@ -21,6 +21,10 @@ parallel_reduce(size_t size, const ArrayType& array, ReturnType& value, const st Kokkos::parallel_reduce(label, size, array, value); } +std::string pugsBuildInfo(); + +std::string pugsVersion(); + std::string initialize(int& argc, char* argv[]); void finalize(); diff --git a/src/utils/SignalManager.cpp b/src/utils/SignalManager.cpp index ab08424fa..399f3164c 100644 --- a/src/utils/SignalManager.cpp +++ b/src/utils/SignalManager.cpp @@ -114,11 +114,5 @@ SignalManager::init(bool enable) std::signal(SIGINT, SignalManager::handler); std::signal(SIGABRT, SignalManager::handler); std::signal(SIGPIPE, SignalManager::handler); - - std::cout << "Signal management: " << rang::style::bold << rang::fgB::green << "enabled" << rang::fg::reset - << rang::style::reset << '\n'; - } else { - std::cout << "Signal management: " << rang::style::bold << rang::fgB::red << "disabled" << rang::fg::reset - << rang::style::reset << '\n'; } } -- GitLab