예제 #1
0
    def test_package_path(self):
        """Test package path resolver"""
        env = create_env()
        info = LintInfo(env)
        info.var = {
            "CMAKE_CURRENT_SOURCE_DIR": PathConstants.PACKAGE_SOURCE,
        }
        self.assertEqual(info.source_relative_path("filename"), "filename")
        self.assertEqual(info.source_relative_path("subdir/filename"), "subdir/filename")
        self.assertEqual(info.source_relative_path("subdir/../filename"), "filename")
        self.assertEqual(info.source_relative_path("/filename"), "/filename")
        self.assertEqual(info.source_relative_path("../../../../filename"), "/filename")
        self.assertEqual(info.source_relative_path("../../../../subdir/filename"), "/subdir/filename")
        info.var = {
            "CMAKE_CURRENT_SOURCE_DIR": "%s/subdir" % PathConstants.PACKAGE_SOURCE,
        }
        self.assertEqual(info.source_relative_path("filename"), "subdir/filename")
        self.assertEqual(info.source_relative_path("../filename"), "filename")

        pkg = create_manifest("mock")
        result = mock_lint(env, pkg,
            """
            project(mock)
            find_package(catkin REQUIRED)
            catkin_package()
            """, checks=cc.all, package_path="/package-path/other")
        self.assertEqual([ "PACKAGE_PATH_NAME"], result)
예제 #2
0
    def test_package_path(self):
        """Test package path resolver"""
        env = create_env()
        info = LintInfo(env)
        info.var = {
            "CMAKE_CURRENT_SOURCE_DIR": PathConstants.PACKAGE_SOURCE,
        }
        self.assertEqual(info.source_relative_path("filename"), "filename")
        self.assertEqual(info.source_relative_path("subdir/filename"), "subdir/filename")
        self.assertEqual(info.source_relative_path("subdir/../filename"), "filename")
        self.assertEqual(info.source_relative_path("/filename"), "/filename")
        self.assertEqual(info.source_relative_path("../../../../filename"), "/filename")
        self.assertEqual(info.source_relative_path("../../../../subdir/filename"), "/subdir/filename")
        info.var = {
            "CMAKE_CURRENT_SOURCE_DIR": "%s/subdir" % PathConstants.PACKAGE_SOURCE,
        }
        self.assertEqual(info.source_relative_path("filename"), "subdir/filename")
        self.assertEqual(info.source_relative_path("../filename"), "filename")

        pkg = create_manifest("mock")
        result = mock_lint(env, pkg,
                           """
            project(mock)
            find_package(catkin REQUIRED)
            catkin_package()
            """, checks=cc.all, package_path="/package-path/other")
        self.assertEqual(["PACKAGE_PATH_NAME"], result)
예제 #3
0
 def test_package_path(self):
     """Test package path resolver"""
     env = create_env()
     info = LintInfo(env)
     info.var = {
         "CMAKE_CURRENT_SOURCE_DIR": "/pkg-source",
     }
     self.assertEqual(info.package_path("filename"), os.path.normpath("filename"))
     self.assertEqual(info.package_path("subdir/filename"), os.path.normpath("subdir/filename"))
     self.assertEqual(info.package_path("subdir/../filename"), os.path.normpath("filename"))
     self.assertEqual(info.package_path("../filename"), os.path.normpath("/filename"))
     self.assertEqual(info.package_path("../../filename"), os.path.normpath("/filename"))
     self.assertEqual(info.package_path("../../subdir/filename"), os.path.normpath("/subdir/filename"))
     info.var = {
         "CMAKE_CURRENT_SOURCE_DIR": "/pkg-source/subdir",
     }
     self.assertEqual(info.package_path("filename"), os.path.normpath("subdir/filename"))
     self.assertEqual(info.package_path("../filename"), os.path.normpath("filename"))