| Index: tests/scm_unittest.py
|
| diff --git a/tests/scm_unittest.py b/tests/scm_unittest.py
|
| index 48882f95be94a177c522f78ef6bd5c7b6ef94bac..9089bbe20bbbaa74bac8ec1a4ca9e8a899590ef9 100755
|
| --- a/tests/scm_unittest.py
|
| +++ b/tests/scm_unittest.py
|
| @@ -10,6 +10,7 @@
|
| # Fixes include path.
|
| from super_mox import SuperMoxTestBase
|
|
|
| +import fake_repos
|
| import scm
|
|
|
|
|
| @@ -240,6 +241,54 @@ class SVNTestCase(BaseSCMTestCase):
|
| self.assertEquals(info, [])
|
|
|
|
|
| +class RealSvnTest(fake_repos.FakeReposTestBase):
|
| + # Tests that work with a checkout.
|
| + def setUp(self):
|
| + super(RealSvnTest, self).setUp()
|
| + self.FAKE_REPOS.setUpSVN()
|
| + self.svn_root = scm.os.path.join(self.root_dir, 'base')
|
| + scm.SVN.Capture(
|
| + ['checkout', self.svn_base + 'trunk/third_party', 'base'],
|
| + cwd=self.root_dir)
|
| + self.tree = self.mangle_svn_tree(('trunk/third_party@-1', ''),)
|
| +
|
| + def _capture(self, cmd, **kwargs):
|
| + kwargs.setdefault('cwd', self.svn_root)
|
| + return scm.SVN.Capture(cmd, **kwargs)
|
| +
|
| + def testCheckout(self):
|
| + # Checkout and verify the tree.
|
| + self.assertTree(self.tree, self.svn_root)
|
| +
|
| + def testRevert(self):
|
| + # Mess around and make sure revert works for all corner cases.
|
| + # - svn add a file
|
| + # - svn add a file and delete it
|
| + # - Delete a file
|
| + # - svn delete a file
|
| + # - svn move a directory and svn rename files in it
|
| + self._capture(['move', 'foo', 'foo2'])
|
| + self._capture(
|
| + ['move',
|
| + scm.os.path.join('foo2', 'origin'),
|
| + scm.os.path.join('foo2', 'o')])
|
| + scm.os.remove(scm.os.path.join(self.svn_root, 'origin'))
|
| + self._capture(
|
| + ['propset', 'foo', 'bar',
|
| + scm.os.path.join(self.svn_root, 'prout', 'origin')])
|
| + fake_repos.rmtree(scm.os.path.join(self.svn_root, 'prout'))
|
| + with open(scm.os.path.join(self.svn_root, 'faa'), 'w') as f:
|
| + f.write('eh')
|
| + with open(scm.os.path.join(self.svn_root, 'faala'), 'w') as f:
|
| + f.write('oh')
|
| + self._capture(['add', scm.os.path.join(self.svn_root, 'faala')])
|
| +
|
| + scm.SVN.Revert(self.svn_root)
|
| + self._capture(['update', '--revision', 'base'])
|
| +
|
| + self.assertTree(self.tree, self.svn_root)
|
| +
|
| +
|
| if __name__ == '__main__':
|
| import unittest
|
| unittest.main()
|
|
|