Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/bindings/swig/python/tests/wc.py view on Meta::CPAN
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
#
from sys import version_info # For Python version check
if version_info[0] >= 3:
# Python >=3.0
from io import StringIO
else:
# Python <3.0
from cStringIO import StringIO
import unittest, os, tempfile, setup_path, binascii
import svn.diff
from svn import core, repos, wc, client
from svn import delta, ra
from svn.core import SubversionException, SVN_INVALID_REVNUM
import utils
class SubversionWorkingCopyTestCase(unittest.TestCase):
"""Test cases for the Subversion working copy layer"""
def setUp(self):
"""Load a Subversion repository"""
self.temper = utils.Temper()
# Isolate each test from the others with a fresh repository.
(self.repos, _, self.repos_uri) = self.temper.alloc_known_repo(
'trac/versioncontrol/tests/svnrepos.dump', suffix='-wc-repo')
self.fs = repos.fs(self.repos)
self.path = self.temper.alloc_empty_dir(suffix='-wc-wc')
client_ctx = client.create_context()
rev = core.svn_opt_revision_t()
rev.kind = core.svn_opt_revision_head
client.checkout2(self.repos_uri, self.path, rev, rev, True, True,
client_ctx)
self.wc = wc.adm_open3(None, self.path, True, -1, None)
def test_entry(self):
wc.entry(self.path, self.wc, True)
def test_lock(self):
readme_path = '%s/trunk/README.txt' % self.path
lock = core.svn_lock_create(core.Pool())
lock.token = 'http://svnbook.org/nightly/en/svn.advanced.locking.html'
wc.add_lock(readme_path, lock, self.wc)
self.assertEqual(True, wc.adm_locked(self.wc))
self.assertEqual(True, wc.locked(self.path))
wc.remove_lock(readme_path, self.wc)
def test_version(self):
wc.version()
def test_access_path(self):
self.assertEqual(self.path, wc.adm_access_path(self.wc))
def test_is_adm_dir(self):
self.assert_(wc.is_adm_dir(".svn"))
self.failIf(wc.is_adm_dir(".foosvn"))
def test_get_adm_dir(self):
self.assert_(isinstance(wc.get_adm_dir(), basestring))
def test_set_adm_dir(self):
self.assertRaises(SubversionException, wc.set_adm_dir, ".foobar")
self.assert_(wc.is_adm_dir(".svn"))
self.failIf(wc.is_adm_dir("_svn"))
self.failIf(wc.is_adm_dir(".foobar"))
wc.set_adm_dir("_svn")
self.assert_(wc.is_adm_dir("_svn"))
self.assertEqual("_svn", wc.get_adm_dir())
wc.set_adm_dir(".svn")
self.failIf(wc.is_adm_dir("_svn"))
self.assertEqual(".svn", wc.get_adm_dir())
def test_init_traversal_info(self):
wc.init_traversal_info()
def test_crawl_revisions2(self):
infos = []
set_paths = []
def notify(info, pool):
infos.append(info)
class MyReporter:
def __init__(self):
self.finished_report = False
def abort_report(self, pool):
pass
def finish_report(self, pool):
self.finished_report = True
def set_path(self, path, revision, start_empty, lock_token, pool):
set_paths.append(path)
def link_path(self, path, url, revision, start_empty, lock_token,
pool):
pass
def delete_path(self, path, pool):
pass
# Remove trunk/README.txt
readme_path = '%s/trunk/README.txt' % self.path
self.assert_(os.path.exists(readme_path))
( run in 0.727 second using v1.01-cache-2.11-cpan-39bf76dae61 )