diff --git a/graphtage/__main__.py b/graphtage/__main__.py index 5d5783a..8171a5e 100644 --- a/graphtage/__main__.py +++ b/graphtage/__main__.py @@ -217,7 +217,7 @@ def main(argv=None) -> int: exit(EXIT_ERROR) if args.dumpversion: - print(' '.join(map(str, version.__version__))) + print(version.VERSION_STRING) exit(0) if args.version: diff --git a/test/test_main.py b/test/test_main.py index 0072b94..398fed6 100644 --- a/test/test_main.py +++ b/test/test_main.py @@ -5,6 +5,7 @@ import tempfile import unittest +from graphtage import version from graphtage.__main__ import EXIT_DIFFERENCES_FOUND, EXIT_ERROR, EXIT_SUCCESS, main @@ -66,3 +67,12 @@ def test_json5_parse_failure_is_an_error(self): to_path = self.write('two.json5', '{a: 1,\n') status, _ = self.run_graphtage(from_path, to_path) self.assertEqual(EXIT_ERROR, status) + + def test_dumpversion_prints_a_bare_version_string(self): + """`-dumpversion` joined over the version string, so it printed `0 . 3 . 1` instead of `0.3.1`.""" + out = io.StringIO() + with contextlib.redirect_stdout(out), contextlib.redirect_stderr(io.StringIO()), \ + self.assertRaises(SystemExit) as exited: + main(['graphtage', '-dumpversion']) + self.assertEqual(EXIT_SUCCESS, exited.exception.code) + self.assertEqual(version.VERSION_STRING, out.getvalue().strip())