def test_get_dirs_up_to_root(self): self.assertEqual(pbt_util.get_dirs_up_to_root("/"), ["/"]) self.assertEqual(pbt_util.get_dirs_up_to_root("/asd"), ["/asd", "/"]) self.assertEqual(pbt_util.get_dirs_up_to_root("/asd/"), ["/asd", "/"]) self.assertEqual(pbt_util.get_dirs_up_to_root("/asd/foo"), ["/asd/foo", "/asd", "/"]) self.assertEqual(pbt_util.get_dirs_up_to_root("/asd/foo/"), ["/asd/foo", "/asd", "/"])
def load_project(self, basepath="."): """loads the project description and related information from project.pbt, raise ProjectNotFoundError if no project.pbt is found""" for dirname in pbt_util.get_dirs_up_to_root(basepath): project_path = os.path.join(dirname, self.project_descriptor_name) self.log.debug("Looking for '{}'".format(project_path)) if os.path.isfile(project_path): return self.parse_project_descriptor(project_path) raise ProjectNotFoundError()