Пример #1
0
 def test_clone_branch_repo(self):
     # create an empty directory- and set that as the workspace
     repo_resolver.resolve(test_dir, branch_dependency)
     folder_path = os.path.join(test_dir, branch_dependency["Path"])
     details = repo_resolver.get_details(folder_path)
     self.assertEqual(details['Url'], branch_dependency['Url'])
     self.assertEqual(details['Branch'], branch_dependency['Branch'])
    def fetch(self):

        # def resolve(file_system_path, dependency, force=False, ignore=False, update_ok=False):
        repo_resolver.resolve(self._local_repo_root_path, self._repo_resolver_dep_obj, update_ok=True)

        # Add a file to track the state of the dependency.
        self.update_state_file()
 def test_will_switch_branches(self):
     repo_resolver.resolve(test_dir, branch_dependency)
     folder_path = os.path.join(test_dir, branch_dependency["Path"])
     repo_resolver.resolve(test_dir, sub_branch_dependency, force=True)
     details = repo_resolver.get_details(folder_path)
     self.assertEqual(details['Url'], branch_dependency['Url'])
     self.assertEqual(details['Branch'], sub_branch_dependency['Branch'])
Пример #4
0
    def test_cant_switch_urls(self):
        # create an empty directory- and set that as the workspace
        repo_resolver.resolve(test_dir, branch_dependency)
        folder_path = os.path.join(test_dir, branch_dependency["Path"])

        details = repo_resolver.get_details(folder_path)

        self.assertEqual(details['Url'], branch_dependency['Url'])
        # first we checkout
        with self.assertRaises(Exception):
            repo_resolver.resolve(test_dir, microsoft_branch_dependency)

        details = repo_resolver.get_details(folder_path)
        self.assertEqual(details['Url'], branch_dependency['Url'])
Пример #5
0
    def test_wont_delete_dirty_repo(self):
        repo_resolver.resolve(test_dir, commit_dependency)

        folder_path = os.path.join(test_dir, commit_dependency["Path"])
        file_path = get_first_file(folder_path)
        # make sure the file already exists
        self.assertTrue(os.path.isfile(file_path))
        out_file = open(file_path, "a+")
        out_file.write("Make sure we don't delete this")
        out_file.close()
        self.assertTrue(os.path.exists(file_path))

        with self.assertRaises(Exception):
            repo_resolver.resolve(test_dir, commit_dependency, update_ok=True)
Пример #6
0
 def test_will_delete_files(self):
     folder_path = os.path.join(test_dir, commit_dependency["Path"])
     os.makedirs(folder_path)
     file_path = os.path.join(folder_path, "test.txt")
     out_file = open(file_path, "w+")
     out_file.write("Make sure we don't delete this")
     out_file.close()
     self.assertTrue(os.path.exists(file_path))
     try:
         repo_resolver.resolve(test_dir, commit_dependency, force=True)
     except:
         self.fail("We shouldn't fail when we are forcing")
     details = repo_resolver.get_details(folder_path)
     self.assertEqual(details['Url'], commit_dependency['Url'])
Пример #7
0
 def test_wont_delete_files(self):
     folder_path = os.path.join(test_dir, commit_dependency["Path"])
     os.makedirs(folder_path)
     file_path = os.path.join(folder_path, "test.txt")
     file_path = os.path.join(test_dir, branch_dependency["Path"],
                              "test.txt")
     out_file = open(file_path, "w+")
     out_file.write("Make sure we don't delete this")
     out_file.close()
     self.assertTrue(os.path.isfile(file_path))
     with self.assertRaises(Exception):
         repo_resolver.resolve(test_dir, branch_dependency)
         self.fail("We shouldn't make it here")
     self.assertTrue(os.path.isfile(file_path))
