summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2014-01-16 17:15:49 +0200
committerSerhiy Storchaka <storchaka@gmail.com>2014-01-16 17:15:49 +0200
commit43b53737ca5727e909f644f1419a254e65f60faf (patch)
treebf1de82281200de3ae2f2dd1a508960fa6da4732
parent38933685dbd645e0f5ec391eead4e3f3e95b2583 (diff)
downloadcpython-43b53737ca5727e909f644f1419a254e65f60faf.tar.gz
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.
-rw-r--r--Lib/difflib.py2
-rw-r--r--Lib/http/cookies.py3
-rwxr-xr-x[-rw-r--r--]Lib/lib2to3/tests/data/different_encoding.py0
-rwxr-xr-x[-rw-r--r--]Lib/lib2to3/tests/data/false_encoding.py0
-rw-r--r--Lib/mailbox.py2
-rwxr-xr-x[-rw-r--r--]Lib/smtplib.py0
-rwxr-xr-x[-rw-r--r--]Lib/tarfile.py0
-rwxr-xr-x[-rw-r--r--]Lib/test/crashers/recursive_call.py0
-rwxr-xr-x[-rw-r--r--]Lib/test/curses_tests.py0
-rw-r--r--Lib/test/multibytecodec_support.py1
-rw-r--r--Lib/test/test___future__.py1
-rw-r--r--[-rwxr-xr-x]Lib/test/test_array.py1
-rw-r--r--[-rwxr-xr-x]Lib/test/test_binhex.py1
-rw-r--r--Lib/test/test_bz2.py1
-rw-r--r--Lib/test/test_cmd.py1
-rw-r--r--Lib/test/test_codecencodings_cn.py1
-rw-r--r--Lib/test/test_codecencodings_hk.py1
-rw-r--r--Lib/test/test_codecencodings_iso2022.py2
-rw-r--r--Lib/test/test_codecencodings_jp.py1
-rw-r--r--Lib/test/test_codecencodings_kr.py1
-rw-r--r--Lib/test/test_codecencodings_tw.py1
-rw-r--r--Lib/test/test_codecmaps_cn.py1
-rw-r--r--Lib/test/test_codecmaps_hk.py1
-rw-r--r--Lib/test/test_codecmaps_jp.py1
-rw-r--r--Lib/test/test_codecmaps_kr.py1
-rw-r--r--Lib/test/test_codecmaps_tw.py1
-rw-r--r--Lib/test/test_dbm.py1
-rw-r--r--Lib/test/test_dbm_dumb.py1
-rw-r--r--Lib/test/test_eof.py1
-rw-r--r--[-rwxr-xr-x]Lib/test/test_errno.py1
-rwxr-xr-xLib/test/test_gzip.py1
-rw-r--r--Lib/test/test_keywordonlyarg.py2
-rw-r--r--Lib/test/test_logging.py2
-rw-r--r--Lib/test/test_marshal.py2
-rw-r--r--Lib/test/test_multibytecodec.py1
-rw-r--r--Lib/test/test_multiprocessing.py2
-rw-r--r--Lib/test/test_popen.py1
-rw-r--r--Lib/test/test_random.py2
-rw-r--r--Lib/test/test_sched.py2
-rw-r--r--Lib/test/test_smtpnet.py2
-rw-r--r--Lib/test/test_socket.py2
-rw-r--r--Lib/test/test_support.py2
-rw-r--r--Lib/test/test_tcl.py2
-rw-r--r--Lib/test/test_urllib2_localnet.py2
-rw-r--r--Lib/test/test_urllib2net.py2
-rw-r--r--Lib/test/test_urllibnet.py2
-rw-r--r--[-rwxr-xr-x]Lib/test/test_urlparse.py2
-rw-r--r--[-rwxr-xr-x]Lib/test/test_userstring.py1
-rw-r--r--Lib/test/test_with.py2
-rw-r--r--Lib/test/test_xmlrpc_net.py2
-rwxr-xr-x[-rw-r--r--]Lib/timeit.py0
-rw-r--r--[-rwxr-xr-x]Lib/token.py0
-rwxr-xr-x[-rw-r--r--]Lib/trace.py0
-rwxr-xr-x[-rw-r--r--]Lib/turtledemo/bytedesign.py0
-rwxr-xr-x[-rw-r--r--]Lib/turtledemo/clock.py0
-rwxr-xr-x[-rw-r--r--]Lib/turtledemo/forest.py0
-rwxr-xr-x[-rw-r--r--]Lib/turtledemo/fractalcurves.py0
-rwxr-xr-x[-rw-r--r--]Lib/turtledemo/lindenmayer.py0
-rwxr-xr-x[-rw-r--r--]Lib/turtledemo/minimal_hanoi.py0
-rwxr-xr-x[-rw-r--r--]Lib/turtledemo/paint.py0
-rwxr-xr-x[-rw-r--r--]Lib/turtledemo/peace.py0
-rwxr-xr-x[-rw-r--r--]Lib/turtledemo/penrose.py0
-rwxr-xr-x[-rw-r--r--]Lib/turtledemo/planet_and_moon.py0
-rwxr-xr-x[-rw-r--r--]Lib/turtledemo/tree.py0
-rwxr-xr-x[-rw-r--r--]Lib/turtledemo/two_canvases.py0
-rwxr-xr-x[-rw-r--r--]Lib/turtledemo/yinyang.py0
-rwxr-xr-x[-rw-r--r--]Lib/webbrowser.py0
-rwxr-xr-x[-rw-r--r--]Mac/Tools/bundlebuilder.py0
-rw-r--r--Misc/NEWS6
-rwxr-xr-x[-rw-r--r--]Modules/_ctypes/libffi/generate-ios-source-and-headers.py0
-rwxr-xr-x[-rw-r--r--]Modules/_ctypes/libffi/generate-osx-source-and-headers.py0
-rwxr-xr-x[-rw-r--r--]Modules/_decimal/tests/bench.py0
-rwxr-xr-x[-rw-r--r--]Modules/_decimal/tests/deccheck.py0
-rwxr-xr-x[-rw-r--r--]Objects/typeslots.py0
-rwxr-xr-x[-rw-r--r--]Tools/gdb/libpython.py0
-rwxr-xr-x[-rw-r--r--]Tools/i18n/makelocalealias.py0
-rwxr-xr-x[-rw-r--r--]Tools/pybench/Setup.py0
-rwxr-xr-x[-rw-r--r--]Tools/pybench/clockres.py0
-rwxr-xr-x[-rw-r--r--]Tools/pybench/systimes.py0
-rw-r--r--[-rwxr-xr-x]Tools/scripts/run_tests.py0
-rwxr-xr-x[-rw-r--r--]Tools/ssl/make_ssl_data.py0
-rw-r--r--[-rwxr-xr-x]Tools/stringbench/stringbench.py0
-rwxr-xr-x[-rw-r--r--]Tools/unicode/comparecodecs.py0
-rwxr-xr-x[-rw-r--r--]Tools/unittestgui/unittestgui.py2
84 files changed, 7 insertions, 66 deletions
diff --git a/Lib/difflib.py b/Lib/difflib.py
index fe94cc47ab..f0bfcc5070 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 dc3c74a8db..24da5f490c 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 <timo@alum.mit.edu>
#
diff --git a/Lib/lib2to3/tests/data/different_encoding.py b/Lib/lib2to3/tests/data/different_encoding.py
index 9f32bd04dc..9f32bd04dc 100644..100755
--- a/Lib/lib2to3/tests/data/different_encoding.py
+++ b/Lib/lib2to3/tests/data/different_encoding.py
diff --git a/Lib/lib2to3/tests/data/false_encoding.py b/Lib/lib2to3/tests/data/false_encoding.py
index f4e59e787d..f4e59e787d 100644..100755
--- a/Lib/lib2to3/tests/data/false_encoding.py
+++ b/Lib/lib2to3/tests/data/false_encoding.py
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index d59dae85cd..3b64c2ed0d 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
index 072b973e0e..072b973e0e 100644..100755
--- a/Lib/smtplib.py
+++ b/Lib/smtplib.py
diff --git a/Lib/tarfile.py b/Lib/tarfile.py
index 16d338c738..16d338c738 100644..100755
--- a/Lib/tarfile.py
+++ b/Lib/tarfile.py
diff --git a/Lib/test/crashers/recursive_call.py b/Lib/test/crashers/recursive_call.py
index 2d160a7de5..2d160a7de5 100644..100755
--- a/Lib/test/crashers/recursive_call.py
+++ b/Lib/test/crashers/recursive_call.py
diff --git a/Lib/test/curses_tests.py b/Lib/test/curses_tests.py
index 40e832dec2..40e832dec2 100644..100755
--- a/Lib/test/curses_tests.py
+++ b/Lib/test/curses_tests.py
diff --git a/Lib/test/multibytecodec_support.py b/Lib/test/multibytecodec_support.py
index 2400323967..14fea3ef7d 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 9ae4ce40ad..6f73c7fddf 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
index e1362b20e5..d68284f919 100755..100644
--- 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
index a807bca639..9d4c85afaa 100755..100644
--- 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 961053d029..c8c93513d8 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 6618535823..e9a0211682 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 b08c5fcb1a..60e69eb762 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 31363f4bea..25c05b6048 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 e4b2f306d5..87768646fe 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 30c9e195f3..4091948b9b 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 4dd60499c8..cd7696acaa 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 96245b74ed..ea6e1c1623 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 1a761cffc7..76632a2435 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 5f4e7c7e02..278ae2ffeb 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 1fdbf634e3..fa93f12f5a 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 03564025ed..e0bf716994 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 44467e378a..4d270804f0 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 243a0af103..d11d924b30 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 208bc4c382..4f03ae7e58 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 fb4ac9a639..52e7932c1a 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
index f414a87796..058dcb9a23 100755..100644
--- 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 5eac9217b2..c94d54e02e 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 0503a7fc6a..6c2ff00362 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 814f68cc15..f34172a371 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 af7a959487..0b1413715d 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 feb7bd595a..6889184cce 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 d20a57698d..aa66db4b7e 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 accf187b54..225e41f86b 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 d363a6a1d1..a475207fbd 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 070886d1ea..79fa7d3e3d 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 86224ef2e4..e97cf363bb 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 ce3c16ca82..d6e8389eb4 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 4edb1a8e01..5913044877 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 5a2b69a0be..ad17ee95d3 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 9112e5062b..31c638fc4e 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 7f3c93adaa..a4c16224fb 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 9aa16b4c9c..4e0b7bde9a 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
index 378a427bc5..9d695da9a1 100755..100644
--- 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
index 71fcac25e1..34c629cb76 100755..100644
--- 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 e8cc8c056e..7068a80970 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 4c6f1ec4e9..77f66ea57b 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
index 4f7d28fbef..4f7d28fbef 100644..100755
--- a/Lib/timeit.py
+++ b/Lib/timeit.py
diff --git a/Lib/token.py b/Lib/token.py
index 31fae0a078..31fae0a078 100755..100644
--- a/Lib/token.py
+++ b/Lib/token.py
diff --git a/Lib/trace.py b/Lib/trace.py
index c09b365a01..c09b365a01 100644..100755
--- a/Lib/trace.py
+++ b/Lib/trace.py
diff --git a/Lib/turtledemo/bytedesign.py b/Lib/turtledemo/bytedesign.py
index 64b1d7d5b0..64b1d7d5b0 100644..100755
--- a/Lib/turtledemo/bytedesign.py
+++ b/Lib/turtledemo/bytedesign.py
diff --git a/Lib/turtledemo/clock.py b/Lib/turtledemo/clock.py
index a0d157ba49..a0d157ba49 100644..100755
--- a/Lib/turtledemo/clock.py
+++ b/Lib/turtledemo/clock.py
diff --git a/Lib/turtledemo/forest.py b/Lib/turtledemo/forest.py
index a837d844c9..a837d844c9 100644..100755
--- a/Lib/turtledemo/forest.py
+++ b/Lib/turtledemo/forest.py
diff --git a/Lib/turtledemo/fractalcurves.py b/Lib/turtledemo/fractalcurves.py
index c49f8b88ea..c49f8b88ea 100644..100755
--- a/Lib/turtledemo/fractalcurves.py
+++ b/Lib/turtledemo/fractalcurves.py
diff --git a/Lib/turtledemo/lindenmayer.py b/Lib/turtledemo/lindenmayer.py
index 3925f25da6..3925f25da6 100644..100755
--- a/Lib/turtledemo/lindenmayer.py
+++ b/Lib/turtledemo/lindenmayer.py
diff --git a/Lib/turtledemo/minimal_hanoi.py b/Lib/turtledemo/minimal_hanoi.py
index cfb78dcac1..cfb78dcac1 100644..100755
--- a/Lib/turtledemo/minimal_hanoi.py
+++ b/Lib/turtledemo/minimal_hanoi.py
diff --git a/Lib/turtledemo/paint.py b/Lib/turtledemo/paint.py
index 68058ab6ac..68058ab6ac 100644..100755
--- a/Lib/turtledemo/paint.py
+++ b/Lib/turtledemo/paint.py
diff --git a/Lib/turtledemo/peace.py b/Lib/turtledemo/peace.py
index 63cf7cc2e1..63cf7cc2e1 100644..100755
--- a/Lib/turtledemo/peace.py
+++ b/Lib/turtledemo/peace.py
diff --git a/Lib/turtledemo/penrose.py b/Lib/turtledemo/penrose.py
index f73c864b7b..f73c864b7b 100644..100755
--- a/Lib/turtledemo/penrose.py
+++ b/Lib/turtledemo/penrose.py
diff --git a/Lib/turtledemo/planet_and_moon.py b/Lib/turtledemo/planet_and_moon.py
index 14c4bbccc4..14c4bbccc4 100644..100755
--- a/Lib/turtledemo/planet_and_moon.py
+++ b/Lib/turtledemo/planet_and_moon.py
diff --git a/Lib/turtledemo/tree.py b/Lib/turtledemo/tree.py
index 9c0b1f7bb4..9c0b1f7bb4 100644..100755
--- a/Lib/turtledemo/tree.py
+++ b/Lib/turtledemo/tree.py
diff --git a/Lib/turtledemo/two_canvases.py b/Lib/turtledemo/two_canvases.py
index 02d89db57e..02d89db57e 100644..100755
--- a/Lib/turtledemo/two_canvases.py
+++ b/Lib/turtledemo/two_canvases.py
diff --git a/Lib/turtledemo/yinyang.py b/Lib/turtledemo/yinyang.py
index 11d1f47cae..11d1f47cae 100644..100755
--- a/Lib/turtledemo/yinyang.py
+++ b/Lib/turtledemo/yinyang.py
diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py
index 945eda4a95..945eda4a95 100644..100755
--- a/Lib/webbrowser.py
+++ b/Lib/webbrowser.py
diff --git a/Mac/Tools/bundlebuilder.py b/Mac/Tools/bundlebuilder.py
index 6cc130fa44..6cc130fa44 100644..100755
--- a/Mac/Tools/bundlebuilder.py
+++ b/Mac/Tools/bundlebuilder.py
diff --git a/Misc/NEWS b/Misc/NEWS
index ed9eafbfb6..a5e8482b47 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
index c2bca734ef..c2bca734ef 100644..100755
--- a/Modules/_ctypes/libffi/generate-ios-source-and-headers.py
+++ b/Modules/_ctypes/libffi/generate-ios-source-and-headers.py
diff --git a/Modules/_ctypes/libffi/generate-osx-source-and-headers.py b/Modules/_ctypes/libffi/generate-osx-source-and-headers.py
index 64313c1a36..64313c1a36 100644..100755
--- a/Modules/_ctypes/libffi/generate-osx-source-and-headers.py
+++ b/Modules/_ctypes/libffi/generate-osx-source-and-headers.py
diff --git a/Modules/_decimal/tests/bench.py b/Modules/_decimal/tests/bench.py
index 56566cc339..56566cc339 100644..100755
--- a/Modules/_decimal/tests/bench.py
+++ b/Modules/_decimal/tests/bench.py
diff --git a/Modules/_decimal/tests/deccheck.py b/Modules/_decimal/tests/deccheck.py
index c4c5a4461d..c4c5a4461d 100644..100755
--- a/Modules/_decimal/tests/deccheck.py
+++ b/Modules/_decimal/tests/deccheck.py
diff --git a/Objects/typeslots.py b/Objects/typeslots.py
index b24c7f4040..b24c7f4040 100644..100755
--- a/Objects/typeslots.py
+++ b/Objects/typeslots.py
diff --git a/Tools/gdb/libpython.py b/Tools/gdb/libpython.py
index 1c2c3cb5d2..1c2c3cb5d2 100644..100755
--- a/Tools/gdb/libpython.py
+++ b/Tools/gdb/libpython.py
diff --git a/Tools/i18n/makelocalealias.py b/Tools/i18n/makelocalealias.py
index 8b92ae1fc3..8b92ae1fc3 100644..100755
--- a/Tools/i18n/makelocalealias.py
+++ b/Tools/i18n/makelocalealias.py
diff --git a/Tools/pybench/Setup.py b/Tools/pybench/Setup.py
index 21e654afba..21e654afba 100644..100755
--- a/Tools/pybench/Setup.py
+++ b/Tools/pybench/Setup.py
diff --git a/Tools/pybench/clockres.py b/Tools/pybench/clockres.py
index d7f1ac8c93..d7f1ac8c93 100644..100755
--- a/Tools/pybench/clockres.py
+++ b/Tools/pybench/clockres.py
diff --git a/Tools/pybench/systimes.py b/Tools/pybench/systimes.py
index 5e00891fee..5e00891fee 100644..100755
--- a/Tools/pybench/systimes.py
+++ b/Tools/pybench/systimes.py
diff --git a/Tools/scripts/run_tests.py b/Tools/scripts/run_tests.py
index e2a2050978..e2a2050978 100755..100644
--- a/Tools/scripts/run_tests.py
+++ b/Tools/scripts/run_tests.py
diff --git a/Tools/ssl/make_ssl_data.py b/Tools/ssl/make_ssl_data.py
index 10244d106f..10244d106f 100644..100755
--- a/Tools/ssl/make_ssl_data.py
+++ b/Tools/ssl/make_ssl_data.py
diff --git a/Tools/stringbench/stringbench.py b/Tools/stringbench/stringbench.py
index 142b3cadc5..142b3cadc5 100755..100644
--- a/Tools/stringbench/stringbench.py
+++ b/Tools/stringbench/stringbench.py
diff --git a/Tools/unicode/comparecodecs.py b/Tools/unicode/comparecodecs.py
index 6525ddf3e1..6525ddf3e1 100644..100755
--- a/Tools/unicode/comparecodecs.py
+++ b/Tools/unicode/comparecodecs.py
diff --git a/Tools/unittestgui/unittestgui.py b/Tools/unittestgui/unittestgui.py
index 09a20e28e7..c3b5fa4584 100644..100755
--- 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.