summaryrefslogtreecommitdiff
path: root/Lib
diff options
context:
space:
mode:
authorJeremy Hylton <jeremy@alum.mit.edu>2001-04-18 01:19:28 +0000
committerJeremy Hylton <jeremy@alum.mit.edu>2001-04-18 01:19:28 +0000
commit3090694068670371cdbd5b1a3d3c5dbecc83835a (patch)
treedda4e675551edb2b0c07bd3e7f7d9c48d9ef7433 /Lib
parentbc41957d2b58dfaae24e8a996e3e7c4fe3b475dd (diff)
downloadcpython-git-3090694068670371cdbd5b1a3d3c5dbecc83835a.tar.gz
Fix compileall.py so that it fails on SyntaxErrors
The changes cause compilation failures in any file in the Python installation lib directory to cause the install to fail. It looks like compileall.py intended to behave this way, but a change to py_compile.py and a separate bug defeated it. Fixes SF bug #412436 This change affects the test suite, which contains several files that contain intentional errors. The solution is to extend compileall.py with the ability to skip compilation of selected files. In the test suite, rename nocaret.py and test_future[3..7].py to start with badsyntax_nocaret.py and badsyntax_future[3..7].py. Update the makefile to skip compilation of these files. Update the tests to use the name names for imports. NB compileall.py is changed so that compile_dir() returns success only if all recursive calls to compile_dir() also check success.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/badsyntax_future3.py (renamed from Lib/test/test_future3.py)0
-rw-r--r--Lib/test/badsyntax_future4.py (renamed from Lib/test/test_future4.py)0
-rw-r--r--Lib/test/badsyntax_future5.py (renamed from Lib/test/test_future5.py)0
-rw-r--r--Lib/test/badsyntax_future6.py (renamed from Lib/test/test_future6.py)0
-rw-r--r--Lib/test/badsyntax_future7.py (renamed from Lib/test/test_future7.py)0
-rw-r--r--Lib/test/badsyntax_nocaret.py (renamed from Lib/test/nocaret.py)0
-rw-r--r--Lib/test/output/test_future10
-rwxr-xr-xLib/test/regrtest.py5
-rw-r--r--Lib/test/test_future.py10
-rw-r--r--Lib/test/test_traceback.py2
10 files changed, 11 insertions, 16 deletions
diff --git a/Lib/test/test_future3.py b/Lib/test/badsyntax_future3.py
index 166628cc49..166628cc49 100644
--- a/Lib/test/test_future3.py
+++ b/Lib/test/badsyntax_future3.py
diff --git a/Lib/test/test_future4.py b/Lib/test/badsyntax_future4.py
index 805263be89..805263be89 100644
--- a/Lib/test/test_future4.py
+++ b/Lib/test/badsyntax_future4.py
diff --git a/Lib/test/test_future5.py b/Lib/test/badsyntax_future5.py
index 118620873b..118620873b 100644
--- a/Lib/test/test_future5.py
+++ b/Lib/test/badsyntax_future5.py
diff --git a/Lib/test/test_future6.py b/Lib/test/badsyntax_future6.py
index 35c14558b8..35c14558b8 100644
--- a/Lib/test/test_future6.py
+++ b/Lib/test/badsyntax_future6.py
diff --git a/Lib/test/test_future7.py b/Lib/test/badsyntax_future7.py
index 370372d459..370372d459 100644
--- a/Lib/test/test_future7.py
+++ b/Lib/test/badsyntax_future7.py
diff --git a/Lib/test/nocaret.py b/Lib/test/badsyntax_nocaret.py
index 01ec9ea5f0..01ec9ea5f0 100644
--- a/Lib/test/nocaret.py
+++ b/Lib/test/badsyntax_nocaret.py
diff --git a/Lib/test/output/test_future b/Lib/test/output/test_future
index 5d7770af1f..4631489a88 100644
--- a/Lib/test/output/test_future
+++ b/Lib/test/output/test_future
@@ -1,8 +1,8 @@
test_future
6
6
-SyntaxError test_future3 3
-SyntaxError test_future4 3
-SyntaxError test_future5 4
-SyntaxError test_future6 3
-SyntaxError test_future7 3
+SyntaxError badsyntax_future3 3
+SyntaxError badsyntax_future4 3
+SyntaxError badsyntax_future5 4
+SyntaxError badsyntax_future6 3
+SyntaxError badsyntax_future7 3
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index f05f7645c4..ffa67f1b41 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -199,11 +199,6 @@ NOTTESTS = [
'test_b2',
'test_future1',
'test_future2',
- 'test_future3',
- 'test_future4',
- 'test_future5',
- 'test_future6',
- 'test_future7',
]
def findtests(testdir=None, stdtests=STDTESTS, nottests=NOTTESTS):
diff --git a/Lib/test/test_future.py b/Lib/test/test_future.py
index 1ffda5e36f..ba0763b7c7 100644
--- a/Lib/test/test_future.py
+++ b/Lib/test/test_future.py
@@ -19,26 +19,26 @@ import test_future2
# The remaining tests should fail
try:
- import test_future3
+ import badsyntax_future3
except SyntaxError, msg:
check_error_location(str(msg))
try:
- import test_future4
+ import badsyntax_future4
except SyntaxError, msg:
check_error_location(str(msg))
try:
- import test_future5
+ import badsyntax_future5
except SyntaxError, msg:
check_error_location(str(msg))
try:
- import test_future6
+ import badsyntax_future6
except SyntaxError, msg:
check_error_location(str(msg))
try:
- import test_future7
+ import badsyntax_future7
except SyntaxError, msg:
check_error_location(str(msg))
diff --git a/Lib/test/test_traceback.py b/Lib/test/test_traceback.py
index 759cc98c17..9f818e1607 100644
--- a/Lib/test/test_traceback.py
+++ b/Lib/test/test_traceback.py
@@ -22,7 +22,7 @@ class TracebackCases(unittest.TestCase):
def syntax_error_without_caret(self):
# XXX why doesn't compile raise the same traceback?
- import nocaret
+ import badsyntax_nocaret
def test_caret(self):
err = self.get_exception_format(self.syntax_error_with_caret,