Rev 21: Split out tests into a separate directory. in file:///home/jelmer/bzr-hg/jelmer/
Jelmer Vernooij
jelmer at samba.org
Sat Jan 20 19:17:49 GMT 2007
------------------------------------------------------------
revno: 21
revision-id: jelmer at samba.org-20070120191742-xm99e2qmvi3q7tqd
parent: jelmer at samba.org-20070120190039-9lqukuvyl3oezgkc
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: jelmer
timestamp: Sat 2007-01-20 20:17:42 +0100
message:
Split out tests into a separate directory.
added:
tests/ tests-20070120191321-phuh769albgyal03-1
tests/__init__.py __init__.py-20070120191321-phuh769albgyal03-2
tests/test_pull.py test_pull.py-20070120191448-3e014gbhfpyq9d82-1
modified:
__init__.py __init__.py-20060531211707-2fy7rwqqcmfgf8ve-1
=== added directory 'tests'
=== added file 'tests/__init__.py'
--- a/tests/__init__.py 1970-01-01 00:00:00 +0000
+++ b/tests/__init__.py 2007-01-20 19:17:42 +0000
@@ -0,0 +1,30 @@
+# Copyright (C) 2006 Jelmer Vernooij <jelmer at samba.org>
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+def test_suite():
+ from unittest import TestSuite, TestLoader
+
+ from bzrlib.tests import TestUtil
+
+ loader = TestUtil.TestLoader()
+
+ suite = TestSuite()
+
+ testmod_names = ['test_pull']
+
+ suite.addTest(loader.loadTestsFromModuleNames(["%s.%s" % (__name__, i) for i in testmod_names]))
+
+ return suite
=== added file 'tests/test_pull.py'
--- a/tests/test_pull.py 1970-01-01 00:00:00 +0000
+++ b/tests/test_pull.py 2007-01-20 19:17:42 +0000
@@ -0,0 +1,132 @@
+# Copyright (C) 2005, 2006 Canonical Ltd
+# Copyright (C) 2006 Jelmer Vernooij <jelmer at samba.org>
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+from bzrlib.tests import TestCaseWithTransport
+
+class TestPulling(TestCaseWithTransport):
+ """Tests for pulling from hg to bzr."""
+
+ def setUp(self):
+ super(TestPulling, self).setUp()
+ self.build_tree(['hg/', 'hg/a', 'hg/b', 'hg/dir/', 'hg/dir/c'])
+ hgdir = HgBzrDirFormat().initialize('hg')
+ self.tree = hgdir.open_workingtree()
+ mode = os.lstat('hg/b').st_mode
+ os.chmod('hg/b', mode | stat.S_IEXEC)
+ # do not add 'dir' to ensure that we pickup dir/c anyway : if hg
+ # changes it behaviour, we want this test to start failing.
+ self.tree.add(['a', 'b', 'dir/c'])
+ self.tree.commit('foo')
+ revone_inventory = Inventory()
+ tip = self.tree.last_revision()
+ entry = revone_inventory.add_path('a', kind='file', file_id='hg:a')
+ entry.revision = tip
+ entry.text_size = len('contents of hg/a\n')
+ entry.text_sha1 = "72bcea9d6cba6ee7d3241bfa0c5e54506ad81a94"
+ entry = revone_inventory.add_path('b', kind='file', file_id='hg:b')
+ entry.executable = True
+ entry.revision = tip
+ entry.text_size = len('contents of hg/b\n')
+ entry.text_sha1 = "b4d0c22d126cd0afeeeffa62961fb47c0932835a"
+ entry = revone_inventory.add_path('dir', kind='directory',
+ file_id='hg:dir')
+ entry.revision = tip
+ entry = revone_inventory.add_path('dir/c', kind='file',
+ file_id='hg:dir:c')
+ entry.revision = tip
+ entry.text_size = len('contents of hg/dir/c\n')
+ entry.text_sha1 = "958be752affac0fee70471331b96fb3fc1809425"
+ self.revone_inventory = revone_inventory
+ self.revidone = tip
+ #====== end revision one
+ self.build_tree(['hg/dir/d'])
+ self.tree.add(['dir/d'])
+ self.tree.commit('bar')
+ self.revtwo_inventory = copy.deepcopy(revone_inventory)
+ tip = self.tree.last_revision()
+ entry = self.revtwo_inventory.add_path('dir/d', kind='file',
+ file_id='hg:dir:d')
+ entry.revision = tip
+ entry.text_size = len('contents of hg/dir/d\n')
+ entry.text_sha1 = "f48fc342f707bfb4711790e1813c0df4d44e1a23"
+ self.revidtwo = tip
+ #====== end revision two
+ # in revision three, we reset the exec flag on 'b'
+ os.chmod('hg/b', mode)
+ self.tree.commit('reset mode on b')
+ self.revthree_inventory = copy.deepcopy(self.revtwo_inventory)
+ tip = self.tree.last_revision()
+ # should be a new file revision with exec reset
+ entry = self.revthree_inventory['hg:b']
+ entry.revision = tip
+ entry.executable = False
+ self.revidthree = tip
+
+ def test_inventory_from_manifest(self):
+ repo = self.tree.branch.repository
+ left = self.revone_inventory
+ right = repo.get_inventory(self.revidone)
+ self.assertEqual(left._byid, right._byid)
+ left = self.revtwo_inventory
+ right = repo.get_inventory(self.revidtwo)
+ self.assertEqual(left._byid, right._byid)
+ left = self.revthree_inventory
+ right = repo.get_inventory(self.revidthree)
+ self.assertEqual(left._byid, right._byid)
+
+ def test_initial_revision_from_changelog(self):
+ converted_rev = self.tree.branch.repository.get_revision(self.revidone)
+ self.assertEqual([], converted_rev.parent_ids)
+ self.assertEqual({}, converted_rev.properties)
+ self.assertEqual('foo', converted_rev.message)
+ self.assertEqual(self.revidone, converted_rev.revision_id)
+ # we dont have a serialised inventory to convert, and the inv sha1 is
+ # of reducing meaning now.
+ self.assertEqual("", converted_rev.inventory_sha1)
+ self.assertNotEqual(None, converted_rev.timestamp)
+ self.assertNotEqual(None, converted_rev.timezone)
+ self.assertNotEqual(None, converted_rev.committer)
+
+ def test_non_initial_revision_from_changelog(self):
+ converted_rev = self.tree.branch.repository.get_revision(self.revidtwo)
+ self.assertEqual([self.revidone], converted_rev.parent_ids)
+ self.assertEqual({}, converted_rev.properties)
+ self.assertEqual('bar', converted_rev.message)
+ self.assertEqual(self.revidtwo, converted_rev.revision_id)
+ # we dont have a serialised inventory to convert, and the inv sha1 is
+ # of reducing meaning now.
+ self.assertEqual("", converted_rev.inventory_sha1)
+ self.assertNotEqual(None, converted_rev.timestamp)
+ self.assertNotEqual(None, converted_rev.timezone)
+ self.assertNotEqual(None, converted_rev.committer)
+
+ def test_get_config_nickname(self):
+ # the branch nickname should be hg because the test dir is called hg.
+ self.assertEqual("hg", self.tree.branch.get_config().get_nickname())
+
+ def test_has_revision(self):
+ self.assertTrue(self.tree.branch.repository.has_revision(self.revidone))
+ self.assertTrue(self.tree.branch.repository.has_revision(self.revidtwo))
+ self.assertFalse(self.tree.branch.repository.has_revision('foo'))
+
+ def test_pull_into_bzr(self):
+ bzrtree = self.make_branch_and_tree('bzr')
+ bzrtree.pull(self.tree.branch)
+ self.assertFileEqual('contents of hg/a\n', 'bzr/a')
+ self.assertFileEqual('contents of hg/b\n', 'bzr/b')
+ self.assertFileEqual('contents of hg/dir/c\n', 'bzr/dir/c')
+
=== modified file '__init__.py'
--- a/__init__.py 2007-01-20 19:00:39 +0000
+++ b/__init__.py 2007-01-20 19:17:42 +0000
@@ -46,7 +46,6 @@
from bzrlib.osutils import basename, split_lines, sha_strings
import bzrlib.repository
from bzrlib.revision import Revision
-from bzrlib.tests import TestLoader, TestCaseWithTransport
from bzrlib.transport.local import LocalTransport
from bzrlib.tsort import topo_sort
import bzrlib.workingtree
@@ -725,122 +724,14 @@
bzrlib.repository.InterRepository.register_optimiser(FromHgRepository)
def test_suite():
- return TestLoader().loadTestsFromName(__name__)
-
-
-class TestPulling(TestCaseWithTransport):
- """Tests for pulling from hg to bzr."""
-
- def setUp(self):
- super(TestPulling, self).setUp()
- self.build_tree(['hg/', 'hg/a', 'hg/b', 'hg/dir/', 'hg/dir/c'])
- hgdir = HgBzrDirFormat().initialize('hg')
- self.tree = hgdir.open_workingtree()
- mode = os.lstat('hg/b').st_mode
- os.chmod('hg/b', mode | stat.S_IEXEC)
- # do not add 'dir' to ensure that we pickup dir/c anyway : if hg
- # changes it behaviour, we want this test to start failing.
- self.tree.add(['a', 'b', 'dir/c'])
- self.tree.commit('foo')
- revone_inventory = Inventory()
- tip = self.tree.last_revision()
- entry = revone_inventory.add_path('a', kind='file', file_id='hg:a')
- entry.revision = tip
- entry.text_size = len('contents of hg/a\n')
- entry.text_sha1 = "72bcea9d6cba6ee7d3241bfa0c5e54506ad81a94"
- entry = revone_inventory.add_path('b', kind='file', file_id='hg:b')
- entry.executable = True
- entry.revision = tip
- entry.text_size = len('contents of hg/b\n')
- entry.text_sha1 = "b4d0c22d126cd0afeeeffa62961fb47c0932835a"
- entry = revone_inventory.add_path('dir', kind='directory',
- file_id='hg:dir')
- entry.revision = tip
- entry = revone_inventory.add_path('dir/c', kind='file',
- file_id='hg:dir:c')
- entry.revision = tip
- entry.text_size = len('contents of hg/dir/c\n')
- entry.text_sha1 = "958be752affac0fee70471331b96fb3fc1809425"
- self.revone_inventory = revone_inventory
- self.revidone = tip
- #====== end revision one
- self.build_tree(['hg/dir/d'])
- self.tree.add(['dir/d'])
- self.tree.commit('bar')
- self.revtwo_inventory = copy.deepcopy(revone_inventory)
- tip = self.tree.last_revision()
- entry = self.revtwo_inventory.add_path('dir/d', kind='file',
- file_id='hg:dir:d')
- entry.revision = tip
- entry.text_size = len('contents of hg/dir/d\n')
- entry.text_sha1 = "f48fc342f707bfb4711790e1813c0df4d44e1a23"
- self.revidtwo = tip
- #====== end revision two
- # in revision three, we reset the exec flag on 'b'
- os.chmod('hg/b', mode)
- self.tree.commit('reset mode on b')
- self.revthree_inventory = copy.deepcopy(self.revtwo_inventory)
- tip = self.tree.last_revision()
- # should be a new file revision with exec reset
- entry = self.revthree_inventory['hg:b']
- entry.revision = tip
- entry.executable = False
- self.revidthree = tip
-
- def test_inventory_from_manifest(self):
- repo = self.tree.branch.repository
- left = self.revone_inventory
- right = repo.get_inventory(self.revidone)
- self.assertEqual(left._byid, right._byid)
- left = self.revtwo_inventory
- right = repo.get_inventory(self.revidtwo)
- self.assertEqual(left._byid, right._byid)
- left = self.revthree_inventory
- right = repo.get_inventory(self.revidthree)
- self.assertEqual(left._byid, right._byid)
-
- def test_initial_revision_from_changelog(self):
- converted_rev = self.tree.branch.repository.get_revision(self.revidone)
- self.assertEqual([], converted_rev.parent_ids)
- self.assertEqual({}, converted_rev.properties)
- self.assertEqual('foo', converted_rev.message)
- self.assertEqual(self.revidone, converted_rev.revision_id)
- # we dont have a serialised inventory to convert, and the inv sha1 is
- # of reducing meaning now.
- self.assertEqual("", converted_rev.inventory_sha1)
- self.assertNotEqual(None, converted_rev.timestamp)
- self.assertNotEqual(None, converted_rev.timezone)
- self.assertNotEqual(None, converted_rev.committer)
-
- def test_non_initial_revision_from_changelog(self):
- converted_rev = self.tree.branch.repository.get_revision(self.revidtwo)
- self.assertEqual([self.revidone], converted_rev.parent_ids)
- self.assertEqual({}, converted_rev.properties)
- self.assertEqual('bar', converted_rev.message)
- self.assertEqual(self.revidtwo, converted_rev.revision_id)
- # we dont have a serialised inventory to convert, and the inv sha1 is
- # of reducing meaning now.
- self.assertEqual("", converted_rev.inventory_sha1)
- self.assertNotEqual(None, converted_rev.timestamp)
- self.assertNotEqual(None, converted_rev.timezone)
- self.assertNotEqual(None, converted_rev.committer)
-
- def test_get_config_nickname(self):
- # the branch nickname should be hg because the test dir is called hg.
- self.assertEqual("hg", self.tree.branch.get_config().get_nickname())
-
- def test_has_revision(self):
- self.assertTrue(self.tree.branch.repository.has_revision(self.revidone))
- self.assertTrue(self.tree.branch.repository.has_revision(self.revidtwo))
- self.assertFalse(self.tree.branch.repository.has_revision('foo'))
-
- def test_pull_into_bzr(self):
- bzrtree = self.make_branch_and_tree('bzr')
- bzrtree.pull(self.tree.branch)
- self.assertFileEqual('contents of hg/a\n', 'bzr/a')
- self.assertFileEqual('contents of hg/b\n', 'bzr/b')
- self.assertFileEqual('contents of hg/dir/c\n', 'bzr/dir/c')
-
+ from unittest import TestSuite, TestLoader
+ import tests
+
+ suite = TestSuite()
+
+ suite.addTest(tests.test_suite())
+
+ return suite
# TODO: test that a last-modified in a merged branch is correctly assigned
# TODO: test that we set the per file parents right: that is the rev of the
More information about the bazaar-commits
mailing list