Issue #28532: Show sys.version when -V option is supplied twice

This commit is contained in:
INADA Naoki 2016-11-21 20:58:10 +09:00
commit 7fc69f2373
5 changed files with 13 additions and 4 deletions

View File

@ -180,7 +180,12 @@ Generic options
Print the Python version number and exit. Example output could be::
Python 3.0
Python 3.6.0b2+
When given twice, print more information about the build, like::
Python 3.6.0b2+ (3.6:84a3c5003510+, Oct 26 2016, 02:33:55)
[GCC 6.2.0 20161005]
.. _using-on-misc-options:

View File

@ -43,7 +43,7 @@ class CmdLineTest(unittest.TestCase):
def test_version(self):
version = ('Python %d.%d' % sys.version_info[:2]).encode("ascii")
for switch in '-V', '--version':
for switch in '-V', '--version', '-VV':
rc, out, err = assert_python_ok(switch)
self.assertFalse(err.startswith(version))
self.assertTrue(out.startswith(version))

View File

@ -10,6 +10,8 @@ What's New in Python 3.7.0 alpha 1
Core and Builtins
-----------------
- Issue #28532: Show sys.version when -V option is supplied twice.
- Issue #28746: Fix the set_inheritable() file descriptor method on platforms
that do not have the ioctl FIOCLEX and FIONCLEX commands.

View File

@ -194,7 +194,8 @@ searching for a module. Also provides information on module cleanup
at exit.
.TP
.B \-V ", " \-\-version
Prints the Python version number of the executable and exits.
Prints the Python version number of the executable and exits. When given
twice, print more information about the build.
.TP
.BI "\-W " argument
Warning control. Python sometimes prints warning message to

View File

@ -74,6 +74,7 @@ static const char usage_3[] = "\
-v : verbose (trace import statements); also PYTHONVERBOSE=x\n\
can be supplied multiple times to increase verbosity\n\
-V : print the Python version number and exit (also --version)\n\
when given twice, print more information about the build\n\
-W arg : warning control; arg is action:message:category:module:lineno\n\
also PYTHONWARNINGS=arg\n\
-x : skip first line of source, allowing use of non-Unix forms of #!cmd\n\
@ -512,7 +513,7 @@ Py_Main(int argc, wchar_t **argv)
return usage(0, argv[0]);
if (version) {
printf("Python %s\n", PY_VERSION);
printf("Python %s\n", version >= 2 ? Py_GetVersion() : PY_VERSION);
return 0;
}