From 694c57de2e2fa5596d87405364faaa89caa93c42 Mon Sep 17 00:00:00 2001 From: Adrian Likins Date: Fri, 3 Mar 2017 16:41:54 -0500 Subject: [PATCH] add python version info to --version (#22089) * add python info to ansible --version * Add unit tests for cli.CLI.version --- lib/ansible/cli/__init__.py | 1 + test/units/cli/test_cli.py | 41 +++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 test/units/cli/test_cli.py diff --git a/lib/ansible/cli/__init__.py b/lib/ansible/cli/__init__.py index d4585def519..7b50e9bbbbe 100644 --- a/lib/ansible/cli/__init__.py +++ b/lib/ansible/cli/__init__.py @@ -476,6 +476,7 @@ class CLI(with_metaclass(ABCMeta, object)): else: cpath = C.DEFAULT_MODULE_PATH result = result + "\n configured module search path = %s" % cpath + result = result + "\n python version = %s" % ''.join(sys.version.splitlines()) return result @staticmethod diff --git a/test/units/cli/test_cli.py b/test/units/cli/test_cli.py new file mode 100644 index 00000000000..69e929b61b4 --- /dev/null +++ b/test/units/cli/test_cli.py @@ -0,0 +1,41 @@ +# (c) 2017, Adrian Likins +# +# This file is part of Ansible +# +# Ansible 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 3 of the License, or +# (at your option) any later version. +# +# Ansible 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 Ansible. If not, see . + +# Make coding more python3-ish +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +from ansible.compat.tests import unittest + +from ansible.release import __version__ +from ansible import cli + + +class TestCliVersion(unittest.TestCase): + + def test_version(self): + ver = cli.CLI.version('ansible-cli-test') + self.assertIn('ansible-cli-test', ver) + self.assertIn('python version', ver) + + def test_version_info(self): + version_info = cli.CLI.version_info() + self.assertEqual(version_info['string'], __version__) + + def test_version_info_gitinfo(self): + version_info = cli.CLI.version_info(gitinfo=True) + self.assertIn('python version', version_info['string'])