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
No related branches found
No related tags found
1 merge request!355IssueSeverity fix and add tests
Pipeline #
...@@ -100,6 +100,9 @@ gaudi_add_unit_test(test_PropertyHolder tests/src/test_PropertyHolder.cpp ...@@ -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 gaudi_add_unit_test(test_Property tests/src/test_Property.cpp
LINK_LIBRARIES GaudiKernel LINK_LIBRARIES GaudiKernel
TYPE Boost) TYPE Boost)
gaudi_add_unit_test(test_IssueSeverity tests/src/test_IssueSeverity.cpp
LINK_LIBRARIES GaudiKernel
TYPE Boost)
#---Dictionaries------------------------------------------------------------ #---Dictionaries------------------------------------------------------------
gaudi_add_dictionary(GaudiKernel dict/dictionary.h dict/dictionary.xml LINK_LIBRARIES GaudiKernel) gaudi_add_dictionary(GaudiKernel dict/dictionary.h dict/dictionary.xml LINK_LIBRARIES GaudiKernel)
......
...@@ -14,24 +14,6 @@ class StatusCode; ...@@ -14,24 +14,6 @@ class StatusCode;
class IIssueLogger; class IIssueLogger;
// namespace IS {
// enum Level {
// NIL = 0,
// VERBOSE,
// DEBUG,
// DEBUG1,
// DEBUG2,
// DEBUG3,
// INFO,
// WARNING,
// RECOVERABLE,
// ERROR,
// FATAL,
// ALWAYS,
// NUM_LEVELS
// };
// }
#ifdef _WIN32 #ifdef _WIN32
#ifdef ERROR #ifdef ERROR
...@@ -116,20 +98,18 @@ inline IssueSeverity::IssueSeverity(IssueSeverity::Level level, std::string msg) ...@@ -116,20 +98,18 @@ inline IssueSeverity::IssueSeverity(IssueSeverity::Level level, std::string msg)
inline IssueSeverity::IssueSeverity( IssueSeverity&& rhs ) noexcept { inline IssueSeverity::IssueSeverity( IssueSeverity&& rhs ) noexcept {
m_file = std::move(rhs.m_file); 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_line = rhs.m_line;
m_level = rhs.m_level; m_level = rhs.m_level;
m_reported = rhs.m_reported; m_reported = std::exchange( rhs.m_reported, true );
rhs.m_reported = true;
} }
inline IssueSeverity& IssueSeverity::operator=(IssueSeverity&& rhs) noexcept { inline IssueSeverity& IssueSeverity::operator=(IssueSeverity&& rhs) noexcept {
m_file = rhs.m_file; m_file = std::move(rhs.m_file);
m_msg = rhs.m_level; m_msg = std::move(rhs.m_msg);
m_line = rhs.m_line; m_line = rhs.m_line;
m_level = rhs.m_level; m_level = rhs.m_level;
m_reported = rhs.m_reported; m_reported = std::exchange( rhs.m_reported, true );
rhs.m_reported = true;
return *this; return *this;
} }
......
...@@ -16,7 +16,6 @@ IIssueLogger* IssueSeverity::m_ers(nullptr); ...@@ -16,7 +16,6 @@ IIssueLogger* IssueSeverity::m_ers(nullptr);
IssueSeverity::~IssueSeverity() { IssueSeverity::~IssueSeverity() {
if (!m_reported) { if (!m_reported) {
report(); 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 ) ...@@ -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> orig{"name", "value", "doc"};
Gaudi::Property<std::string> dest( orig ); Gaudi::Property<std::string> dest( orig );
BOOST_CHECK( dest.name() == "name" ); BOOST_CHECK( dest.name() == "name" );
...@@ -161,7 +160,6 @@ BOOST_AUTO_TEST_CASE( copy_contructor ) ...@@ -161,7 +160,6 @@ BOOST_AUTO_TEST_CASE( copy_contructor )
BOOST_CHECK( dest.documentation() == "doc [unknown owner type]" ); BOOST_CHECK( dest.documentation() == "doc [unknown owner type]" );
} }
{ {
// std::cout << "copy_contructor " << std::endl;
std::string data{"value"}; std::string data{"value"};
Gaudi::Property<std::string&> orig{"name", data, "doc"}; Gaudi::Property<std::string&> orig{"name", data, "doc"};
Gaudi::Property<std::string&> dest( orig ); Gaudi::Property<std::string&> dest( orig );
...@@ -172,9 +170,8 @@ BOOST_AUTO_TEST_CASE( copy_contructor ) ...@@ -172,9 +170,8 @@ BOOST_AUTO_TEST_CASE( copy_contructor )
BOOST_CHECK( dest.value() == "newvalue" ); 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> orig{"name", "value", "doc"};
Gaudi::Property<std::string> dest( std::move( orig ) ); Gaudi::Property<std::string> dest( std::move( orig ) );
BOOST_CHECK( dest.name() == "name" ); BOOST_CHECK( dest.name() == "name" );
...@@ -183,7 +180,6 @@ BOOST_AUTO_TEST_CASE( move_contructor ) ...@@ -183,7 +180,6 @@ BOOST_AUTO_TEST_CASE( move_contructor )
} }
BOOST_AUTO_TEST_CASE( copy_assignment ) BOOST_AUTO_TEST_CASE( copy_assignment )
{ {
// std::cout << "copy_assignment " << std::endl;
Gaudi::Property<std::string> orig{"name", "value", "doc"}; Gaudi::Property<std::string> orig{"name", "value", "doc"};
Gaudi::Property<std::string> dest = orig; Gaudi::Property<std::string> dest = orig;
BOOST_CHECK( dest.name() == "name" ); BOOST_CHECK( dest.name() == "name" );
...@@ -192,7 +188,6 @@ BOOST_AUTO_TEST_CASE( copy_assignment ) ...@@ -192,7 +188,6 @@ BOOST_AUTO_TEST_CASE( copy_assignment )
} }
BOOST_AUTO_TEST_CASE( move_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> orig{"name", "value", "doc"};
Gaudi::Property<std::string> dest = std::move( orig ); Gaudi::Property<std::string> dest = std::move( orig );
BOOST_CHECK( dest.name() == "name" ); BOOST_CHECK( dest.name() == "name" );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment