Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Corentin Bergé
dynamic-graph
Commits
8c879124
Commit
8c879124
authored
Mar 06, 2019
by
Guilhem Saurel
Browse files
Merge branch 'devel' of github.com:stack-of-tasks/dynamic-graph into devel
parents
2c2196de
b3ce2e4a
Changes
2
Hide whitespace changes
Inline
Side-by-side
doc/additionalDoc/extension.h
View file @
8c879124
...
...
@@ -36,11 +36,11 @@ It is providing a step-by-step way of building an entity
\section sec_htw_helpers Helpers
When writing entities you might use some macros which are very useful to write your class.
They are given also in the <a href="http://projects.laas.fr/gepetto/doc/stack-of-tasks/sot-core/master/doxygen-html">sot-core</a> package as well.
\subsection subsec_howto_typedef Entity helpers
The header <b>entity-helper.h</b> is defining a type called EntityClassName
\section sec_howto_macros_helpers Macro helpers
\subsection subsec_howto_macros_helpers Preprocessing macros for signals
...
...
@@ -95,17 +95,27 @@ The header <b>entity-helper.h</b> is defining a type called EntityClassName
</ul>
<li>
</li>
</li> Inner signals
<ul>
<li> <b> DECLARE_SIGNAL_INNER(signal_name,type)</b>
Inner signal are signal that depend on a state of the entity and not on input signals.
This macro declares an inner signal with the following pattern:
\code
m_signal_nameSINNER
\endcode
</li>
<li> <b>DEFINE_SIGNAL_INNER_FUNCTION</b>
This macro
</li>
It also creates a member function with the following pattern:
\code
type & EntityClassName::nameSINNER_function(signal_name)(type &, int)
\endcode
</li>
<li> <b>DEFINE_SIGNAL_INNER_FUNCTION(signal_name,type)</b>
This macro is used to implement the method related to signal_name. More precisely
it provides the header of the member function(i.e. method) declaration.
</li>
<li><b>DECLARE_SIGNAL_INNER_FUNCTION(signal_name,type)</b>
This macros declares the member function used to handle the access to this signal.
</li>
</ul>
</ul>
*/
tests/debug-logger-winit.cpp
0 → 100644
View file @
8c879124
/* Copyright 2019, LAAS-CNRS
*
* Olivier Stasse
*
* See LICENSE file
*
*/
#include <sstream>
#include <iostream>
#include <dynamic-graph/entity.h>
#include <dynamic-graph/exception-factory.h>
#include "dynamic-graph/factory.h"
#include "dynamic-graph/pool.h"
#define ENABLE_RT_LOG
#include <dynamic-graph/real-time-logger.h>
#include <dynamic-graph/logger.h>
#define BOOST_TEST_MODULE debug-logger
#include <boost/test/unit_test.hpp>
#include <boost/test/output_test_stream.hpp>
using
boost
::
test_tools
::
output_test_stream
;
namespace
dynamicgraph
{
class
CustomEntity
:
public
Entity
{
public:
static
const
std
::
string
CLASS_NAME
;
virtual
const
std
::
string
&
getClassName
()
const
{
return
CLASS_NAME
;
}
CustomEntity
(
const
std
::
string
n
)
:
Entity
(
n
)
{
logger_
.
setTimeSample
(
0.001
);
logger_
.
setStreamPrintPeriod
(
0.005
);
logger_
.
setVerbosity
(
VERBOSITY_ALL
);
LoggerVerbosity
alv
=
logger_
.
getVerbosity
();
BOOST_CHECK
(
alv
==
VERBOSITY_ALL
);
}
~
CustomEntity
()
{
}
void
testDebugTrace
()
{
sendMsg
(
"This is a message of level MSG_TYPE_DEBUG"
,
MSG_TYPE_DEBUG
);
sendMsg
(
"This is a message of level MSG_TYPE_INFO"
,
MSG_TYPE_INFO
);
sendMsg
(
"This is a message of level MSG_TYPE_WARNING"
,
MSG_TYPE_WARNING
);
sendMsg
(
"This is a message of level MSG_TYPE_ERROR"
,
MSG_TYPE_ERROR
);
sendMsg
(
"This is a message of level MSG_TYPE_DEBUG_STREAM"
,
MSG_TYPE_DEBUG_STREAM
);
sendMsg
(
"This is a message of level MSG_TYPE_INFO_STREAM"
,
MSG_TYPE_INFO_STREAM
);
sendMsg
(
"This is a message of level MSG_TYPE_WARNING_STREAM"
,
MSG_TYPE_WARNING_STREAM
);
sendMsg
(
"This is a message of level MSG_TYPE_ERROR_STREAM"
,
MSG_TYPE_ERROR_STREAM
);
logger_
.
countdown
();
}
};
DYNAMICGRAPH_FACTORY_ENTITY_PLUGIN
(
CustomEntity
,
"CustomEntity"
);
}
BOOST_AUTO_TEST_CASE
(
debug_logger_wrong_initialization
)
{
std
::
ofstream
of
;
dynamicgraph
::
RealTimeLogger
::
instance
();
//of.open("/tmp/dg-LOGS.txt",std::ofstream::out|std::ofstream::app);
// dgADD_OSTREAM_TO_RTLOG (of);
BOOST_CHECK_EQUAL
(
dynamicgraph
::
CustomEntity
::
CLASS_NAME
,
"CustomEntity"
);
dynamicgraph
::
CustomEntity
&
entity
=
*
(
dynamic_cast
<
dynamicgraph
::
CustomEntity
*>
(
dynamicgraph
::
FactoryStorage
::
getInstance
()
->
newEntity
(
"CustomEntity"
,
"my-entity-2"
)));
for
(
unsigned
int
i
=
0
;
i
<
10000
;
i
++
)
{
entity
.
testDebugTrace
();
}
dynamicgraph
::
RealTimeLogger
::
destroy
();
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment