Use -Wpedantic (#306)
* add /W4 flag for windows * use uint8 like defined in messages: fix warning C4244 * fix sign size_t comparison * add only pedantic, not W4, deal with windows another day * another sign compare warning
This commit is contained in:
parent
ce146cfdba
commit
71f5b7fe5b
10 changed files with 45 additions and 43 deletions
|
@ -2,9 +2,10 @@ cmake_minimum_required(VERSION 3.5)
|
|||
|
||||
project(rclcpp_lifecycle)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
|
||||
add_compile_options(-Wall -Wextra -Wpedantic)
|
||||
if(WIN32)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -Wextra -Wpedantic")
|
||||
endif()
|
||||
|
||||
find_package(ament_cmake REQUIRED)
|
||||
|
|
|
@ -356,7 +356,7 @@ public:
|
|||
|
||||
RCLCPP_LIFECYCLE_PUBLIC
|
||||
const State &
|
||||
trigger_transition(unsigned int transition_id);
|
||||
trigger_transition(uint8_t transition_id);
|
||||
|
||||
RCLCPP_LIFECYCLE_PUBLIC
|
||||
bool
|
||||
|
|
|
@ -32,7 +32,7 @@ public:
|
|||
State();
|
||||
|
||||
RCLCPP_LIFECYCLE_PUBLIC
|
||||
State(unsigned int id, const std::string & label);
|
||||
State(uint8_t id, const std::string & label);
|
||||
|
||||
RCLCPP_LIFECYCLE_PUBLIC
|
||||
explicit State(const rcl_lifecycle_state_t * rcl_lifecycle_state_handle);
|
||||
|
@ -41,7 +41,7 @@ public:
|
|||
virtual ~State();
|
||||
|
||||
RCLCPP_LIFECYCLE_PUBLIC
|
||||
unsigned int
|
||||
uint8_t
|
||||
id() const;
|
||||
|
||||
RCLCPP_LIFECYCLE_PUBLIC
|
||||
|
|
|
@ -33,11 +33,11 @@ public:
|
|||
Transition() = delete;
|
||||
|
||||
RCLCPP_LIFECYCLE_PUBLIC
|
||||
explicit Transition(unsigned int id, const std::string & label = "");
|
||||
explicit Transition(uint8_t id, const std::string & label = "");
|
||||
|
||||
RCLCPP_LIFECYCLE_PUBLIC
|
||||
Transition(
|
||||
unsigned int id, const std::string & label,
|
||||
uint8_t id, const std::string & label,
|
||||
State && start, State && goal);
|
||||
|
||||
RCLCPP_LIFECYCLE_PUBLIC
|
||||
|
@ -47,7 +47,7 @@ public:
|
|||
virtual ~Transition();
|
||||
|
||||
RCLCPP_LIFECYCLE_PUBLIC
|
||||
unsigned int
|
||||
uint8_t
|
||||
id() const;
|
||||
|
||||
RCLCPP_LIFECYCLE_PUBLIC
|
||||
|
|
|
@ -289,7 +289,7 @@ LifecycleNode::trigger_transition(const Transition & transition)
|
|||
}
|
||||
|
||||
const State &
|
||||
LifecycleNode::trigger_transition(unsigned int transition_id)
|
||||
LifecycleNode::trigger_transition(uint8_t transition_id)
|
||||
{
|
||||
return impl_->trigger_transition(transition_id);
|
||||
}
|
||||
|
|
|
@ -202,7 +202,7 @@ public:
|
|||
throw std::runtime_error(
|
||||
"Can't get available states. State machine is not initialized.");
|
||||
}
|
||||
for (unsigned int i = 0; i < state_machine_.transition_map.states_size; ++i) {
|
||||
for (uint8_t i = 0; i < state_machine_.transition_map.states_size; ++i) {
|
||||
lifecycle_msgs::msg::State state;
|
||||
state.id = static_cast<uint8_t>(state_machine_.transition_map.states[i].id);
|
||||
state.label = static_cast<std::string>(state_machine_.transition_map.states[i].label);
|
||||
|
@ -223,7 +223,7 @@ public:
|
|||
return;
|
||||
}
|
||||
|
||||
for (unsigned int i = 0; i < state_machine_.transition_map.transitions_size; ++i) {
|
||||
for (uint8_t i = 0; i < state_machine_.transition_map.transitions_size; ++i) {
|
||||
rcl_lifecycle_transition_t & rcl_transition = state_machine_.transition_map.transitions[i];
|
||||
lifecycle_msgs::msg::TransitionDescription trans_desc;
|
||||
trans_desc.transition.id = rcl_transition.id;
|
||||
|
@ -247,7 +247,7 @@ public:
|
|||
get_available_states()
|
||||
{
|
||||
std::vector<State> states;
|
||||
for (unsigned int i = 0; i < state_machine_.transition_map.states_size; ++i) {
|
||||
for (uint8_t i = 0; i < state_machine_.transition_map.states_size; ++i) {
|
||||
State state(&state_machine_.transition_map.states[i]);
|
||||
states.push_back(state);
|
||||
}
|
||||
|
@ -259,7 +259,7 @@ public:
|
|||
{
|
||||
std::vector<Transition> transitions;
|
||||
|
||||
for (unsigned int i = 0; i < state_machine_.transition_map.transitions_size; ++i) {
|
||||
for (uint8_t i = 0; i < state_machine_.transition_map.transitions_size; ++i) {
|
||||
Transition transition(
|
||||
&state_machine_.transition_map.transitions[i]);
|
||||
transitions.push_back(transition);
|
||||
|
@ -279,7 +279,7 @@ public:
|
|||
// keep the initial state to pass to a transition callback
|
||||
State initial_state(state_machine_.current_state);
|
||||
|
||||
unsigned int transition_id = static_cast<unsigned int>(lifecycle_transition);
|
||||
uint8_t transition_id = lifecycle_transition;
|
||||
if (rcl_lifecycle_trigger_transition(&state_machine_, transition_id, true) != RCL_RET_OK) {
|
||||
fprintf(stderr, "%s:%d, Unable to start transition %u from current state %s: %s\n",
|
||||
__FILE__, __LINE__, transition_id,
|
||||
|
@ -348,7 +348,7 @@ public:
|
|||
}
|
||||
|
||||
const State &
|
||||
trigger_transition(unsigned int transition_id)
|
||||
trigger_transition(uint8_t transition_id)
|
||||
{
|
||||
change_state(transition_id);
|
||||
return get_current_state();
|
||||
|
|
|
@ -26,7 +26,7 @@ State::State()
|
|||
: State(lifecycle_msgs::msg::State::PRIMARY_STATE_UNKNOWN, "unknown")
|
||||
{}
|
||||
|
||||
State::State(unsigned int id, const std::string & label)
|
||||
State::State(uint8_t id, const std::string & label)
|
||||
: owns_rcl_state_handle_(true)
|
||||
{
|
||||
if (label.empty()) {
|
||||
|
@ -53,7 +53,7 @@ State::~State()
|
|||
}
|
||||
}
|
||||
|
||||
unsigned int
|
||||
uint8_t
|
||||
State::id() const
|
||||
{
|
||||
return state_handle_->id;
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
namespace rclcpp_lifecycle
|
||||
{
|
||||
|
||||
Transition::Transition(unsigned int id, const std::string & label)
|
||||
Transition::Transition(uint8_t id, const std::string & label)
|
||||
: owns_rcl_transition_handle_(true)
|
||||
{
|
||||
auto transition_handle = new rcl_lifecycle_transition_t;
|
||||
|
@ -35,7 +35,7 @@ Transition::Transition(unsigned int id, const std::string & label)
|
|||
}
|
||||
|
||||
Transition::Transition(
|
||||
unsigned int id, const std::string & label,
|
||||
uint8_t id, const std::string & label,
|
||||
State && start, State && goal)
|
||||
: owns_rcl_transition_handle_(true)
|
||||
{
|
||||
|
@ -75,7 +75,7 @@ Transition::~Transition()
|
|||
}
|
||||
}
|
||||
|
||||
unsigned int
|
||||
uint8_t
|
||||
Transition::id() const
|
||||
{
|
||||
return transition_handle_->id;
|
||||
|
|
|
@ -34,40 +34,40 @@ TEST_F(TestStateMachineInfo, available_states) {
|
|||
auto test_node = std::make_shared<rclcpp_lifecycle::LifecycleNode>("testnode");
|
||||
std::vector<rclcpp_lifecycle::State> available_states =
|
||||
test_node->get_available_states();
|
||||
EXPECT_EQ((unsigned int)11, available_states.size());
|
||||
EXPECT_EQ(11u, available_states.size());
|
||||
|
||||
// Primary States
|
||||
EXPECT_EQ((unsigned int)0, available_states[0].id()); // unknown
|
||||
EXPECT_EQ((unsigned int)1, available_states[1].id()); // unconfigured
|
||||
EXPECT_EQ((unsigned int)2, available_states[2].id()); // inactive
|
||||
EXPECT_EQ((unsigned int)3, available_states[3].id()); // active
|
||||
EXPECT_EQ((unsigned int)4, available_states[4].id()); // finalized
|
||||
EXPECT_EQ(0, available_states[0].id()); // unknown
|
||||
EXPECT_EQ(1, available_states[1].id()); // unconfigured
|
||||
EXPECT_EQ(2, available_states[2].id()); // inactive
|
||||
EXPECT_EQ(3, available_states[3].id()); // active
|
||||
EXPECT_EQ(4, available_states[4].id()); // finalized
|
||||
|
||||
// Transition States
|
||||
EXPECT_EQ((unsigned int)10, available_states[5].id()); // configuring
|
||||
EXPECT_EQ((unsigned int)11, available_states[6].id()); // cleaningup
|
||||
EXPECT_EQ((unsigned int)12, available_states[7].id()); // shuttingdown
|
||||
EXPECT_EQ((unsigned int)13, available_states[8].id()); // activating
|
||||
EXPECT_EQ((unsigned int)14, available_states[9].id()); // deactivating
|
||||
EXPECT_EQ((unsigned int)15, available_states[10].id()); // errorprocessing
|
||||
EXPECT_EQ(10, available_states[5].id()); // configuring
|
||||
EXPECT_EQ(11, available_states[6].id()); // cleaningup
|
||||
EXPECT_EQ(12, available_states[7].id()); // shuttingdown
|
||||
EXPECT_EQ(13, available_states[8].id()); // activating
|
||||
EXPECT_EQ(14, available_states[9].id()); // deactivating
|
||||
EXPECT_EQ(15, available_states[10].id()); // errorprocessing
|
||||
}
|
||||
|
||||
TEST_F(TestStateMachineInfo, available_transitions) {
|
||||
auto test_node = std::make_shared<rclcpp_lifecycle::LifecycleNode>("testnode");
|
||||
std::vector<rclcpp_lifecycle::Transition> available_transitions =
|
||||
test_node->get_available_transitions();
|
||||
EXPECT_EQ((unsigned int)25, available_transitions.size());
|
||||
EXPECT_EQ(25u, available_transitions.size());
|
||||
for (rclcpp_lifecycle::Transition & transition : available_transitions) {
|
||||
EXPECT_FALSE(transition.label().empty());
|
||||
|
||||
EXPECT_TRUE(transition.start_state().id() <= (unsigned int)4 ||
|
||||
(transition.start_state().id() >= (unsigned int)10 &&
|
||||
(transition.start_state().id() <= (unsigned int)15)));
|
||||
EXPECT_TRUE(transition.start_state().id() <= 4 ||
|
||||
(transition.start_state().id() >= 10 &&
|
||||
(transition.start_state().id() <= 15)));
|
||||
EXPECT_FALSE(transition.start_state().label().empty());
|
||||
|
||||
EXPECT_TRUE(transition.goal_state().id() <= (unsigned int)4 ||
|
||||
(transition.goal_state().id() >= (unsigned int)10 &&
|
||||
(transition.goal_state().id() <= (unsigned int)15)));
|
||||
EXPECT_TRUE(transition.goal_state().id() <= 4 ||
|
||||
(transition.goal_state().id() >= 10 &&
|
||||
(transition.goal_state().id() <= 15)));
|
||||
EXPECT_FALSE(transition.goal_state().label().empty());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue