fix bug #42 reported by Andrew Dalke
The Compare close contains a close method that checks to see if there
is any unconsumed data in the Compare instance; i.e. if the canonical
output file contains more data than was produced by the current test
run. This method was never called, allowing differences to go
undetected.
Fix is to call close after the test is run (after __import__)
output/test_long and output/test_popen2 needed trivial changes
output/test_select contained lots of text, but test_select.py produced
no output
diff --git a/Lib/test/output/test_long b/Lib/test/output/test_long
index 41ecbce..4528264 100644
--- a/Lib/test/output/test_long
+++ b/Lib/test/output/test_long
@@ -3,4 +3,3 @@
long bit-operation identities
long str/hex/oct/atol
long miscellaneous operations
-
diff --git a/Lib/test/output/test_popen2 b/Lib/test/output/test_popen2
index e13034d..1fadf1b 100644
--- a/Lib/test/output/test_popen2
+++ b/Lib/test/output/test_popen2
@@ -2,4 +2,3 @@
testing popen2...
testing popen3...
All OK
-
diff --git a/Lib/test/output/test_select b/Lib/test/output/test_select
index d731e0a..e8d0cb5 100644
--- a/Lib/test/output/test_select
+++ b/Lib/test/output/test_select
@@ -1,25 +1 @@
test_select
-timeout = 0
-timeout = 1
-'testing...\012'
-timeout = 2
-'testing...\012'
-timeout = 4
-'testing...\012'
-timeout = 8
-'testing...\012'
-timeout = 16
-'testing...\012'
-timeout = None
-'testing...\012'
-timeout = None
-'testing...\012'
-timeout = None
-'testing...\012'
-timeout = None
-'testing...\012'
-timeout = None
-'testing...\012'
-timeout = None
-''
-EOF
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index 27b2b03..dbaee75 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -212,6 +212,8 @@
sys.stdout = cfp
print test # Output file starts with test name
__import__(test, globals(), locals(), [])
+ if cfp and not (generate or verbose):
+ cfp.close()
finally:
sys.stdout = save_stdout
except ImportError, msg:
diff --git a/Lib/test/test_select.py b/Lib/test/test_select.py
index 60de360..1a7bf4b 100644
--- a/Lib/test/test_select.py
+++ b/Lib/test/test_select.py
@@ -45,7 +45,6 @@
if verbose:
print 'timeout =', tout
rfd, wfd, xfd = select.select([p], [], [], tout)
-## print rfd, wfd, xfd
if (rfd, wfd, xfd) == ([], [], []):
continue
if (rfd, wfd, xfd) == ([p], [], []):