예제 #1
0
    def test_find_system_dependencies_missing_local_dependency(self):
        mockInstance = self.rosdep_mock.return_value

        # Setup a dependency on a non-existing package, and it doesn't resolve
        # to a system dependency.'
        mockInstance.get_dependencies.return_value = ['bar']
        mockInstance.resolve_dependency.return_value = None

        with self.assertRaises(RuntimeError) as raised:
            catkin._find_system_dependencies({'foo'}, 'indigo', '/test/path1',
                                             '/test/path2', [])

        self.assertEqual(raised.exception.args[0],
                         'Package "bar" isn\'t a valid system dependency. Did '
                         'you forget to add it to catkin-packages? If not, '
                         'add the Ubuntu package containing it to '
                         'stage-packages until you can get it into the rosdep '
                         'database.')
예제 #2
0
    def test_find_system_dependencies_missing_local_dependency(self):
        rosdep_mock = mock.MagicMock()

        # Setup a dependency on a non-existing package, and it doesn't resolve
        # to a system dependency.'
        rosdep_mock.get_dependencies.return_value = ['bar']
        exception = catkin.SystemDependencyNotFound('foo')
        rosdep_mock.resolve_dependency.side_effect = exception

        with self.assertRaises(RuntimeError) as raised:
            catkin._find_system_dependencies({'foo'}, rosdep_mock)

        self.assertEqual(raised.exception.args[0],
                         "Package 'bar' isn't a valid system dependency. Did "
                         "you forget to add it to catkin-packages? If not, "
                         "add the Ubuntu package containing it to "
                         "stage-packages until you can get it into the rosdep "
                         "database.")
예제 #3
0
    def test_find_system_dependencies_missing_local_dependency(self):
        rosdep_mock = mock.MagicMock()

        # Setup a dependency on a non-existing package, and it doesn't resolve
        # to a system dependency.'
        rosdep_mock.get_dependencies.return_value = ['bar']
        exception = catkin.SystemDependencyNotFound('foo')
        rosdep_mock.resolve_dependency.side_effect = exception

        with self.assertRaises(RuntimeError) as raised:
            catkin._find_system_dependencies({'foo'}, rosdep_mock)

        self.assertEqual(raised.exception.args[0],
                         "Package 'bar' isn't a valid system dependency. Did "
                         "you forget to add it to catkin-packages? If not, "
                         "add the Ubuntu package containing it to "
                         "stage-packages until you can get it into the rosdep "
                         "database.")
예제 #4
0
    def test_find_system_dependencies_system_only(self):
        rosdep_mock = mock.MagicMock()
        rosdep_mock.get_dependencies.return_value = ['bar']
        rosdep_mock.resolve_dependency.return_value = ['baz']

        self.assertEqual({'baz'}, catkin._find_system_dependencies(
            {'foo'}, rosdep_mock))

        rosdep_mock.get_dependencies.assert_called_once_with('foo')
        rosdep_mock.resolve_dependency.assert_called_once_with('bar')
예제 #5
0
    def test_find_system_dependencies_system_only(self):
        rosdep_mock = mock.MagicMock()
        rosdep_mock.get_dependencies.return_value = ['bar']
        rosdep_mock.resolve_dependency.return_value = ['baz']

        self.assertEqual({'baz'}, catkin._find_system_dependencies(
            {'foo'}, rosdep_mock))

        rosdep_mock.get_dependencies.assert_called_once_with('foo')
        rosdep_mock.resolve_dependency.assert_called_once_with('bar')
예제 #6
0
    def test_find_system_dependencies_roscpp_includes_gplusplus(self):
        rosdep_mock = mock.MagicMock()
        rosdep_mock.get_dependencies.return_value = ['roscpp']
        rosdep_mock.resolve_dependency.return_value = ['baz']

        self.assertEqual(_CompareContainers(self, {'baz', 'g++'}),
                         catkin._find_system_dependencies({'foo'},
                                                          rosdep_mock))

        rosdep_mock.get_dependencies.assert_called_once_with('foo')
        rosdep_mock.resolve_dependency.assert_called_once_with('roscpp')
예제 #7
0
    def test_find_system_dependencies_local_only(self):
        rosdep_mock = mock.MagicMock()
        rosdep_mock.get_dependencies.return_value = ['bar']

        self.assertEqual(set(), catkin._find_system_dependencies(
            {'foo', 'bar'}, rosdep_mock))

        rosdep_mock.get_dependencies.assert_has_calls([mock.call('foo'),
                                                       mock.call('bar')],
                                                      any_order=True)
        rosdep_mock.resolve_dependency.assert_not_called()
예제 #8
0
    def test_find_system_dependencies_local_only(self):
        rosdep_mock = mock.MagicMock()
        rosdep_mock.get_dependencies.return_value = ['bar']

        self.assertEqual(
            set(), catkin._find_system_dependencies({'foo', 'bar'},
                                                    rosdep_mock))

        rosdep_mock.get_dependencies.assert_has_calls(
            [mock.call('foo'), mock.call('bar')], any_order=True)
        rosdep_mock.resolve_dependency.assert_not_called()
예제 #9
0
    def test_find_system_dependencies_roscpp_includes_gplusplus(self):
        rosdep_mock = mock.MagicMock()
        rosdep_mock.get_dependencies.return_value = ['roscpp']
        rosdep_mock.resolve_dependency.return_value = ['baz']

        self.assertEqual(_CompareContainers(self, {'baz', 'g++'}),
                         catkin._find_system_dependencies({'foo'},
                                                          rosdep_mock))

        rosdep_mock.get_dependencies.assert_called_once_with('foo')
        rosdep_mock.resolve_dependency.assert_called_once_with('roscpp')
