[Jython-checkins] jython: CPython test_popen2.py works for me, so deleting our copy.

Philip Jenvey pjenvey at underboss.org
Fri May 20 22:19:00 CEST 2011


I think test_popen2 will still need our modification for Windows ( http://hg.python.org/jython/rev/2cd6e2b49156 ). Wish we had a Windows buildbot =[

On May 19, 2011, at 10:55 PM, frank.wierzbicki wrote:

> http://hg.python.org/jython/rev/1f9ba25135d2
> changeset:   6231:1f9ba25135d2
> user:        Frank Wierzbicki <fwierzbicki at gmail.com>
> date:        Thu May 19 22:55:40 2011 -0700
> summary:
>  CPython test_popen2.py works for me, so deleting our copy.
> 
> files:
>  Lib/test/test_popen2.py |  78 -----------------------------
>  1 files changed, 0 insertions(+), 78 deletions(-)
> 
> 
> diff --git a/Lib/test/test_popen2.py b/Lib/test/test_popen2.py
> deleted file mode 100644
> --- a/Lib/test/test_popen2.py
> +++ /dev/null
> @@ -1,78 +0,0 @@
> -#! /usr/bin/env python
> -"""Test script for popen2.py
> -   Christian Tismer
> -"""
> -
> -import os
> -import sys
> -from test.test_support import TestSkipped, is_jython, reap_children
> -
> -# popen2 contains its own testing routine
> -# which is especially useful to see if open files
> -# like stdin can be read successfully by a forked
> -# subprocess.
> -
> -def main():
> -    print "Test popen2 module:"
> -    if (sys.platform[:4] == 'beos' or sys.platform[:6] == 'atheos') \
> -           and __name__ != '__main__':
> -        #  Locks get messed up or something.  Generally we're supposed
> -        #  to avoid mixing "posix" fork & exec with native threads, and
> -        #  they may be right about that after all.
> -        raise TestSkipped, "popen2() doesn't work during import on " + sys.platform
> -    try:
> -        from os import popen
> -    except ImportError:
> -        # if we don't have os.popen, check that
> -        # we have os.fork.  if not, skip the test
> -        # (by raising an ImportError)
> -        from os import fork
> -    import popen2
> -    popen2._test()
> -
> -
> -def _test():
> -    # same test as popen2._test(), but using the os.popen*() API
> -    print "Testing os module:"
> -    import popen2
> -    # When the test runs, there shouldn't be any open pipes
> -    popen2._cleanup()
> -    assert not popen2._active, "Active pipes when test starts " + repr([c.cmd for c in popen2._active])
> -    cmd  = "cat"
> -    teststr = "ab cd\n"
> -    if os.name == "nt" or (is_jython and os._name == 'nt'):
> -        cmd = "more"
> -    # "more" doesn't act the same way across Windows flavors,
> -    # sometimes adding an extra newline at the start or the
> -    # end.  So we strip whitespace off both ends for comparison.
> -    expected = teststr.strip()
> -    print "testing popen2..."
> -    w, r = os.popen2(cmd)
> -    w.write(teststr)
> -    w.close()
> -    got = r.read()
> -    if got.strip() != expected:
> -        raise ValueError("wrote %r read %r" % (teststr, got))
> -    print "testing popen3..."
> -    try:
> -        w, r, e = os.popen3([cmd])
> -    except:
> -        w, r, e = os.popen3(cmd)
> -    w.write(teststr)
> -    w.close()
> -    got = r.read()
> -    if got.strip() != expected:
> -        raise ValueError("wrote %r read %r" % (teststr, got))
> -    got = e.read()
> -    if got:
> -        raise ValueError("unexpected %r on stderr" % (got,))
> -    for inst in popen2._active[:]:
> -        inst.wait()
> -    popen2._cleanup()
> -    if popen2._active:
> -        raise ValueError("_active not empty")
> -    print "All OK"
> -
> -main()
> -_test()
> -reap_children()
> 
> -- 
> Repository URL: http://hg.python.org/jython
> _______________________________________________
> Jython-checkins mailing list
> Jython-checkins at python.org
> http://mail.python.org/mailman/listinfo/jython-checkins

--
Philip Jenvey



More information about the Jython-checkins mailing list