test
src
param_locale_avoidance_test.cpp
Go to the documentation of this file.
1
/*********************************************************************
2
* Software License Agreement (BSD License)
3
*
4
* Copyright (c) 2010, Willow Garage, Inc.
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
*
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above
14
* copyright notice, this list of conditions and the following
15
* disclaimer in the documentation and/or other materials provided
16
* with the distribution.
17
* * Neither the name of Willow Garage, Inc. nor the names of its
18
* contributors may be used to endorse or promote products derived
19
* from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
* POSSIBILITY OF SUCH DAMAGE.
33
********************************************************************/
34
35
#include "
ros/ros.h
"
36
#include <locale.h>
37
#include <gtest/gtest.h>
38
39
TEST
(Locale, push_pop)
40
{
41
int
argc = 0;
42
char
argv[1][255] = {
"string"
};
43
ros::init
(argc, (
char
**)argv,
"locale_push_pop"
);
44
ros::NodeHandle
nh;
45
46
ROS_INFO
(
"locale is %s"
, setlocale(LC_NUMERIC, 0));
47
48
// this test only works on machines that have de_DE installed
49
if
(!setlocale(LC_NUMERIC,
"de_DE.utf8"
))
50
{
51
ROS_WARN
(
"unable to set locale to de_DE.utf8, skipping test"
);
52
return
;
53
}
54
ROS_INFO
(
"locale now %s"
, setlocale(LC_NUMERIC, 0));
55
for
(
unsigned
j=0;
ros::ok
() && j < 5; ++j)
56
{
57
ROS_INFO
(
"setting parameters..."
);
58
59
double
set
= 123.45;
60
nh.
setParam
(
"V"
,
set
);
61
62
double
got;
63
if
(nh.
getParam
(
"V"
, got))
64
{
65
ROS_INFO
(
"got pi=%3f <- should have commas in it"
, got);
66
ASSERT_EQ(
set
, got);
67
}
else
{
68
FAIL();
69
}
70
71
ros::WallDuration
(0.1).
sleep
();
72
}
73
}
74
75
int
76
main
(
int
argc,
char
** argv)
77
{
78
ros::init
(argc, argv,
"locale_push_pop"
);
79
testing::InitGoogleTest(&argc, argv);
80
return
RUN_ALL_TESTS();
81
}
ros::WallDuration::sleep
bool sleep() const
ros::NodeHandle::setParam
void setParam(const std::string &key, bool b) const
ros::init
ROSCPP_DECL void init(const M_string &remappings, const std::string &name, uint32_t options=0)
ros::NodeHandle::getParam
bool getParam(const std::string &key, bool &b) const
ros.h
main
int main(int argc, char **argv)
Definition:
param_locale_avoidance_test.cpp:76
ros::ok
ROSCPP_DECL bool ok()
ROS_WARN
#define ROS_WARN(...)
set
ROSCPP_DECL void set(const std::string &key, bool b)
TEST
TEST(Locale, push_pop)
Definition:
param_locale_avoidance_test.cpp:39
ros::WallDuration
ROS_INFO
#define ROS_INFO(...)
ros::NodeHandle
test_roscpp
Author(s): Morgan Quigley, Josh Faust, Brian Gerkey, Troy Straszheim, Dirk Thomas
, Jacob Perron
autogenerated on Sat Sep 14 2024 02:59:57