Author: Preston Timmons <prestontimm...@gmail.com> Branch: py3k Changeset: r53570:90afa8ce9ff5 Date: 2012-03-13 19:20 +0000 http://bitbucket.org/pypy/pypy/changeset/90afa8ce9ff5/
Log: Updated posix module for py3k. Removed tmpnam(), tempnam(), and tmpfile() which were replaced by the tempfile module. Removed popen and fdopen tests which were removed from posix in py3k. diff --git a/pypy/module/posix/__init__.py b/pypy/module/posix/__init__.py --- a/pypy/module/posix/__init__.py +++ b/pypy/module/posix/__init__.py @@ -73,7 +73,6 @@ 'unlink' : 'interp_posix.unlink', 'remove' : 'interp_posix.remove', 'getcwd' : 'interp_posix.getcwd', - 'getcwdu' : 'interp_posix.getcwdu', 'chdir' : 'interp_posix.chdir', 'mkdir' : 'interp_posix.mkdir', 'rmdir' : 'interp_posix.rmdir', diff --git a/pypy/module/posix/interp_posix.py b/pypy/module/posix/interp_posix.py --- a/pypy/module/posix/interp_posix.py +++ b/pypy/module/posix/interp_posix.py @@ -418,22 +418,6 @@ else: return space.wrap(cur) -if sys.platform == 'win32': - def getcwdu(space): - """Return the current working directory as a unicode string.""" - try: - cur = os.getcwdu() - except OSError, e: - raise wrap_oserror(space, e) - else: - return space.wrap(cur) -else: - def getcwdu(space): - """Return the current working directory as a unicode string.""" - filesystemencoding = space.sys.filesystemencoding - return space.call_method(getcwd(space), 'decode', - space.wrap(filesystemencoding)) - def chdir(space, w_path): """Change the current working directory to the specified path.""" try: diff --git a/pypy/module/posix/test/test_posix2.py b/pypy/module/posix/test/test_posix2.py --- a/pypy/module/posix/test/test_posix2.py +++ b/pypy/module/posix/test/test_posix2.py @@ -265,8 +265,6 @@ def test_getcwd(self): assert isinstance(self.posix.getcwd(), str) - assert isinstance(self.posix.getcwdu(), unicode) - assert self.posix.getcwd() == self.posix.getcwdu() def test_listdir(self): pdir = self.pdir @@ -461,14 +459,6 @@ {'FOOBAR': '42'}) assert ret == 42 - def test_popen(self): - os = self.posix - for i in range(5): - stream = os.popen('echo 1') - res = stream.read() - assert res == '1\n' - assert stream.close() is None - if hasattr(__import__(os.name), '_getfullpathname'): def test__getfullpathname(self): # nt specific @@ -846,68 +836,6 @@ # How else could we test that getlogin is properly # working? - def test_tmpfile(self): - os = self.posix - f = os.tmpfile() - f.write(b"xxx") - f.flush() - f.seek(0, 0) - assert isinstance(f, file) - assert f.read() == b'xxx' - - def test_tmpnam(self): - import stat, os - s1 = os.tmpnam() - s2 = os.tmpnam() - assert s1 != s2 - def isdir(s): - try: - return stat.S_ISDIR(os.stat(s).st_mode) - except OSError: - return -1 - assert isdir(s1) == -1 - assert isdir(s2) == -1 - assert isdir(os.path.dirname(s1)) == 1 - assert isdir(os.path.dirname(s2)) == 1 - - def test_tempnam(self): - import stat, os - for dir in [None, self.udir]: - for prefix in [None, 'foobar']: - s1 = os.tempnam(dir, prefix) - s2 = os.tempnam(dir, prefix) - assert s1 != s2 - def isdir(s): - try: - return stat.S_ISDIR(os.stat(s).st_mode) - except OSError: - return -1 - assert isdir(s1) == -1 - assert isdir(s2) == -1 - assert isdir(os.path.dirname(s1)) == 1 - assert isdir(os.path.dirname(s2)) == 1 - if dir: - assert os.path.dirname(s1) == dir - assert os.path.dirname(s2) == dir - assert os.path.basename(s1).startswith(prefix or 'tmp') - assert os.path.basename(s2).startswith(prefix or 'tmp') - - def test_tmpnam_warning(self): - import warnings, os - # - def f_tmpnam_warning(): os.tmpnam() # a single line - # - with warnings.catch_warnings(record=True) as w: - warnings.simplefilter("always") - f_tmpnam_warning() - assert len(w) == 1 - assert issubclass(w[-1].category, RuntimeWarning) - assert "potential security risk" in str(w[-1].message) - # check that the warning points to the call to os.tmpnam(), - # not to some code inside app_posix.py - assert w[-1].lineno == f_tmpnam_warning.func_code.co_firstlineno - - class AppTestEnvironment(object): def setup_class(cls): cls.space = space diff --git a/pypy/module/posix/test/test_posix_libfile.py b/pypy/module/posix/test/test_posix_libfile.py deleted file mode 100644 --- a/pypy/module/posix/test/test_posix_libfile.py +++ /dev/null @@ -1,67 +0,0 @@ -from pypy.conftest import gettestobjspace -from pypy.tool.udir import udir -import os - -def setup_module(mod): - mod.space = gettestobjspace(usemodules=['posix']) - mod.path = udir.join('posixtestfile.txt') - mod.path.write("this is a test") - -class AppTestPosix: - def setup_class(cls): - cls.space = space - cls.w_posix = space.appexec([], "(): import %s as m ; return m" % os.name) - cls.w_path = space.wrap(str(path)) - - def test_posix_is_pypy_s(self): - assert self.posix.__file__ - - def test_fdopen(self): - path = self.path - posix = self.posix - fd = posix.open(path, posix.O_RDONLY, 0o777) - f = posix.fdopen(fd, "r") - result = f.read() - assert result == "this is a test" - - def test_popen(self): - import sys - if sys.platform.startswith('win'): - skip("unix specific") - path2 = self.path + '2' - posix = self.posix - - f = posix.popen("echo hello") - data = f.read() - f.close() - assert data == 'hello\n' - - f = posix.popen("cat > '%s'" % (path2,), 'w') - f.write('123\n') - f.close() - f = open(path2, 'r') - data = f.read() - f.close() - assert data == '123\n' - - import time - start_time = time.time() - f = posix.popen("sleep 2") - f.close() # should wait here - end_time = time.time() - assert end_time - start_time >= 1.9 - - def test_popen_and_rebind_file_in___builtin__(self): - import sys - if sys.platform.startswith('win'): - skip("unix specific") - # - import builtins - posix = self.posix - orig_file = file - try: - f = posix.popen('true') - builtins.file = lambda x : explode - f.close() - finally: - builtins.file = orig_file _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit