Changed the popen2.py _test function to use the "more" cmd when
os.name == "nt". This makes test_popen2 pass under Win98SE.
HOWEVER, the Win98 "more" invents a leading newline out
of thin air, and I'm not sure that the other Windows flavors
of "more" also do that.
So, somebody please try under other Windows flavors!
diff --git a/Lib/popen2.py b/Lib/popen2.py
index b20a364..2fd9a19 100644
--- a/Lib/popen2.py
+++ b/Lib/popen2.py
@@ -140,20 +140,25 @@
pass # not yet on unix
def _test():
+ cmd = "cat"
teststr = "abc\n"
+ resultstr = teststr
+ if os.name == "nt":
+ cmd = "more"
+ resultstr = "\n" + resultstr
print "testing popen2..."
- r, w = popen2('cat')
+ r, w = popen2(cmd)
w.write(teststr)
w.close()
- assert r.read() == teststr
+ assert r.read() == resultstr
print "testing popen3..."
try:
- r, w, e = popen3(['cat'])
+ r, w, e = popen3([cmd])
except:
- r, w, e = popen3('cat')
+ r, w, e = popen3(cmd)
w.write(teststr)
w.close()
- assert r.read() == teststr
+ assert r.read() == resultstr
assert e.read() == ""
for inst in _active[:]:
inst.wait()