[diffoscope] 05/05: tests: Actually compare the output of text/ReST/markdown formats to a fixture.

Chris Lamb chris at chris-lamb.co.uk
Sat Jan 21 06:11:16 CET 2017


This is an automated email from the git hooks/post-receive script.

lamby pushed a commit to branch lamby/output-formats
in repository diffoscope.

commit f31e16964058537c805f53d7431053830b77e583
Author: Chris Lamb <lamby at debian.org>
Date:   Sat Jan 21 16:07:39 2017 +1100

    tests: Actually compare the output of text/ReST/markdown formats to a fixture.
    
    Signed-off-by: Chris Lamb <lamby at debian.org>
---
 tests/data/output.md     | 38 +++++++++++++++++++++++++++++++++++
 tests/data/output.rst    | 52 ++++++++++++++++++++++++++++++++++++++++++++++++
 tests/data/output.txt    | 34 +++++++++++++++++++++++++++++++
 tests/test_presenters.py | 18 +++++++++++------
 4 files changed, 136 insertions(+), 6 deletions(-)

diff --git a/tests/data/output.md b/tests/data/output.md
new file mode 100644
index 0000000..a147d58
--- /dev/null
+++ b/tests/data/output.md
@@ -0,0 +1,38 @@
+# Comparing test1.tar & test2.tar
+
+## file list
+
+    @@ -1,4 +1,4 @@
+    -drwxr-xr-x   0 lunar     (1000) lunar     (1000)        0 2015-06-29 15:49:09.000000 dir/
+    --rw-r--r--   0 lunar     (1000) lunar     (1000)      446 2015-06-29 15:49:09.000000 dir/text
+    -crw-r--r--   0 root         (0) root         (0)    1,  3 2015-06-29 15:49:09.000000 dir/null
+    -lrwxrwxrwx   0 lunar     (1000) lunar     (1000)        0 2015-06-29 15:49:09.000000 dir/link -> broken
+    +drwxr-xr-x   0 lunar     (1000) lunar     (1000)        0 2015-06-29 15:49:41.000000 dir/
+    +-rw-r--r--   0 lunar     (1000) lunar     (1000)      671 2015-06-29 15:49:41.000000 dir/text
+    +crw-r--r--   0 root         (0) root         (0)    1,  3 2015-06-29 15:49:41.000000 dir/null
+    +lrwxrwxrwx   0 lunar     (1000) lunar     (1000)        0 2015-06-29 15:49:41.000000 dir/link -> really-broken
+
+## dir/text
+
+    @@ -1,6 +1,12 @@
+    +A common form of lorem ipsum reads:
+    +
+     Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
+     incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
+     nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+     Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
+     fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
+     culpa qui officia deserunt mollit anim id est laborum.
+    +
+    +"Lorem ipsum" text is derived from sections 1.10.32--3 of Cicero's De finibus
+    +bonorum et malorum (On the Ends of Goods and Evils, or alternatively [About]
+    +The Purposes of Good and Evil).
+
+## dir/link
+
+symlink
+
+    @@ -1 +1 @@
+    -destination: broken
+    +destination: really-broken
+
diff --git a/tests/data/output.rst b/tests/data/output.rst
new file mode 100644
index 0000000..08e60e3
--- /dev/null
+++ b/tests/data/output.rst
@@ -0,0 +1,52 @@
+===============================
+Comparing test1.tar & test2.tar
+===============================
+
+---------
+file list
+---------
+
+::
+
+    @@ -1,4 +1,4 @@
+    -drwxr-xr-x   0 lunar     (1000) lunar     (1000)        0 2015-06-29 15:49:09.000000 dir/
+    --rw-r--r--   0 lunar     (1000) lunar     (1000)      446 2015-06-29 15:49:09.000000 dir/text
+    -crw-r--r--   0 root         (0) root         (0)    1,  3 2015-06-29 15:49:09.000000 dir/null
+    -lrwxrwxrwx   0 lunar     (1000) lunar     (1000)        0 2015-06-29 15:49:09.000000 dir/link -> broken
+    +drwxr-xr-x   0 lunar     (1000) lunar     (1000)        0 2015-06-29 15:49:41.000000 dir/
+    +-rw-r--r--   0 lunar     (1000) lunar     (1000)      671 2015-06-29 15:49:41.000000 dir/text
+    +crw-r--r--   0 root         (0) root         (0)    1,  3 2015-06-29 15:49:41.000000 dir/null
+    +lrwxrwxrwx   0 lunar     (1000) lunar     (1000)        0 2015-06-29 15:49:41.000000 dir/link -> really-broken
+
+--------
+dir/text
+--------
+
+::
+
+    @@ -1,6 +1,12 @@
+    +A common form of lorem ipsum reads:
+    +
+     Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
+     incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
+     nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+     Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
+     fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
+     culpa qui officia deserunt mollit anim id est laborum.
+    +
+    +"Lorem ipsum" text is derived from sections 1.10.32--3 of Cicero's De finibus
+    +bonorum et malorum (On the Ends of Goods and Evils, or alternatively [About]
+    +The Purposes of Good and Evil).
+
+--------
+dir/link
+--------
+
+
+symlink
+::
+
+    @@ -1 +1 @@
+    -destination: broken
+    +destination: really-broken
+
diff --git a/tests/data/output.txt b/tests/data/output.txt
new file mode 100644
index 0000000..b515c2c
--- /dev/null
+++ b/tests/data/output.txt
@@ -0,0 +1,34 @@
+--- test1.tar
++++ test2.tar
+├── file list
+│ @@ -1,4 +1,4 @@
+│ -drwxr-xr-x   0 lunar     (1000) lunar     (1000)        0 2015-06-29 15:49:09.000000 dir/
+│ --rw-r--r--   0 lunar     (1000) lunar     (1000)      446 2015-06-29 15:49:09.000000 dir/text
+│ -crw-r--r--   0 root         (0) root         (0)    1,  3 2015-06-29 15:49:09.000000 dir/null
+│ -lrwxrwxrwx   0 lunar     (1000) lunar     (1000)        0 2015-06-29 15:49:09.000000 dir/link -> broken
+│ +drwxr-xr-x   0 lunar     (1000) lunar     (1000)        0 2015-06-29 15:49:41.000000 dir/
+│ +-rw-r--r--   0 lunar     (1000) lunar     (1000)      671 2015-06-29 15:49:41.000000 dir/text
+│ +crw-r--r--   0 root         (0) root         (0)    1,  3 2015-06-29 15:49:41.000000 dir/null
+│ +lrwxrwxrwx   0 lunar     (1000) lunar     (1000)        0 2015-06-29 15:49:41.000000 dir/link -> really-broken
+│ 
+├── dir/text
+│ @@ -1,6 +1,12 @@
+│ +A common form of lorem ipsum reads:
+│ +
+│  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
+│  incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
+│  nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+│  Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
+│  fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
+│  culpa qui officia deserunt mollit anim id est laborum.
+│ +
+│ +"Lorem ipsum" text is derived from sections 1.10.32--3 of Cicero's De finibus
+│ +bonorum et malorum (On the Ends of Goods and Evils, or alternatively [About]
+│ +The Purposes of Good and Evil).
+│ 
+├── dir/link
+│┄ symlink
+│ @@ -1 +1 @@
+│ -destination: broken
+│ +destination: really-broken
+│ 
diff --git a/tests/test_presenters.py b/tests/test_presenters.py
index 8dd537f..6a20ef3 100644
--- a/tests/test_presenters.py
+++ b/tests/test_presenters.py
@@ -52,29 +52,35 @@ def test_text_option_with_file(tmpdir, capsys):
     out = run(capsys, '--text', report_path)
 
     assert out == ''
+
     with open(report_path, 'r', encoding='utf-8') as f:
-        assert f.read().startswith('--- ')
+        assert f.read() == data('output.txt')
 
 def test_text_option_with_stdiout(capsys):
     out = run(capsys, '--text', '-')
 
-    assert out.startswith('--- ')
+    with open('output.txt', 'w') as f:
+        f.write(out)
+
+    assert out == data('output.txt')
 
 def test_markdown(capsys):
     out = run(capsys, '--markdown', '-')
 
-    assert out.startswith('# Comparing')
+    with open('output.md', 'w') as f:
+        f.write(out)
+
+    assert out == data('output.md')
 
 def test_restructuredtext(capsys):
     out = run(capsys, '--restructured-text', '-')
 
-    assert out.startswith('=====')
-    assert "Comparing" in out
+    assert out == data('output.rst')
 
 def test_no_report_option(capsys):
     out = run(capsys)
 
-    assert out.startswith('--- ')
+    assert out == data('output.txt')
 
 def test_html_option_with_file(tmpdir, capsys):
     report_path = str(tmpdir.join('report.html'))

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/diffoscope.git


More information about the diffoscope mailing list