[pypy-commit] pypy use-file-star-for-file: merge default
bdkearns
noreply at buildbot.pypy.org
Wed Sep 10 01:37:58 CEST 2014
Author: Brian Kearns <bdkearns at gmail.com>
Branch: use-file-star-for-file
Changeset: r73405:74ed616baf65
Date: 2014-09-09 16:28 -0400
http://bitbucket.org/pypy/pypy/changeset/74ed616baf65/
Log: merge default
diff --git a/rpython/rtyper/rbuiltin.py b/rpython/rtyper/rbuiltin.py
--- a/rpython/rtyper/rbuiltin.py
+++ b/rpython/rtyper/rbuiltin.py
@@ -269,17 +269,19 @@
hop.exception_cannot_occur()
v_self = hop.args_v[0]
r_self = hop.args_r[0]
- if hop.nb_args >= 2:
+ if hop.nb_args <= 2:
+ v_errno = hop.inputconst(lltype.Signed, 0)
+ if hop.nb_args == 2:
+ v_strerror = hop.inputarg(rstr.string_repr, arg=1)
+ r_self.setfield(v_self, 'strerror', v_strerror, hop.llops)
+ else:
v_errno = hop.inputarg(lltype.Signed, arg=1)
- else:
- v_errno = hop.inputconst(lltype.Signed, 0)
- r_self.setfield(v_self, 'errno', v_errno, hop.llops)
- if hop.nb_args >= 3:
v_strerror = hop.inputarg(rstr.string_repr, arg=2)
r_self.setfield(v_self, 'strerror', v_strerror, hop.llops)
if hop.nb_args >= 4:
v_filename = hop.inputarg(rstr.string_repr, arg=3)
r_self.setfield(v_self, 'filename', v_filename, hop.llops)
+ r_self.setfield(v_self, 'errno', v_errno, hop.llops)
def rtype_WindowsError__init__(hop):
hop.exception_cannot_occur()
diff --git a/rpython/rtyper/test/test_exception.py b/rpython/rtyper/test/test_exception.py
--- a/rpython/rtyper/test/test_exception.py
+++ b/rpython/rtyper/test/test_exception.py
@@ -36,7 +36,7 @@
class TestException(BaseRtypingTest):
def test_exception_with_arg(self):
def g(n):
- raise IOError(n)
+ raise IOError("test")
def h(n):
raise OSError(n, "?", None)
def i(n):
@@ -49,8 +49,8 @@
try:
g(n)
except IOError, e:
- assert e.errno == 42
- assert e.strerror is None
+ assert e.errno == 0
+ assert e.strerror == "test"
assert e.filename is None
else:
assert False
More information about the pypy-commit
mailing list