Package moap :: Package test :: Module test_vcs_cvs
[hide private]
[frames] | no frames]

Source Code for Module moap.test.test_vcs_cvs

 1  # -*- Mode: Python; test-case-name: moap.test.test_vcs_cvs -*- 
 2  # vi:si:et:sw=4:sts=4:ts=4 
 3   
 4  from common import unittest 
 5   
 6  import os 
 7  import commands 
 8  import tempfile 
 9   
10  from moap.vcs import cvs 
11   
12 -class CVSTestCase(unittest.TestCase):
13 if os.system('cvs --version > /dev/null 2>&1') != 0: 14 skip = "No 'cvs' binary, skipping test." 15
16 - def setUp(self):
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
24 - def tearDown(self):
25 os.system('rm -rf %s' % self.checkout) 26 os.system('rm -rf %s' % self.repository)
27
28 -class TestDetect(CVSTestCase):
29 - def testDetectRepository(self):
30 # should fail 31 self.failIf(cvs.detect(self.repository))
32
33 - def testDetectCheckout(self):
34 # should succeed 35 self.failUnless(cvs.detect(self.checkout))
36
37 - def testHalfCheckout(self):
38 # should fail 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
44 -class TestTree(CVSTestCase):
45 - def testCVS(self):
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
62 -class TestIgnore(CVSTestCase):
63 - def testGetUnignored(self):
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
80 -class TestDiff(CVSTestCase):
81 - def testDiff(self):
82 v = cvs.VCSClass(self.checkout) 83 self.failUnless(v) 84 85 self.assertEquals(v.diff(self.checkout), "")
86