1
2
3
4 from common import unittest
5
6 import os
7 import commands
8 import tempfile
9
10 from moap.vcs import cvs
11
13 if os.system('cvs --version > /dev/null 2>&1') != 0:
14 skip = "No 'cvs' binary, skipping test."
15
17 self.repository = tempfile.mkdtemp(prefix="moap.test.")
18 os.system('cvs -d %s init' % self.repository)
19 self.checkout = tempfile.mkdtemp(prefix="moap.test.")
20 cmd = 'cvs -d %s co -d %s .' % (self.repository, self.checkout)
21 (status, output) = commands.getstatusoutput(cmd)
22 self.failIf(status, output)
23
25 os.system('rm -rf %s' % self.checkout)
26 os.system('rm -rf %s' % self.repository)
27
30
31 self.failIf(cvs.detect(self.repository))
32
34
35 self.failUnless(cvs.detect(self.checkout))
36
38
39 checkout = tempfile.mkdtemp(prefix="moap.test.")
40 os.mkdir(os.path.join(checkout, '.cvs'))
41 self.failIf(cvs.detect(checkout))
42 os.system('rm -rf %s' % checkout)
43
46 v = cvs.VCSClass(self.checkout)
47 self.failUnless(v)
48
49 paths = ['test/test1.py', 'test/test2.py', 'test/test3/test4.py',
50 'test5.py', 'test6/', 'test/test7/']
51 tree = v.createTree(paths)
52 keys = tree.keys()
53 keys.sort()
54 self.assertEquals(keys, ['', 'test', 'test/test3'])
55 self.failUnless('test1.py' in tree['test'])
56 self.failUnless('test2.py' in tree['test'])
57 self.failUnless('test7' in tree['test'])
58 self.failUnless('test4.py' in tree['test/test3'])
59 self.failUnless('test5.py' in tree[''], tree[''])
60 self.failUnless('test6' in tree[''], tree[''])
61
64 v = cvs.VCSClass(self.checkout)
65 self.failUnless(v)
66
67 self.assertEquals(v.getNotIgnored(), [])
68
69 path = os.path.join(self.checkout, 'test')
70 handle = open(path, 'w')
71 handle.write('test')
72 handle.close()
73
74 self.assertEquals(v.getNotIgnored(), ['test'])
75
76 v.ignore([path, ])
77
78 self.assertEquals(v.getNotIgnored(), [])
79
82 v = cvs.VCSClass(self.checkout)
83 self.failUnless(v)
84
85 self.assertEquals(v.diff(self.checkout), "")
86