diff options
author | Jelmer Vernooij <jelmer@jelmer.uk> | 2018-04-15 13:33:37 +0100 |
---|---|---|
committer | Jelmer Vernooij <jelmer@jelmer.uk> | 2018-04-15 13:33:37 +0100 |
commit | 088bc0459e50bbcb948f3317772825859347b014 (patch) | |
tree | e6184ba87d25c109e46781fdfdf6b6a1ce737ddf /fastimport/tests | |
parent | 7a12c836ba6be9c90077ab1b1f378ca2f40c26f9 (diff) | |
parent | fd59e7d835b63d1c9181c4c84dd311d9d6da6d6b (diff) | |
download | python-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__.py | 1 | ||||
-rw-r--r-- | fastimport/tests/test_commands.py | 22 | ||||
-rw-r--r-- | fastimport/tests/test_info_processor.py | 77 |
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: +""") |