Beispiel #1
0
 def run(self, *args, **kwargs):
     try:
         setattr(SVN, '_version', Version("1.5"))
         self.assertTrue(SVN().version < SVN.API_CHANGE_VERSION)
         super(SVNToolTestsBasicOldVersion, self).run(*args, **kwargs)
     finally:
         delattr(SVN, '_version')
         assert SVN().version == SVN.get_version(), \
             "{} != {}".format(SVN().version, SVN.get_version())
Beispiel #2
0
def create_local_svn_checkout(files, repo_url, rel_project_path=None,
                              commit_msg='default commit message', delete_checkout=True,
                              folder=None):
    tmp_dir = folder or temp_folder()
    try:
        rel_project_path = rel_project_path or str(uuid.uuid4())
        # Do not use SVN class as it is what we will be testing
        subprocess.check_output('svn co "{url}" "{path}"'.format(url=repo_url,
                                                                 path=tmp_dir),
                                shell=True)
        tmp_project_dir = os.path.join(tmp_dir, rel_project_path)
        mkdir(tmp_project_dir)
        save_files(tmp_project_dir, files)
        with chdir(tmp_project_dir):
            subprocess.check_output("svn add .", shell=True)
            subprocess.check_output('svn commit -m "{}"'.format(commit_msg), shell=True)
            if SVN.get_version() >= SVN.API_CHANGE_VERSION:
                rev = check_output_runner("svn info --show-item revision").strip()
            else:
                import xml.etree.ElementTree as ET
                output = check_output_runner("svn info --xml").strip()
                root = ET.fromstring(output)
                rev = root.findall("./entry")[0].get("revision")
        project_url = repo_url + "/" + quote(rel_project_path.replace("\\", "/"))
        return project_url, rev
    finally:
        if delete_checkout:
            shutil.rmtree(tmp_dir, ignore_errors=False, onerror=try_remove_readonly)
Beispiel #3
0
    def test_version(self, mocked_open):
        svn_version_string = """svn, version 1.10.3 (r1842928)
compiled Apr  5 2019, 18:59:58 on x86_64-apple-darwin17.0.0"""
        mocked_open.return_value.communicate.return_value = (
            svn_version_string.encode(), None)
        version = SVN.get_version()
        self.assertEqual(version, "1.10.3")
Beispiel #4
0
 def test_version_invalid(self, mocked_open):
     mocked_open.return_value.communicate.return_value = ('failed'.encode(),
                                                          None)
     with self.assertRaises(ConanException):
         SVN.get_version()
Beispiel #5
0
 def setUp(self):
     unittest.skipUnless(SVN.get_version() >= SVN.API_CHANGE_VERSION,
                         "SVN::is_pristine not implemented")