summaryrefslogtreecommitdiff
path: root/fastimport/tests
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@jelmer.uk>2018-04-15 13:33:37 +0100
committerJelmer Vernooij <jelmer@jelmer.uk>2018-04-15 13:33:37 +0100
commit088bc0459e50bbcb948f3317772825859347b014 (patch)
treee6184ba87d25c109e46781fdfdf6b6a1ce737ddf /fastimport/tests
parent7a12c836ba6be9c90077ab1b1f378ca2f40c26f9 (diff)
parentfd59e7d835b63d1c9181c4c84dd311d9d6da6d6b (diff)
downloadpython-fastimport-git-088bc0459e50bbcb948f3317772825859347b014.tar.gz
New upstream version 0.9.8upstream/0.9.8
Diffstat (limited to 'fastimport/tests')
-rw-r--r--fastimport/tests/__init__.py1
-rw-r--r--fastimport/tests/test_commands.py22
-rw-r--r--fastimport/tests/test_info_processor.py77
3 files changed, 99 insertions, 1 deletions
diff --git a/fastimport/tests/__init__.py b/fastimport/tests/__init__.py
index ae5acb7..01a681b 100644
--- a/fastimport/tests/__init__.py
+++ b/fastimport/tests/__init__.py
@@ -26,6 +26,7 @@ def test_suite():
'test_dates',
'test_errors',
'test_filter_processor',
+ 'test_info_processor',
'test_helpers',
'test_parser',
]
diff --git a/fastimport/tests/test_commands.py b/fastimport/tests/test_commands.py
index 16485eb..ccae34a 100644
--- a/fastimport/tests/test_commands.py
+++ b/fastimport/tests/test_commands.py
@@ -205,6 +205,27 @@ class TestCommitDisplay(TestCase):
b"property planet 5 world",
repr_bytes(c))
+ def test_commit_with_int_mark(self):
+ # user tuple is (name, email, secs-since-epoch, secs-offset-from-utc)
+ committer = (b'Joe Wong', b'joe@example.com', 1234567890, -6 * 3600)
+ properties = {
+ u'greeting': u'hello',
+ u'planet': u'world',
+ }
+ c = commands.CommitCommand(b'refs/heads/master', 123, None,
+ committer, b'release v1.0', b':aaa', None, None,
+ properties=properties)
+ self.assertEqual(
+ b"commit refs/heads/master\n"
+ b"mark :123\n"
+ b"committer Joe Wong <joe@example.com> 1234567890 -0600\n"
+ b"data 12\n"
+ b"release v1.0\n"
+ b"from :aaa\n"
+ b"property greeting 5 hello\n"
+ b"property planet 5 world",
+ repr_bytes(c))
+
class TestCommitCopy(TestCase):
def setUp(self):
@@ -227,7 +248,6 @@ class TestCommitCopy(TestCase):
def test_replace_attr(self):
c2 = self.c.copy(mark=b'ccc')
-
self.assertEqual(
repr_bytes(self.c).replace(b'mark :bbb', b'mark :ccc'),
repr_bytes(c2)
diff --git a/fastimport/tests/test_info_processor.py b/fastimport/tests/test_info_processor.py
new file mode 100644
index 0000000..6904b50
--- /dev/null
+++ b/fastimport/tests/test_info_processor.py
@@ -0,0 +1,77 @@
+# Copyright (C) 2018 Jelmer Vernooij
+#
+# 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, see <http://www.gnu.org/licenses/>.
+
+"""Test InfoProcessor"""
+from io import BytesIO
+
+try:
+ from StringIO import StringIO
+except ImportError:
+ from io import StringIO
+
+from unittest import TestCase
+
+from fastimport import (
+ parser,
+ )
+
+from fastimport.processors import (
+ info_processor,
+ )
+
+simple_fast_import_stream = b"""commit refs/heads/master
+mark :1
+committer Jelmer Vernooij <jelmer@samba.org> 1299718135 +0100
+data 7
+initial
+
+"""
+
+class TestFastImportInfo(TestCase):
+
+ def test_simple(self):
+ stream = BytesIO(simple_fast_import_stream)
+ outf = StringIO()
+ proc = info_processor.InfoProcessor(outf=outf)
+ p = parser.ImportParser(stream)
+ proc.process(p.iter_commands)
+
+ self.maxDiff = None
+ self.assertEqual(outf.getvalue(), """Command counts:
+\t0\tblob
+\t0\tcheckpoint
+\t1\tcommit
+\t0\tfeature
+\t0\tprogress
+\t0\treset
+\t0\ttag
+File command counts:
+\t0\tfilemodify
+\t0\tfiledelete
+\t0\tfilecopy
+\t0\tfilerename
+\t0\tfiledeleteall
+Parent counts:
+\t1\tparents-0
+\t0\ttotal revisions merged
+Commit analysis:
+\tno\tblobs referenced by SHA
+\tno\texecutables
+\tno\tseparate authors found
+\tno\tsymlinks
+Head analysis:
+\t:1\trefs/heads/master
+Merges:
+""")