Author: Brian Kearns <bdkea...@gmail.com> Branch: py3k Changeset: r60699:4f314755eb52 Date: 2013-01-29 18:01 -0500 http://bitbucket.org/pypy/pypy/changeset/4f314755eb52/
Log: merge default diff --git a/lib-python/2.7/inspect.py b/lib-python/2.7/inspect.py --- a/lib-python/2.7/inspect.py +++ b/lib-python/2.7/inspect.py @@ -960,7 +960,7 @@ raise TypeError('%s() takes exactly 0 arguments ' '(%d given)' % (f_name, num_total)) else: - raise TypeError('%s() takes no argument (%d given)' % + raise TypeError('%s() takes no arguments (%d given)' % (f_name, num_total)) for arg in args: if isinstance(arg, str) and arg in named: diff --git a/lib-python/2.7/site.py b/lib-python/2.7/site.py --- a/lib-python/2.7/site.py +++ b/lib-python/2.7/site.py @@ -75,6 +75,7 @@ USER_SITE = None USER_BASE = None + def makepath(*paths): dir = os.path.join(*paths) try: diff --git a/lib-python/2.7/test/test_itertools.py b/lib-python/2.7/test/test_itertools.py --- a/lib-python/2.7/test/test_itertools.py +++ b/lib-python/2.7/test/test_itertools.py @@ -533,11 +533,11 @@ self.assertEqual(list(izip()), zip()) self.assertRaises(TypeError, izip, 3) self.assertRaises(TypeError, izip, range(3), 3) - self.assertEqual([tuple(list(pair)) for pair in izip('abc', 'def')], zip('abc', 'def')) self.assertEqual([pair for pair in izip('abc', 'def')], zip('abc', 'def')) + @test_support.impl_detail("tuple reuse is specific to CPython") def test_izip_tuple_reuse(self): ids = map(id, izip('abc', 'def')) @@ -588,6 +588,7 @@ zip('abc', 'def')) self.assertEqual([pair for pair in izip_longest('abc', 'def')], zip('abc', 'def')) + @test_support.impl_detail("tuple reuse is specific to CPython") def test_izip_longest_tuple_reuse(self): ids = map(id, izip_longest('abc', 'def')) diff --git a/lib-python/2.7/test/test_support.py b/lib-python/2.7/test/test_support.py --- a/lib-python/2.7/test/test_support.py +++ b/lib-python/2.7/test/test_support.py @@ -1085,7 +1085,6 @@ else: runner = BasicTestRunner() - result = runner.run(suite) if not result.wasSuccessful(): if len(result.errors) == 1 and not result.failures: diff --git a/lib-python/conftest.py b/lib-python/conftest.py --- a/lib-python/conftest.py +++ b/lib-python/conftest.py @@ -94,17 +94,10 @@ m.test_main() ''' % locals()) -if sys.platform == 'win32': - skip_win32 = "Not supported on Windows" - only_win32 = False -else: - skip_win32 = False - only_win32 = "Only on Windows" - testmap = [ RegrTest('test___all__.py', core=True), RegrTest('test___future__.py', core=True), - RegrTest('test__locale.py', usemodules='_locale', skip=skip_win32), + RegrTest('test__locale.py', usemodules='_locale'), RegrTest('test_abc.py'), RegrTest('test_abstract_numbers.py'), RegrTest('test_aifc.py'), @@ -114,7 +107,7 @@ RegrTest('test_asynchat.py', usemodules='select fcntl'), RegrTest('test_asyncore.py', usemodules='select fcntl'), RegrTest('test_atexit.py', core=True), - RegrTest('test_audioop.py', skip=True), + RegrTest('test_audioop.py', skip="unsupported extension module"), RegrTest('test_augassign.py', core=True), RegrTest('test_base64.py', usemodules='struct'), RegrTest('test_bigaddrspace.py'), @@ -167,10 +160,10 @@ RegrTest('test_copy.py', core=True), RegrTest('test_copyreg.py', core=True), RegrTest('test_cprofile.py'), - RegrTest('test_crypt.py', usemodules='crypt', skip=skip_win32), + RegrTest('test_crypt.py', usemodules='crypt'), RegrTest('test_csv.py', usemodules='_csv'), RegrTest('test_ctypes.py', usemodules="_rawffi thread"), - RegrTest('test_curses.py', skip="unsupported extension module"), + RegrTest('test_curses.py'), RegrTest('test_datetime.py'), RegrTest('test_dbm.py'), RegrTest('test_dbm_dumb.py'), @@ -202,7 +195,7 @@ RegrTest('test_exception_variations.py'), RegrTest('test_exceptions.py', core=True), RegrTest('test_extcall.py', core=True), - RegrTest('test_fcntl.py', usemodules='fcntl', skip=skip_win32), + RegrTest('test_fcntl.py', usemodules='fcntl'), RegrTest('test_file.py', usemodules="posix", core=True), RegrTest('test_filecmp.py', core=True), RegrTest('test_fileinput.py', core=True), @@ -228,13 +221,13 @@ RegrTest('test_generators.py', core=True, usemodules='thread _weakref'), RegrTest('test_genericpath.py'), RegrTest('test_genexps.py', core=True, usemodules='_weakref'), - RegrTest('test_getargs2.py', skip="unsupported extension module"), + RegrTest('test_getargs2.py', usemodules='binascii', skip=True), RegrTest('test_getopt.py', core=True), RegrTest('test_gettext.py'), RegrTest('test_glob.py', core=True), RegrTest('test_global.py', core=True), RegrTest('test_grammar.py', core=True), - RegrTest('test_grp.py', skip=skip_win32), + RegrTest('test_grp.py'), RegrTest('test_gzip.py', usemodules='zlib'), RegrTest('test_hash.py', core=True), RegrTest('test_hashlib.py', core=True), @@ -285,13 +278,12 @@ RegrTest('test_mmap.py', usemodules="mmap"), RegrTest('test_module.py', core=True), RegrTest('test_modulefinder.py'), - RegrTest('test_msilib.py', skip=only_win32), + RegrTest('test_msilib.py'), RegrTest('test_multibytecodec.py', usemodules='_multibytecodec'), - RegrTest('test_multibytecodec_support.py', skip="not a test"), - RegrTest('test_multiprocessing.py', skip="FIXME leaves subprocesses"), + RegrTest('test_multiprocessing.py', skip=True), RegrTest('test_mutants.py', core="possibly"), RegrTest('test_netrc.py'), - RegrTest('test_nis.py', skip="unsupported extension module"), + RegrTest('test_nis.py'), RegrTest('test_nntplib.py'), RegrTest('test_normalization.py'), RegrTest('test_ntpath.py'), @@ -301,7 +293,7 @@ RegrTest('test_operator.py', core=True), RegrTest('test_optparse.py'), RegrTest('test_os.py', core=True), - RegrTest('test_ossaudiodev.py', skip="unsupported extension module"), + RegrTest('test_ossaudiodev.py'), RegrTest('test_osx_env.py'), RegrTest('test_parser.py', skip="slowly deprecating compiler"), RegrTest('test_pdb.py'), @@ -320,8 +312,8 @@ RegrTest('test_pkgimport.py', core=True), RegrTest('test_pkgutil.py'), RegrTest('test_platform.py'), - RegrTest('test_plistlib.py', skip="unsupported module"), - RegrTest('test_poll.py', skip=skip_win32), + RegrTest('test_plistlib.py'), + RegrTest('test_poll.py'), RegrTest('test_popen.py'), RegrTest('test_poplib.py'), RegrTest('test_posix.py', usemodules="_rawffi"), @@ -332,8 +324,8 @@ RegrTest('test_profile.py'), RegrTest('test_property.py', core=True), RegrTest('test_pstats.py'), - RegrTest('test_pty.py', skip="unsupported extension module"), - RegrTest('test_pwd.py', usemodules="pwd", skip=skip_win32), + RegrTest('test_pty.py', usemodules='fcntl termios select'), + RegrTest('test_pwd.py', usemodules="pwd"), RegrTest('test_py_compile.py'), RegrTest('test_pyclbr.py'), RegrTest('test_pydoc.py'), @@ -346,7 +338,7 @@ RegrTest('test_re.py', core=True), RegrTest('test_readline.py'), RegrTest('test_reprlib.py', core=True), - RegrTest('test_resource.py', skip=skip_win32), + RegrTest('test_resource.py'), RegrTest('test_richcmp.py', core=True), RegrTest('test_rlcompleter.py'), RegrTest('test_robotparser.py'), @@ -383,7 +375,7 @@ RegrTest('test_structmembers.py', skip="CPython specific"), RegrTest('test_structseq.py'), RegrTest('test_subprocess.py', usemodules='signal'), - RegrTest('test_sunau.py', skip=True), + RegrTest('test_sunau.py', skip="unsupported extension module"), RegrTest('test_sundry.py'), RegrTest('test_super.py', core=True), RegrTest('test_symtable.py', skip="implementation detail"), @@ -394,7 +386,7 @@ RegrTest('test_sysconfig.py'), RegrTest('test_syslog.py'), RegrTest('test_tarfile.py'), - RegrTest('test_tcl.py', skip="unsupported extension module"), + RegrTest('test_tcl.py'), RegrTest('test_telnetlib.py'), RegrTest('test_tempfile.py'), RegrTest('test_textwrap.py'), @@ -441,11 +433,11 @@ RegrTest('test_wait3.py', usemodules="thread"), RegrTest('test_wait4.py', usemodules="thread"), RegrTest('test_warnings.py', core=True), - RegrTest('test_wave.py', skip="unsupported extension module"), + RegrTest('test_wave.py'), RegrTest('test_weakref.py', core=True, usemodules='_weakref'), RegrTest('test_weakset.py'), - RegrTest('test_winreg.py', skip=only_win32), - RegrTest('test_winsound.py', skip="unsupported extension module"), + RegrTest('test_winreg.py'), + RegrTest('test_winsound.py'), RegrTest('test_with.py'), RegrTest('test_wsgiref.py'), RegrTest('test_xdrlib.py'), @@ -463,7 +455,9 @@ def check_testmap_complete(): listed_names = dict.fromkeys([regrtest.basename for regrtest in testmap]) assert len(listed_names) == len(testmap) - listed_names['test_support.py'] = True # ignore this + # names to ignore + listed_names['test_support.py'] = True + listed_names['test_multibytecodec_support.py'] = True missing = [] for path in testdir.listdir(fil='test_*.py'): name = path.basename diff --git a/pypy/module/_socket/interp_socket.py b/pypy/module/_socket/interp_socket.py --- a/pypy/module/_socket/interp_socket.py +++ b/pypy/module/_socket/interp_socket.py @@ -196,7 +196,8 @@ try: self.close() except SocketError, e: - raise converted_error(space, e) + # cpython doesn't return any errors on close + pass def connect_w(self, space, w_addr): """connect(address) @@ -456,7 +457,7 @@ w_addr = space.w_None return space.newtuple([space.wrap(readlgt), w_addr]) except SocketError, e: - raise converted_error(space, e) + raise converted_error(space, e) @unwrap_spec(cmd=int) def ioctl_w(self, space, cmd, w_option): diff --git a/pypy/module/_socket/test/test_sock_app.py b/pypy/module/_socket/test/test_sock_app.py --- a/pypy/module/_socket/test/test_sock_app.py +++ b/pypy/module/_socket/test/test_sock_app.py @@ -346,13 +346,15 @@ assert isinstance(s.fileno(), int) def test_socket_close(self): - import _socket + import _socket, os s = _socket.socket(_socket.AF_INET, _socket.SOCK_STREAM, 0) fileno = s.fileno() assert s.fileno() >= 0 s.close() assert s.fileno() < 0 s.close() + if os.name != 'nt': + raises(OSError, os.close, fileno) def test_socket_close_error(self): import _socket, os @@ -360,7 +362,7 @@ skip("Windows sockets are not files") s = _socket.socket(_socket.AF_INET, _socket.SOCK_STREAM, 0) os.close(s.fileno()) - raises(_socket.error, s.close) + s.close() def test_socket_connect(self): import _socket, os diff --git a/pypy/module/cpyext/api.py b/pypy/module/cpyext/api.py --- a/pypy/module/cpyext/api.py +++ b/pypy/module/cpyext/api.py @@ -920,8 +920,8 @@ kwds["link_extra"] = ["msvcrt.lib"] elif sys.platform.startswith('linux'): compile_extra.append("-Werror=implicit-function-declaration") + compile_extra.append('-g') export_symbols_eci.append('pypyAPI') - compile_extra.append('-g') else: kwds["includes"] = ['Python.h'] # this is our Python.h diff --git a/rpython/jit/metainterp/optimizeopt/rewrite.py b/rpython/jit/metainterp/optimizeopt/rewrite.py --- a/rpython/jit/metainterp/optimizeopt/rewrite.py +++ b/rpython/jit/metainterp/optimizeopt/rewrite.py @@ -239,6 +239,8 @@ def optimize_GUARD_VALUE(self, op): value = self.getvalue(op.getarg(0)) + if value.is_virtual(): + raise InvalidLoop('A promote of a virtual (a recently allocated object) never makes sense!') if value.last_guard: # there already has been a guard_nonnull or guard_class or # guard_nonnull_class on this value, which is rather silly. diff --git a/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py b/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py --- a/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py +++ b/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py @@ -2623,7 +2623,7 @@ jump(p2) """ self.raises(InvalidLoop, self.optimize_loop, - ops, ops) + ops, "crash!") def test_invalid_loop_2(self): ops = """ @@ -2635,7 +2635,7 @@ jump(p2) """ self.raises(InvalidLoop, self.optimize_loop, - ops, ops) + ops, "crash!") def test_invalid_loop_3(self): ops = """ @@ -2648,8 +2648,17 @@ setfield_gc(p3, p4, descr=nextdescr) jump(p3) """ - self.raises(InvalidLoop, self.optimize_loop, ops, ops) - + self.raises(InvalidLoop, self.optimize_loop, ops, "crash!") + + def test_invalid_loop_guard_value_of_virtual(self): + ops = """ + [p1] + p2 = new_with_vtable(ConstClass(node_vtable)) + guard_value(p2, ConstPtr(myptr)) [] + jump(p2) + """ + self.raises(InvalidLoop, self.optimize_loop, + ops, "crash!") def test_merge_guard_class_guard_value(self): ops = """ diff --git a/rpython/translator/c/src/thread_nt.c b/rpython/translator/c/src/thread_nt.c --- a/rpython/translator/c/src/thread_nt.c +++ b/rpython/translator/c/src/thread_nt.c @@ -13,6 +13,7 @@ /* * Thread support. */ +/* In rpython, this file is pulled in by thread.c */ typedef struct RPyOpaque_ThreadLock NRMUTEX, *PNRMUTEX; diff --git a/rpython/translator/c/src/thread_nt.h b/rpython/translator/c/src/thread_nt.h --- a/rpython/translator/c/src/thread_nt.h +++ b/rpython/translator/c/src/thread_nt.h @@ -9,6 +9,7 @@ } NRMUTEX, *PNRMUTEX; /* prototypes */ +long RPyThreadGetIdent(void); long RPyThreadStart(void (*func)(void)); int RPyThreadLockInit(struct RPyOpaque_ThreadLock *lock); void RPyOpaqueDealloc_ThreadLock(struct RPyOpaque_ThreadLock *lock); _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit