61 lines
1.9 KiB
Python
61 lines
1.9 KiB
Python
|
|
||
|
import py
|
||
|
from py.__.misc import svnlook
|
||
|
data = py.magic.autopath().dirpath('data')
|
||
|
|
||
|
if py.path.local.sysfind('svnlook') is None or \
|
||
|
py.path.local.sysfind('svnadmin') is None:
|
||
|
py.test.skip("cannot test py.misc.svnlook, svn binaries not found")
|
||
|
|
||
|
def test_svnlook():
|
||
|
tempdir = py.test.ensuretemp("svnlook")
|
||
|
repo = tempdir.join("repo")
|
||
|
py.process.cmdexec('svnadmin create --fs-type fsfs "%s"' % repo)
|
||
|
py.process.cmdexec('svnadmin load "%s" < "%s"' %(repo,
|
||
|
data.join("svnlookrepo.dump")))
|
||
|
|
||
|
author = svnlook.author(repo, 1)
|
||
|
assert author == "hpk"
|
||
|
|
||
|
for item in svnlook.changed(repo, 1):
|
||
|
svnurl = item.svnurl()
|
||
|
assert item.revision == 1
|
||
|
assert (svnurl.strpath + "/") == "file://%s/%s" %(repo, item.path)
|
||
|
assert item.added
|
||
|
assert not item.modified
|
||
|
assert not item.propchanged
|
||
|
assert not item.deleted
|
||
|
assert item.path == "testdir/"
|
||
|
|
||
|
for item in svnlook.changed(repo, 2):
|
||
|
assert item.revision == 2
|
||
|
assert not item.added
|
||
|
assert not item.modified
|
||
|
assert item.propchanged
|
||
|
assert not item.deleted
|
||
|
assert item.path == "testdir/"
|
||
|
|
||
|
for item in svnlook.changed(repo, 3):
|
||
|
assert item.revision == 3
|
||
|
assert item.added
|
||
|
assert not item.modified
|
||
|
assert not item.propchanged
|
||
|
assert not item.deleted
|
||
|
assert item.path == "testdir2/"
|
||
|
|
||
|
for item in svnlook.changed(repo, 4):
|
||
|
assert item.revision == 4
|
||
|
assert not item.added
|
||
|
assert not item.modified
|
||
|
assert not item.propchanged
|
||
|
assert item.deleted
|
||
|
assert item.path == "testdir2/"
|
||
|
|
||
|
for item in svnlook.changed(repo, 5):
|
||
|
assert item.revision == 5
|
||
|
assert not item.added
|
||
|
assert not item.modified
|
||
|
assert item.propchanged
|
||
|
assert not item.deleted
|
||
|
assert item.path == "testdir/"
|