[notelet-core] 01/01: Imported Upstream version 1.9.2

Jochen Sprickerhof jspricke-guest at moszumanska.debian.org
Wed Jun 3 08:19:49 UTC 2015


This is an automated email from the git hooks/post-receive script.

jspricke-guest pushed a commit to annotated tag upstream/1.9.2
in repository notelet-core.

commit b1fd892432de035dd4663e1dc57a4344e46aa256
Author: Jochen Sprickerhof <git at jochen.sprickerhof.de>
Date:   Wed Jun 3 10:13:58 2015 +0200

    Imported Upstream version 1.9.2
---
 nodelet/CHANGELOG.rst                         | 22 +++++++----
 nodelet/package.xml                           |  6 +--
 nodelet/src/loader.cpp                        |  8 ++++
 nodelet_core/CHANGELOG.rst                    |  9 +++--
 nodelet_core/package.xml                      |  2 +-
 nodelet_topic_tools/CHANGELOG.rst             | 12 ++++--
 nodelet_topic_tools/package.xml               |  2 +-
 test_nodelet/CHANGELOG.rst                    | 11 ++++--
 test_nodelet/CMakeLists.txt                   |  3 ++
 test_nodelet/package.xml                      |  2 +-
 test_nodelet/src/create_instance_cb_error.cpp | 54 +++++++++++++++++++++++++++
 test_nodelet/test/test_loader.py              | 12 ++++++
 test_nodelet_topic_tools/CHANGELOG.rst        |  9 +++--
 test_nodelet_topic_tools/package.xml          |  2 +-
 14 files changed, 128 insertions(+), 26 deletions(-)

diff --git a/nodelet/CHANGELOG.rst b/nodelet/CHANGELOG.rst
index e9d59ab..0cf31dd 100644
--- a/nodelet/CHANGELOG.rst
+++ b/nodelet/CHANGELOG.rst
@@ -2,24 +2,32 @@
 Changelog for package nodelet
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-1.8.6 (2014-10-30)
+1.9.2 (2014-10-30)
 ------------------
 * Fix dependency version
 * Contributors: Esteve Fernandez
 
-1.8.5 (2014-10-29)
+1.9.1 (2014-10-29)
 ------------------
 * Use FindUUID.cmake from cmake-modules to find the UUID libraries
-* Contributors: Esteve Fernandez
+* nodelet: Loader: do not call impl->refresh_classes_ if not available
+* Contributors: Esteve Fernandez, Max Schwarz
 
-1.8.4 (2014-06-16)
+1.9.0 (2014-06-16)
 ------------------
-* Unload nodelets if they fail to initialize
-  Fixes `#13 <https://github.com/ros/nodelet_core/issues/13>`_
+* Fix initialization error handling (`#13 <https://github.com/ros/nodelet_core/issues/13>`_)
+* Contributors: Esteve Fernandez
 
 1.8.3 (2014-05-08)
 ------------------
-* refresh list of available classes and fix bond issue
+* Add version to pluginlib dependency
+* nodelet: avoid breaking bond when unloading unknown nodelet
+* nodelet: refresh list of available classes if class is not found
+* Fixed missing header
+* Correctly check that there are enough arguments when nodelet is launched with the unload command
+* Exit if Loader::load returns failure in "standalone" mode instead of continuing to run
+* Contributors: Dirk Thomas, Esteve Fernandez, Forrest Voight, Gary Servin, Marcus Liebhardt, Mitchell Wills
+
 * fix missing header (`#14 <https://github.com/ros/nodelet_core/issues/14>`_)
 * fix check that there are enough arguments when nodelet is launched with the unload command (`#12 <https://github.com/ros/nodelet_core/issues/12>`_)
 * exit if Loader::load returns failure in "standalone" mode instead of continuing to run (`#11 <https://github.com/ros/nodelet_core/issues/11>`_)
diff --git a/nodelet/package.xml b/nodelet/package.xml
index f542c01..fde2216 100644
--- a/nodelet/package.xml
+++ b/nodelet/package.xml
@@ -1,6 +1,6 @@
 <package>
   <name>nodelet</name>
-  <version>1.8.6</version>
+  <version>1.9.2</version>
   <description>
     The nodelet package is designed to provide a way to run multiple
     algorithms in the same process with zero copy transport between
@@ -23,7 +23,7 @@
   <build_depend>boost</build_depend>
   <build_depend version_gte="0.3.2">cmake_modules</build_depend>
   <build_depend>message_generation</build_depend>
-  <build_depend>pluginlib</build_depend>
+  <build_depend version_gte="1.10.0">pluginlib</build_depend>
   <build_depend>rosconsole</build_depend>
   <build_depend>roscpp</build_depend>
   <build_depend>rospy</build_depend>
@@ -34,7 +34,7 @@
   <run_depend>bondcpp</run_depend>
   <run_depend>boost</run_depend>
   <run_depend>message_runtime</run_depend>