예제 #10
0
    def test_find_system_dependencies_system_only(self):
        mockInstance = self.rosdep_mock.return_value
        mockInstance.get_dependencies.return_value = ["bar"]
        mockInstance.resolve_dependency.return_value = "baz"

        self.assertEqual(["baz"], catkin._find_system_dependencies({"foo"}, "indigo", "/test/path1", "/test/path2", []))

        # Verify that rosdep was setup as expected
        self.verify_rosdep_setup("indigo", "/test/path1", "/test/path2", [])

        mockInstance.get_dependencies.assert_called_once_with("foo")
        mockInstance.resolve_dependency.assert_called_once_with("bar")
예제 #11
0
    def test_find_system_dependencies_mixed(self):
        rosdep_mock = mock.MagicMock()
        rosdep_mock.get_dependencies.return_value = ['bar', 'baz']
        rosdep_mock.resolve_dependency.return_value = ['qux']

        self.assertEqual({'qux'}, catkin._find_system_dependencies(
            {'foo', 'bar'}, rosdep_mock))

        rosdep_mock.get_dependencies.assert_has_calls([mock.call('foo'),
                                                       mock.call('bar')],
                                                      any_order=True)
        rosdep_mock.resolve_dependency.assert_called_once_with('baz')
예제 #12
0
    def test_find_system_dependencies_mixed(self):
        rosdep_mock = mock.MagicMock()
        rosdep_mock.get_dependencies.return_value = ['bar', 'baz']
        rosdep_mock.resolve_dependency.return_value = ['qux']

        self.assertEqual({'qux'},
                         catkin._find_system_dependencies({'foo', 'bar'},
                                                          rosdep_mock))

        rosdep_mock.get_dependencies.assert_has_calls(
            [mock.call('foo'), mock.call('bar')], any_order=True)
        rosdep_mock.resolve_dependency.assert_called_once_with('baz')
예제 #13
0
    def test_find_system_dependencies_system_only(self):
        mockInstance = self.rosdep_mock.return_value
        mockInstance.get_dependencies.return_value = ['bar']
        mockInstance.resolve_dependency.return_value = 'baz'

        self.assertEqual(['baz'], catkin._find_system_dependencies(
            {'foo'}, 'indigo', '/test/path1', '/test/path2', []))

        # Verify that rosdep was setup as expected
        self.verify_rosdep_setup('indigo', '/test/path1', '/test/path2', [])

        mockInstance.get_dependencies.assert_called_once_with('foo')
        mockInstance.resolve_dependency.assert_called_once_with('bar')
예제 #14
0
    def test_find_system_dependencies_local_only(self):
        mockInstance = self.rosdep_mock.return_value
        mockInstance.get_dependencies.return_value = ["bar"]

        self.assertEqual(
            [], catkin._find_system_dependencies({"foo", "bar"}, "indigo", "/test/path1", "/test/path2", [])
        )

        # Verify that rosdep was setup as expected
        self.verify_rosdep_setup("indigo", "/test/path1", "/test/path2", [])

        mockInstance.get_dependencies.assert_has_calls([mock.call("foo"), mock.call("bar")], any_order=True)
        mockInstance.resolve_dependency.assert_not_called()
예제 #15
0
    def test_find_system_dependencies_local_only(self):
        mockInstance = self.rosdep_mock.return_value
        mockInstance.get_dependencies.return_value = ['bar']

        self.assertEqual([], catkin._find_system_dependencies(
            {'foo', 'bar'}, 'indigo', '/test/path1', '/test/path2', []))

        # Verify that rosdep was setup as expected
        self.verify_rosdep_setup('indigo', '/test/path1', '/test/path2', [])

        mockInstance.get_dependencies.assert_has_calls([mock.call('foo'),
                                                        mock.call('bar')],
                                                       any_order=True)
        mockInstance.resolve_dependency.assert_not_called()
예제 #16
0
    def test_find_system_dependencies_roscpp_includes_gplusplus(self):
        mockInstance = self.rosdep_mock.return_value
        mockInstance.get_dependencies.return_value = ["roscpp"]
        mockInstance.resolve_dependency.return_value = "baz"

        self.assertEqual(
            _CompareLists(self, ["baz", "g++"]),
            catkin._find_system_dependencies({"foo"}, "indigo", "/test/path1", "/test/path2", []),
        )

        # Verify that rosdep was setup as expected
        self.verify_rosdep_setup("indigo", "/test/path1", "/test/path2", [])

        mockInstance.get_dependencies.assert_called_once_with("foo")
        mockInstance.resolve_dependency.assert_called_once_with("roscpp")
예제 #17
0
    def test_find_system_dependencies_roscpp_includes_gplusplus(self):
        mockInstance = self.rosdep_mock.return_value
        mockInstance.get_dependencies.return_value = ['roscpp']
        mockInstance.resolve_dependency.return_value = 'baz'

        self.assertEqual(_CompareLists(self, ['baz', 'g++']),
                         catkin._find_system_dependencies({'foo'}, 'indigo',
                                                          '/test/path1',
                                                          '/test/path2', []))

        # Verify that rosdep was setup as expected
        self.verify_rosdep_setup('indigo', '/test/path1', '/test/path2', [])

        mockInstance.get_dependencies.assert_called_once_with('foo')
        mockInstance.resolve_dependency.assert_called_once_with('roscpp')