Пример #8
0
    def test_fail_update(self):
        # create an empty directory- and set that as the workspace
        repo_resolver.resolve(test_dir, commit_dependency)
        folder_path = os.path.join(test_dir, commit_dependency["Path"])
        details = repo_resolver.get_details(folder_path)

        self.assertEqual(details['Url'], commit_dependency['Url'])
        self.assertEqual(details['Commit'], commit_dependency['Commit'])
        # first we checkout
        with self.assertRaises(Exception):
            repo_resolver.resolve(test_dir, commit_later_dependency)

        details = repo_resolver.get_details(folder_path)
        self.assertEqual(details['Url'], commit_dependency['Url'])
        self.assertEqual(details['Commit'], commit_dependency['Commit'])
    def test_ignore(self):
        # create an empty directory- and set that as the workspace
        repo_resolver.resolve(test_dir, branch_dependency)
        folder_path = os.path.join(test_dir, branch_dependency["Path"])

        details = repo_resolver.get_details(folder_path)

        self.assertEqual(details['Url'], branch_dependency['Url'])
        # first we checkout

        repo_resolver.resolve(
            test_dir, microsoft_branch_dependency, ignore=True)

        details = repo_resolver.get_details(folder_path)
        self.assertEqual(details['Url'], branch_dependency['Url'])
    def test_will_delete_dirty_repo(self):
        repo_resolver.resolve(test_dir, commit_dependency)
        folder_path = os.path.join(test_dir, commit_dependency["Path"])
        file_path = get_first_file(folder_path)
        # make sure the file already exists
        self.assertTrue(os.path.isfile(file_path))
        out_file = open(file_path, "a+")
        out_file.write("Make sure we don't delete this")
        out_file.close()
        self.assertTrue(os.path.exists(file_path))

        try:
            repo_resolver.resolve(test_dir, commit_later_dependency, force=True)
        except:
            self.fail("We shouldn't fail when we are forcing")
    def test_will_switch_urls(self):
        # create an empty directory- and set that as the workspace
        repo_resolver.resolve(test_dir, branch_dependency)

        folder_path = os.path.join(test_dir, branch_dependency["Path"])

        details = repo_resolver.get_details(folder_path)

        self.assertEqual(details['Url'], branch_dependency['Url'])
        # first we checkout
        try:
            repo_resolver.resolve(
                test_dir, microsoft_branch_dependency, force=True)
        except:
            self.fail("We shouldn't fail when we are forcing")

        details = repo_resolver.get_details(folder_path)
        self.assertEqual(details['Url'], microsoft_branch_dependency['Url'])
    def test_does_update(self):
        # create an empty directory- and set that as the workspace
        repo_resolver.resolve(test_dir, commit_dependency)
        folder_path = os.path.join(test_dir, commit_dependency["Path"])
        details = repo_resolver.get_details(folder_path)

        self.assertEqual(details['Url'], commit_dependency['Url'])
        self.assertEqual(details['Commit'], commit_dependency['Commit'])
        # first we checkout
        try:
            repo_resolver.resolve(
                test_dir, commit_later_dependency, update_ok=True)
        except:
            self.fail("We are not supposed to throw an exception")
        details = repo_resolver.get_details(folder_path)

        self.assertEqual(details['Url'], commit_later_dependency['Url'])
        self.assertEqual(details['Commit'], commit_later_dependency['Commit'])
    def test_identical_environments(self):
        scopes = ("corebuild", "project_mu")

        mu_basecore_dependency_1 = mu_basecore_dependency.copy()
        mu_basecore_dependency_2 = mu_basecore_dependency.copy()

        basecore_1_dir = "basecore_1"
        basecore_2_dir = "basecore_2"

        mu_basecore_dependency_1["Path"] = basecore_1_dir
        mu_basecore_dependency_2["Path"] = basecore_2_dir

        repo_resolver.resolve(test_dir, mu_basecore_dependency_1)
        repo_resolver.resolve(test_dir, mu_basecore_dependency_2)

        (build_env_1,
         shell_env_1) = do_update(os.path.normpath(basecore_1_dir), scopes)
        (build_env_2,
         shell_env_2) = do_update(os.path.normpath(basecore_2_dir), scopes)

        self.assertFalse(build_env_changed(build_env_1, build_env_2))
    def test_does_update(self):
        # create an empty directory- and set that as the workspace
        logging.info(f"Resolving at {test_dir}")
        repo_resolver.resolve(test_dir, commit_dependency)
        folder_path = os.path.join(test_dir, commit_dependency["Path"])
        logging.info(f"Getting details at {folder_path}")
        details = repo_resolver.get_details(folder_path)

        self.assertEqual(details['Url'], commit_dependency['Url'])
        self.assertEqual(details['Commit'], commit_dependency['Commit'])
        # next we checkout and go to the later commit
        try:
            repo_resolver.resolve(test_dir,
                                  commit_later_dependency,
                                  update_ok=True)
        except:
            self.fail("We are not supposed to throw an exception")
        details = repo_resolver.get_details(folder_path)
        logging.info(f"Checking {folder_path} for current git commit")

        self.assertEqual(details['Url'], commit_later_dependency['Url'])
        self.assertEqual(details['Commit'], commit_later_dependency['Commit'])