-  <run_depend>pluginlib</run_depend>
+  <run_depend version_gte="1.10.0">pluginlib</run_depend>
   <run_depend>rosconsole</run_depend>
   <run_depend>roscpp</run_depend>
   <run_depend>std_msgs</run_depend>
diff --git a/nodelet/src/loader.cpp b/nodelet/src/loader.cpp
index 9faf435..2812fbf 100644
--- a/nodelet/src/loader.cpp
+++ b/nodelet/src/loader.cpp
@@ -267,6 +267,14 @@ bool Loader::load(const std::string &name, const std::string& type, const ros::M
   }
   catch (std::runtime_error& e)
   {
+    // If we cannot refresh the nodelet cache, fail immediately
+    if(!impl_->refresh_classes_)
+    {
+      ROS_ERROR("Failed to load nodelet [%s] of type [%s]: %s", name.c_str(), type.c_str(), e.what());
+      return false;
+    }
+
+    // otherwise, refresh the cache and try again.
     try
     {
       impl_->refresh_classes_();
diff --git a/nodelet_core/CHANGELOG.rst b/nodelet_core/CHANGELOG.rst
index dc3af0a..8675625 100644
--- a/nodelet_core/CHANGELOG.rst
+++ b/nodelet_core/CHANGELOG.rst
@@ -2,17 +2,20 @@
 Changelog for package nodelet_core
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-1.8.6 (2014-10-30)
+1.9.2 (2014-10-30)
 ------------------
 
-1.8.5 (2014-10-29)
+1.9.1 (2014-10-29)
 ------------------
 
-1.8.4 (2014-06-16)
+1.9.0 (2014-06-16)
 ------------------
 
 1.8.3 (2014-05-08)
 ------------------
+* update changelogs
+* Update maintainer field
+* Contributors: Dirk Thomas, Esteve Fernandez
 
 1.8.2 (2014-01-07)
 ------------------
diff --git a/nodelet_core/package.xml b/nodelet_core/package.xml
index de785d9..68daf60 100644
--- a/nodelet_core/package.xml
+++ b/nodelet_core/package.xml
@@ -1,6 +1,6 @@
 <package>
   <name>nodelet_core</name>
-  <version>1.8.6</version>
+  <version>1.9.2</version>
   <description>Nodelet Core Metapackage</description>
   <maintainer email="esteve at osrfoundation.org">Esteve Fernandez</maintainer>
   <license>BSD</license>
diff --git a/nodelet_topic_tools/CHANGELOG.rst b/nodelet_topic_tools/CHANGELOG.rst
index 45b9e53..fb650c1 100644
--- a/nodelet_topic_tools/CHANGELOG.rst
+++ b/nodelet_topic_tools/CHANGELOG.rst
@@ -2,17 +2,23 @@
 Changelog for package nodelet_topic_tools
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-1.8.6 (2014-10-30)
+1.9.2 (2014-10-30)
 ------------------
 
-1.8.5 (2014-10-29)
+1.9.1 (2014-10-29)
 ------------------
 
-1.8.4 (2014-06-16)
+1.9.0 (2014-06-16)
 ------------------
 
 1.8.3 (2014-05-08)
 ------------------
+* update changelogs
+* Update maintainer field
+* fix missing boost dependency
+* Contributors: Dirk Thomas, Esteve Fernandez
+
+* fix missing boost dependency
 
 1.8.2 (2014-01-07)
 ------------------
diff --git a/nodelet_topic_tools/package.xml b/nodelet_topic_tools/package.xml
index d41407b..49cc901 100644
--- a/nodelet_topic_tools/package.xml
+++ b/nodelet_topic_tools/package.xml
@@ -1,6 +1,6 @@
 <package>
   <name>nodelet_topic_tools</name>
-  <version>1.8.6</version>
+  <version>1.9.2</version>
   <description>
     This package contains common nodelet tools such as a mux, demux and throttle.
   </description>
diff --git a/test_nodelet/CHANGELOG.rst b/test_nodelet/CHANGELOG.rst
index 2fb5393..cd2b959 100644
--- a/test_nodelet/CHANGELOG.rst
+++ b/test_nodelet/CHANGELOG.rst
@@ -2,17 +2,22 @@
 Changelog for package test_nodelet
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-1.8.6 (2014-10-30)
+1.9.2 (2014-10-30)
 ------------------
 
-1.8.5 (2014-10-29)
+1.9.1 (2014-10-29)
 ------------------
+* test_nodelet: test for `#23 <https://github.com/ros/nodelet_core/issues/23>`_ (display helpful error msg)
+* Contributors: Max Schwarz
 
-1.8.4 (2014-06-16)
+1.9.0 (2014-06-16)
 ------------------
 
 1.8.3 (2014-05-08)
 ------------------
+* update changelogs
+* Update maintainer field
+* Contributors: Dirk Thomas, Esteve Fernandez
 
 1.8.2 (2014-01-07)
 ------------------
diff --git a/test_nodelet/CMakeLists.txt b/test_nodelet/CMakeLists.txt
index fcf3561..0daf84d 100644
--- a/test_nodelet/CMakeLists.txt
+++ b/test_nodelet/CMakeLists.txt
@@ -35,4 +35,7 @@ if(CATKIN_ENABLE_TESTING)
   target_link_libraries(benchmark ${BOOST_LIBRARIES}
                                   ${PROJECT_NAME}
   )
+
+  add_executable(create_instance_cb_error src/create_instance_cb_error.cpp)
+  target_link_libraries(create_instance_cb_error ${catkin_LIBRARIES})
 endif()
diff --git a/test_nodelet/package.xml b/test_nodelet/package.xml
index 9782bc5..3b2b5d4 100644
--- a/test_nodelet/package.xml
+++ b/test_nodelet/package.xml
@@ -1,6 +1,6 @@
 <package>
   <name>test_nodelet</name>
-  <version>1.8.6</version>
+  <version>1.9.2</version>
   <description>
     A package for nodelet unit tests
   </description>
diff --git a/test_nodelet/src/create_instance_cb_error.cpp b/test_nodelet/src/create_instance_cb_error.cpp
new file mode 100644
index 0000000..69c60c1
--- /dev/null
+++ b/test_nodelet/src/create_instance_cb_error.cpp
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2011, Willow Garage, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in the
+ *       documentation and/or other materials provided with the distribution.
+ *     * Neither the name of the Willow Garage, Inc. nor the names of its
+ *       contributors may be used to endorse or promote products derived from
+ *       this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// Helper for issue #23: nodelet loader hides load error
+// should generate a helpful error message containing "NODELET_TEST_FAILURE"
+
+#include <nodelet/loader.h>
+#include <ros/init.h>
+
+#include <boost/bind.hpp>
+
+boost::shared_ptr<nodelet::Nodelet> create_instance(const std::string& lookup_name)
+{
+    throw std::runtime_error("NODELET_TEST_FAILURE");
+}
+
+int main(int argc, char** argv)
+{
+    ros::init(argc, argv, "simple_loader");
+
+    nodelet::Loader loader(boost::bind(&create_instance, _1));
+    std::map<std::string, std::string> remappings;
+    std::vector<std::string> my_argv;
+    if(!loader.load("/fail", "test_nodelet/FailingNodelet", remappings, my_argv))
+        return 1;
+
+    return 0;
+}
diff --git a/test_nodelet/test/test_loader.py b/test_nodelet/test/test_loader.py
index 35fe76a..4c43eee 100755
--- a/test_nodelet/test/test_loader.py
+++ b/test_nodelet/test/test_loader.py
@@ -33,6 +33,7 @@ import rospy
 import unittest
 import rostest
 import random
+import subprocess
 
 from nodelet.srv import *
 
@@ -86,6 +87,17 @@ class TestLoader(unittest.TestCase):
         req.name = "/my_nodelet"
         self.assertRaises(rospy.ServiceException, unload.call, req)
 
+    def test_loader_error_message(self):
+        proc = subprocess.Popen(["rosrun", "test_nodelet", "create_instance_cb_error"],
+            stderr=subprocess.PIPE
+        )
+
+        # The load should fail
+        self.assertEqual(proc.wait(), 1)
+
+        # And the loader should print our error message
+        out = proc.stderr.read()
+        self.assertIn('NODELET_TEST_FAILURE', out)
 
 if __name__ == '__main__':
     rospy.init_node('test_loader')
diff --git a/test_nodelet_topic_tools/CHANGELOG.rst b/test_nodelet_topic_tools/CHANGELOG.rst
index b4822d7..b588638 100644
--- a/test_nodelet_topic_tools/CHANGELOG.rst
+++ b/test_nodelet_topic_tools/CHANGELOG.rst
@@ -2,17 +2,20 @@
 Changelog for package test_nodelet_topic_tools
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-1.8.6 (2014-10-30)
+1.9.2 (2014-10-30)
 ------------------
 
-1.8.5 (2014-10-29)
+1.9.1 (2014-10-29)
 ------------------
 
-1.8.4 (2014-06-16)
+1.9.0 (2014-06-16)
 ------------------
 
 1.8.3 (2014-05-08)
 ------------------
+* update changelogs
+* Update maintainer field
+* Contributors: Dirk Thomas, Esteve Fernandez
 
 1.8.2 (2014-01-07)
 ------------------
diff --git a/test_nodelet_topic_tools/package.xml b/test_nodelet_topic_tools/package.xml
index a8ea158..9eb3207 100644
--- a/test_nodelet_topic_tools/package.xml
+++ b/test_nodelet_topic_tools/package.xml
@@ -1,6 +1,6 @@
 <package>
   <name>test_nodelet_topic_tools</name>
-  <version>1.8.6</version>
+  <version>1.9.2</version>
   <description>
     A package for nodelet_topic_tools unit tests.
   </description>

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/ros/notelet-core.git



More information about the debian-science-commits mailing list