Skip to content
Snippets Groups Projects
Commit 878c38fa authored by Benedikt Hegner's avatar Benedikt Hegner
Browse files

Merge branch 'issueseverity-fix2' into 'master'

IssueSeverity fix and add tests

See merge request !355
parents 7f14dda8 4c488309
Branches
Tags
1 merge request!355IssueSeverity fix and add tests
Pipeline #
......@@ -100,6 +100,9 @@ gaudi_add_unit_test(test_PropertyHolder tests/src/test_PropertyHolder.cpp
gaudi_add_unit_test(test_Property tests/src/test_Property.cpp
LINK_LIBRARIES GaudiKernel
TYPE Boost)
gaudi_add_unit_test(test_IssueSeverity tests/src/test_IssueSeverity.cpp
LINK_LIBRARIES GaudiKernel
TYPE Boost)
#---Dictionaries------------------------------------------------------------
gaudi_add_dictionary(GaudiKernel dict/dictionary.h dict/dictionary.xml LINK_LIBRARIES GaudiKernel)
......
......@@ -14,24 +14,6 @@ class StatusCode;
class IIssueLogger;
// namespace IS {
// enum Level {
// NIL = 0,
// VERBOSE,
// DEBUG,
// DEBUG1,
// DEBUG2,
// DEBUG3,
// INFO,
// WARNING,
// RECOVERABLE,
// ERROR,
// FATAL,
// ALWAYS,
// NUM_LEVELS
// };
// }
#ifdef _WIN32
#ifdef ERROR
......@@ -116,20 +98,18 @@ inline IssueSeverity::IssueSeverity(IssueSeverity::Level level, std::string msg)
inline IssueSeverity::IssueSeverity( IssueSeverity&& rhs ) noexcept {
m_file = std::move(rhs.m_file);
m_msg = std::move(rhs.m_msg);
m_msg = std::move(rhs.m_msg);
m_line = rhs.m_line;
m_level = rhs.m_level;
m_reported = rhs.m_reported;
rhs.m_reported = true;
m_reported = std::exchange( rhs.m_reported, true );
}
inline IssueSeverity& IssueSeverity::operator=(IssueSeverity&& rhs) noexcept {
m_file = rhs.m_file;
m_msg = rhs.m_level;
m_file = std::move(rhs.m_file);
m_msg = std::move(rhs.m_msg);
m_line = rhs.m_line;
m_level = rhs.m_level;
m_reported = rhs.m_reported;
rhs.m_reported = true;
m_reported = std::exchange( rhs.m_reported, true );
return *this;
}
......
......@@ -16,7 +16,6 @@ IIssueLogger* IssueSeverity::m_ers(nullptr);
IssueSeverity::~IssueSeverity() {
if (!m_reported) {
report();
// do stuff
}
}
......
#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MODULE test_IssueSeverity
#include <boost/test/unit_test.hpp>
#include <iostream>
#include <string>
#include "GaudiKernel/IssueSeverity.h"
// Use function return value to generate rvalue references
IssueSeverity returnIssue() {
return IssueSeverity{IssueSeverity::Level::INFO, 666, "ghost.cpp", "issue severity test"};
}
BOOST_AUTO_TEST_CASE( constructor )
{
{
std::cout << "constructor full" << std::endl;
IssueSeverity is {IssueSeverity::Level::INFO, 666, "ghost.cpp", "issue severity test"};
BOOST_CHECK( is.getLevel() == IssueSeverity::Level::INFO );
BOOST_CHECK( is.getOrigin() == std::string("ghost.cpp:666") );
BOOST_CHECK( is.getMsg() == "issue severity test" );
}
{
std::cout << "constructor partial" << std::endl;
IssueSeverity is{IssueSeverity::Level::INFO, "issue severity test"};
BOOST_CHECK( is.getLevel() == IssueSeverity::Level::INFO );
BOOST_CHECK( is.getMsg() == "issue severity test" );
}
{
std::cout << "constructor move assign" << std::endl;
IssueSeverity is = returnIssue();
BOOST_CHECK( is.getLevel() == IssueSeverity::Level::INFO );
BOOST_CHECK( is.getOrigin() == std::string("ghost.cpp:666") );
BOOST_CHECK( is.getMsg() == "issue severity test" );
}
{
std::cout << "constructor from rval ref" << std::endl;
IssueSeverity is(returnIssue());
BOOST_CHECK( is.getLevel() == IssueSeverity::Level::INFO );
BOOST_CHECK( is.getOrigin() == std::string("ghost.cpp:666") );
BOOST_CHECK( is.getMsg() == "issue severity test" );
}
}
BOOST_AUTO_TEST_CASE( setter )
{
{
std::cout << "setters" << std::endl;
IssueSeverity is {IssueSeverity::Level::INFO, 666, "ghost.cpp", "issue severity test"};
is.setLevel(IssueSeverity::Level::ERROR);
BOOST_CHECK( is.getLevel() == IssueSeverity::Level::ERROR );
is.setMsg("updated message");
BOOST_CHECK( is.getMsg() == "updated message" );
}
}
......@@ -150,10 +150,9 @@ BOOST_AUTO_TEST_CASE( implicit_conversion )
}
}
BOOST_AUTO_TEST_CASE( copy_contructor )
BOOST_AUTO_TEST_CASE( copy_constructor )
{
{
// std::cout << "copy_contructor " << std::endl;
Gaudi::Property<std::string> orig{"name", "value", "doc"};
Gaudi::Property<std::string> dest( orig );
BOOST_CHECK( dest.name() == "name" );
......@@ -161,7 +160,6 @@ BOOST_AUTO_TEST_CASE( copy_contructor )
BOOST_CHECK( dest.documentation() == "doc [unknown owner type]" );
}
{
// std::cout << "copy_contructor " << std::endl;
std::string data{"value"};
Gaudi::Property<std::string&> orig{"name", data, "doc"};
Gaudi::Property<std::string&> dest( orig );
......@@ -172,9 +170,8 @@ BOOST_AUTO_TEST_CASE( copy_contructor )
BOOST_CHECK( dest.value() == "newvalue" );
}
}
BOOST_AUTO_TEST_CASE( move_contructor )
BOOST_AUTO_TEST_CASE( move_constructor )
{
// std::cout << "move_contructor " << std::endl;
Gaudi::Property<std::string> orig{"name", "value", "doc"};
Gaudi::Property<std::string> dest( std::move( orig ) );
BOOST_CHECK( dest.name() == "name" );
......@@ -183,7 +180,6 @@ BOOST_AUTO_TEST_CASE( move_contructor )
}
BOOST_AUTO_TEST_CASE( copy_assignment )
{
// std::cout << "copy_assignment " << std::endl;
Gaudi::Property<std::string> orig{"name", "value", "doc"};
Gaudi::Property<std::string> dest = orig;
BOOST_CHECK( dest.name() == "name" );
......@@ -192,7 +188,6 @@ BOOST_AUTO_TEST_CASE( copy_assignment )
}
BOOST_AUTO_TEST_CASE( move_assignment )
{
// std::cout << "move_assignment " << std::endl;
Gaudi::Property<std::string> orig{"name", "value", "doc"};
Gaudi::Property<std::string> dest = std::move( orig );
BOOST_CHECK( dest.name() == "name" );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment