diff --git a/Lib/difflib.py b/Lib/difflib.py index fe94cc47ab5..f0bfcc50702 100644 --- a/Lib/difflib.py +++ b/Lib/difflib.py @@ -1,5 +1,3 @@ -#! /usr/bin/env python3 - """ Module difflib -- helpers for computing deltas between objects. diff --git a/Lib/http/cookies.py b/Lib/http/cookies.py index dc3c74a8db2..24da5f490c2 100644 --- a/Lib/http/cookies.py +++ b/Lib/http/cookies.py @@ -1,6 +1,3 @@ -#!/usr/bin/env python3 -# - #### # Copyright 2000 by Timothy O'Malley # diff --git a/Lib/lib2to3/tests/data/different_encoding.py b/Lib/lib2to3/tests/data/different_encoding.py old mode 100644 new mode 100755 diff --git a/Lib/lib2to3/tests/data/false_encoding.py b/Lib/lib2to3/tests/data/false_encoding.py old mode 100644 new mode 100755 diff --git a/Lib/mailbox.py b/Lib/mailbox.py index d59dae85cdf..3b64c2ed0da 100644 --- a/Lib/mailbox.py +++ b/Lib/mailbox.py @@ -1,5 +1,3 @@ -#! /usr/bin/env python3 - """Read/write support for Maildir, mbox, MH, Babyl, and MMDF mailboxes.""" # Notes for authors of new mailbox subclasses: diff --git a/Lib/smtplib.py b/Lib/smtplib.py old mode 100644 new mode 100755 diff --git a/Lib/tarfile.py b/Lib/tarfile.py old mode 100644 new mode 100755 diff --git a/Lib/test/crashers/recursive_call.py b/Lib/test/crashers/recursive_call.py old mode 100644 new mode 100755 diff --git a/Lib/test/curses_tests.py b/Lib/test/curses_tests.py old mode 100644 new mode 100755 diff --git a/Lib/test/multibytecodec_support.py b/Lib/test/multibytecodec_support.py index 24003239675..14fea3ef7d3 100644 --- a/Lib/test/multibytecodec_support.py +++ b/Lib/test/multibytecodec_support.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # # multibytecodec_support.py # Common Unittest Routines for CJK codecs diff --git a/Lib/test/test___future__.py b/Lib/test/test___future__.py index 9ae4ce40ad4..6f73c7fddfd 100644 --- a/Lib/test/test___future__.py +++ b/Lib/test/test___future__.py @@ -1,4 +1,3 @@ -#! /usr/bin/env python3 import unittest from test import support import __future__ diff --git a/Lib/test/test_array.py b/Lib/test/test_array.py old mode 100755 new mode 100644 index e1362b20e5a..d68284f9195 --- a/Lib/test/test_array.py +++ b/Lib/test/test_array.py @@ -1,4 +1,3 @@ -#! /usr/bin/env python3 """Test the arraymodule. Roger E. Masse """ diff --git a/Lib/test/test_binhex.py b/Lib/test/test_binhex.py old mode 100755 new mode 100644 index a807bca6393..9d4c85afaa6 --- a/Lib/test/test_binhex.py +++ b/Lib/test/test_binhex.py @@ -1,4 +1,3 @@ -#! /usr/bin/env python3 """Test script for the binhex C module Uses the mechanism of the python binhex module diff --git a/Lib/test/test_bz2.py b/Lib/test/test_bz2.py index 961053d0296..c8c93513d89 100644 --- a/Lib/test/test_bz2.py +++ b/Lib/test/test_bz2.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 from test import support from test.support import TESTFN, bigmemtest, _4G diff --git a/Lib/test/test_cmd.py b/Lib/test/test_cmd.py index 66185358237..e9a0211682a 100644 --- a/Lib/test/test_cmd.py +++ b/Lib/test/test_cmd.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 """ Test script for the 'cmd' module Original by Michael Schneider diff --git a/Lib/test/test_codecencodings_cn.py b/Lib/test/test_codecencodings_cn.py index b08c5fcb1a7..60e69eb7626 100644 --- a/Lib/test/test_codecencodings_cn.py +++ b/Lib/test/test_codecencodings_cn.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # # test_codecencodings_cn.py # Codec encoding tests for PRC encodings. diff --git a/Lib/test/test_codecencodings_hk.py b/Lib/test/test_codecencodings_hk.py index 31363f4bea8..25c05b6048f 100644 --- a/Lib/test/test_codecencodings_hk.py +++ b/Lib/test/test_codecencodings_hk.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # # test_codecencodings_hk.py # Codec encoding tests for HongKong encodings. diff --git a/Lib/test/test_codecencodings_iso2022.py b/Lib/test/test_codecencodings_iso2022.py index e4b2f306d5d..87768646fe4 100644 --- a/Lib/test/test_codecencodings_iso2022.py +++ b/Lib/test/test_codecencodings_iso2022.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python -# # Codec encoding tests for ISO 2022 encodings. from test import support diff --git a/Lib/test/test_codecencodings_jp.py b/Lib/test/test_codecencodings_jp.py index 30c9e195f31..4091948b9b8 100644 --- a/Lib/test/test_codecencodings_jp.py +++ b/Lib/test/test_codecencodings_jp.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # # test_codecencodings_jp.py # Codec encoding tests for Japanese encodings. diff --git a/Lib/test/test_codecencodings_kr.py b/Lib/test/test_codecencodings_kr.py index 4dd60499c87..cd7696acaa3 100644 --- a/Lib/test/test_codecencodings_kr.py +++ b/Lib/test/test_codecencodings_kr.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # # test_codecencodings_kr.py # Codec encoding tests for ROK encodings. diff --git a/Lib/test/test_codecencodings_tw.py b/Lib/test/test_codecencodings_tw.py index 96245b74ed3..ea6e1c16239 100644 --- a/Lib/test/test_codecencodings_tw.py +++ b/Lib/test/test_codecencodings_tw.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # # test_codecencodings_tw.py # Codec encoding tests for ROC encodings. diff --git a/Lib/test/test_codecmaps_cn.py b/Lib/test/test_codecmaps_cn.py index 1a761cffc76..76632a24352 100644 --- a/Lib/test/test_codecmaps_cn.py +++ b/Lib/test/test_codecmaps_cn.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # # test_codecmaps_cn.py # Codec mapping tests for PRC encodings diff --git a/Lib/test/test_codecmaps_hk.py b/Lib/test/test_codecmaps_hk.py index 5f4e7c7e020..278ae2ffeb3 100644 --- a/Lib/test/test_codecmaps_hk.py +++ b/Lib/test/test_codecmaps_hk.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # # test_codecmaps_hk.py # Codec mapping tests for HongKong encodings diff --git a/Lib/test/test_codecmaps_jp.py b/Lib/test/test_codecmaps_jp.py index 1fdbf634e3a..fa93f12f5a3 100644 --- a/Lib/test/test_codecmaps_jp.py +++ b/Lib/test/test_codecmaps_jp.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # # test_codecmaps_jp.py # Codec mapping tests for Japanese encodings diff --git a/Lib/test/test_codecmaps_kr.py b/Lib/test/test_codecmaps_kr.py index 03564025ed2..e0bf7169948 100644 --- a/Lib/test/test_codecmaps_kr.py +++ b/Lib/test/test_codecmaps_kr.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # # test_codecmaps_kr.py # Codec mapping tests for ROK encodings diff --git a/Lib/test/test_codecmaps_tw.py b/Lib/test/test_codecmaps_tw.py index 44467e378a7..4d270804f09 100644 --- a/Lib/test/test_codecmaps_tw.py +++ b/Lib/test/test_codecmaps_tw.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # # test_codecmaps_tw.py # Codec mapping tests for ROC encodings diff --git a/Lib/test/test_dbm.py b/Lib/test/test_dbm.py index 243a0af1031..d11d924b308 100644 --- a/Lib/test/test_dbm.py +++ b/Lib/test/test_dbm.py @@ -1,4 +1,3 @@ -#! /usr/bin/env python3 """Test script for the dbm.open function based on testdumbdbm.py""" import os diff --git a/Lib/test/test_dbm_dumb.py b/Lib/test/test_dbm_dumb.py index 208bc4c3823..4f03ae7e585 100644 --- a/Lib/test/test_dbm_dumb.py +++ b/Lib/test/test_dbm_dumb.py @@ -1,4 +1,3 @@ -#! /usr/bin/env python3 """Test script for the dumbdbm module Original by Roger E. Masse """ diff --git a/Lib/test/test_eof.py b/Lib/test/test_eof.py index fb4ac9a639f..52e7932c1ab 100644 --- a/Lib/test/test_eof.py +++ b/Lib/test/test_eof.py @@ -1,4 +1,3 @@ -#! /usr/bin/env python3 """test script for a few new invalid token catches""" import unittest diff --git a/Lib/test/test_errno.py b/Lib/test/test_errno.py old mode 100755 new mode 100644 index f414a87796f..058dcb9a235 --- a/Lib/test/test_errno.py +++ b/Lib/test/test_errno.py @@ -1,4 +1,3 @@ -#! /usr/bin/env python3 """Test the errno module Roger E. Masse """ diff --git a/Lib/test/test_gzip.py b/Lib/test/test_gzip.py index 5eac9217b22..c94d54e02e6 100755 --- a/Lib/test/test_gzip.py +++ b/Lib/test/test_gzip.py @@ -1,4 +1,3 @@ -#! /usr/bin/env python3 """Test script for the gzip module. """ diff --git a/Lib/test/test_keywordonlyarg.py b/Lib/test/test_keywordonlyarg.py index 0503a7fc6a4..6c2ff00362b 100644 --- a/Lib/test/test_keywordonlyarg.py +++ b/Lib/test/test_keywordonlyarg.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - """Unit tests for the keyword only argument specified in PEP 3102.""" __author__ = "Jiwon Seo" diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index 814f68cc154..f34172a371d 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python -# # Copyright 2001-2013 by Vinay Sajip. All Rights Reserved. # # Permission to use, copy, modify, and distribute this software and its diff --git a/Lib/test/test_marshal.py b/Lib/test/test_marshal.py index af7a9594872..0b1413715d5 100644 --- a/Lib/test/test_marshal.py +++ b/Lib/test/test_marshal.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - from test import support import array import io diff --git a/Lib/test/test_multibytecodec.py b/Lib/test/test_multibytecodec.py index feb7bd595a2..6889184cce6 100644 --- a/Lib/test/test_multibytecodec.py +++ b/Lib/test/test_multibytecodec.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # # test_multibytecodec.py # Unit test for multibytecodec itself diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py index d20a57698d2..aa66db4b7e6 100644 --- a/Lib/test/test_multiprocessing.py +++ b/Lib/test/test_multiprocessing.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - # # Unit tests for the multiprocessing package # diff --git a/Lib/test/test_popen.py b/Lib/test/test_popen.py index accf187b54d..225e41f86b4 100644 --- a/Lib/test/test_popen.py +++ b/Lib/test/test_popen.py @@ -1,4 +1,3 @@ -#! /usr/bin/env python3 """Basic tests for os.popen() Particularly useful for platforms that fake popen. diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py index d363a6a1d15..a475207fbd1 100644 --- a/Lib/test/test_random.py +++ b/Lib/test/test_random.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - import unittest import random import time diff --git a/Lib/test/test_sched.py b/Lib/test/test_sched.py index 070886d1ea5..79fa7d3e3dd 100644 --- a/Lib/test/test_sched.py +++ b/Lib/test/test_sched.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python - import queue import sched import time diff --git a/Lib/test/test_smtpnet.py b/Lib/test/test_smtpnet.py index 86224ef2e45..e97cf363bb6 100644 --- a/Lib/test/test_smtpnet.py +++ b/Lib/test/test_smtpnet.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - import unittest from test import support import smtplib diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index ce3c16ca821..d6e8389eb48 100644 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - import unittest from test import support from unittest.case import _ExpectedFailure diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py index 4edb1a8e01c..5913044877c 100644 --- a/Lib/test/test_support.py +++ b/Lib/test/test_support.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python - import importlib import shutil import sys diff --git a/Lib/test/test_tcl.py b/Lib/test/test_tcl.py index 5a2b69a0bef..ad17ee95d3c 100644 --- a/Lib/test/test_tcl.py +++ b/Lib/test/test_tcl.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - import unittest import sys import os diff --git a/Lib/test/test_urllib2_localnet.py b/Lib/test/test_urllib2_localnet.py index 9112e5062b1..31c638fc4e8 100644 --- a/Lib/test/test_urllib2_localnet.py +++ b/Lib/test/test_urllib2_localnet.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - import os import email import urllib.parse diff --git a/Lib/test/test_urllib2net.py b/Lib/test/test_urllib2net.py index 7f3c93adaa5..a4c16224fb4 100644 --- a/Lib/test/test_urllib2net.py +++ b/Lib/test/test_urllib2net.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - import unittest from test import support from test.test_urllib2 import sanepathname2url diff --git a/Lib/test/test_urllibnet.py b/Lib/test/test_urllibnet.py index 9aa16b4c9ce..4e0b7bde9ad 100644 --- a/Lib/test/test_urllibnet.py +++ b/Lib/test/test_urllibnet.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - import unittest from test import support diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py old mode 100755 new mode 100644 index 378a427bc56..9d695da9a12 --- a/Lib/test/test_urlparse.py +++ b/Lib/test/test_urlparse.py @@ -1,5 +1,3 @@ -#! /usr/bin/env python3 - from test import support import unittest import urllib.parse diff --git a/Lib/test/test_userstring.py b/Lib/test/test_userstring.py old mode 100755 new mode 100644 index 71fcac25e13..34c629cb764 --- a/Lib/test/test_userstring.py +++ b/Lib/test/test_userstring.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # UserString is a wrapper around the native builtin string type. # UserString instances should behave similar to builtin string objects. diff --git a/Lib/test/test_with.py b/Lib/test/test_with.py index e8cc8c056ec..7068a809702 100644 --- a/Lib/test/test_with.py +++ b/Lib/test/test_with.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - """Unit tests for the with statement specified in PEP 343.""" diff --git a/Lib/test/test_xmlrpc_net.py b/Lib/test/test_xmlrpc_net.py index 4c6f1ec4e95..77f66ea57bd 100644 --- a/Lib/test/test_xmlrpc_net.py +++ b/Lib/test/test_xmlrpc_net.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - import collections.abc import errno import socket diff --git a/Lib/timeit.py b/Lib/timeit.py old mode 100644 new mode 100755 diff --git a/Lib/token.py b/Lib/token.py old mode 100755 new mode 100644 diff --git a/Lib/trace.py b/Lib/trace.py old mode 100644 new mode 100755 diff --git a/Lib/turtledemo/bytedesign.py b/Lib/turtledemo/bytedesign.py old mode 100644 new mode 100755 diff --git a/Lib/turtledemo/clock.py b/Lib/turtledemo/clock.py old mode 100644 new mode 100755 diff --git a/Lib/turtledemo/forest.py b/Lib/turtledemo/forest.py old mode 100644 new mode 100755 diff --git a/Lib/turtledemo/fractalcurves.py b/Lib/turtledemo/fractalcurves.py old mode 100644 new mode 100755 diff --git a/Lib/turtledemo/lindenmayer.py b/Lib/turtledemo/lindenmayer.py old mode 100644 new mode 100755 diff --git a/Lib/turtledemo/minimal_hanoi.py b/Lib/turtledemo/minimal_hanoi.py old mode 100644 new mode 100755 diff --git a/Lib/turtledemo/paint.py b/Lib/turtledemo/paint.py old mode 100644 new mode 100755 diff --git a/Lib/turtledemo/peace.py b/Lib/turtledemo/peace.py old mode 100644 new mode 100755 diff --git a/Lib/turtledemo/penrose.py b/Lib/turtledemo/penrose.py old mode 100644 new mode 100755 diff --git a/Lib/turtledemo/planet_and_moon.py b/Lib/turtledemo/planet_and_moon.py old mode 100644 new mode 100755 diff --git a/Lib/turtledemo/tree.py b/Lib/turtledemo/tree.py old mode 100644 new mode 100755 diff --git a/Lib/turtledemo/two_canvases.py b/Lib/turtledemo/two_canvases.py old mode 100644 new mode 100755 diff --git a/Lib/turtledemo/yinyang.py b/Lib/turtledemo/yinyang.py old mode 100644 new mode 100755 diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py old mode 100644 new mode 100755 diff --git a/Mac/Tools/bundlebuilder.py b/Mac/Tools/bundlebuilder.py old mode 100644 new mode 100755 diff --git a/Misc/NEWS b/Misc/NEWS index ed9eafbfb65..a5e8482b473 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -334,6 +334,12 @@ Build Tools/Demos ----------- +- Issue #19936: Added executable bits or shebang lines to Python scripts which + requires them. Disable executable bits and shebang lines in test and + benchmark files in order to prevent using a random system python, and in + source files of modules which don't provide command line interface. Fixed + shebang line to use python3 executable in the unittestgui script. + - Issue #18960: 2to3 and the findnocoding.py script now ignore the source encoding declaration on the second line if the first line contains anything except a comment. diff --git a/Modules/_ctypes/libffi/generate-ios-source-and-headers.py b/Modules/_ctypes/libffi/generate-ios-source-and-headers.py old mode 100644 new mode 100755 diff --git a/Modules/_ctypes/libffi/generate-osx-source-and-headers.py b/Modules/_ctypes/libffi/generate-osx-source-and-headers.py old mode 100644 new mode 100755 diff --git a/Modules/_decimal/tests/bench.py b/Modules/_decimal/tests/bench.py old mode 100644 new mode 100755 diff --git a/Modules/_decimal/tests/deccheck.py b/Modules/_decimal/tests/deccheck.py old mode 100644 new mode 100755 diff --git a/Objects/typeslots.py b/Objects/typeslots.py old mode 100644 new mode 100755 diff --git a/Tools/gdb/libpython.py b/Tools/gdb/libpython.py old mode 100644 new mode 100755 diff --git a/Tools/i18n/makelocalealias.py b/Tools/i18n/makelocalealias.py old mode 100644 new mode 100755 diff --git a/Tools/pybench/Setup.py b/Tools/pybench/Setup.py old mode 100644 new mode 100755 diff --git a/Tools/pybench/clockres.py b/Tools/pybench/clockres.py old mode 100644 new mode 100755 diff --git a/Tools/pybench/systimes.py b/Tools/pybench/systimes.py old mode 100644 new mode 100755 diff --git a/Tools/scripts/run_tests.py b/Tools/scripts/run_tests.py old mode 100755 new mode 100644 diff --git a/Tools/ssl/make_ssl_data.py b/Tools/ssl/make_ssl_data.py old mode 100644 new mode 100755 diff --git a/Tools/stringbench/stringbench.py b/Tools/stringbench/stringbench.py old mode 100755 new mode 100644 diff --git a/Tools/unicode/comparecodecs.py b/Tools/unicode/comparecodecs.py old mode 100644 new mode 100755 diff --git a/Tools/unittestgui/unittestgui.py b/Tools/unittestgui/unittestgui.py old mode 100644 new mode 100755 index 09a20e28e78..c3b5fa45842 --- a/Tools/unittestgui/unittestgui.py +++ b/Tools/unittestgui/unittestgui.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ GUI framework and application for use with Python unit testing framework. Execute tests written using the framework provided by the 'unittest' module.