[pypy-commit] pypy string-NUL: Fix remaining test failures
amauryfa
noreply at buildbot.pypy.org
Sun Jan 29 19:20:49 CET 2012
Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch: string-NUL
Changeset: r51947:b591a6e4e204
Date: 2012-01-29 00:30 +0100
http://bitbucket.org/pypy/pypy/changeset/b591a6e4e204/
Log: Fix remaining test failures
diff --git a/pypy/rlib/test/test_rmarshal.py b/pypy/rlib/test/test_rmarshal.py
--- a/pypy/rlib/test/test_rmarshal.py
+++ b/pypy/rlib/test/test_rmarshal.py
@@ -169,7 +169,7 @@
assert st2.st_mode == st.st_mode
assert st2[9] == st[9]
return buf
- fn = compile(f, [str])
+ fn = compile(f, [annmodel.s_Str0])
res = fn('.')
st = os.stat('.')
sttuple = marshal.loads(res)
diff --git a/pypy/rpython/module/ll_os_stat.py b/pypy/rpython/module/ll_os_stat.py
--- a/pypy/rpython/module/ll_os_stat.py
+++ b/pypy/rpython/module/ll_os_stat.py
@@ -281,7 +281,7 @@
@func_renamer('os_%s_fake' % (name,))
def posix_fakeimpl(arg):
- if s_arg == str:
+ if s_arg == traits.str0:
arg = hlstr(arg)
st = getattr(os, name)(arg)
fields = [TYPE for fieldname, TYPE in STAT_FIELDS]
diff --git a/pypy/rpython/ootypesystem/test/test_ooann.py b/pypy/rpython/ootypesystem/test/test_ooann.py
--- a/pypy/rpython/ootypesystem/test/test_ooann.py
+++ b/pypy/rpython/ootypesystem/test/test_ooann.py
@@ -231,7 +231,7 @@
a = RPythonAnnotator()
s = a.build_types(oof, [bool])
- assert s == annmodel.SomeString(can_be_None=True)
+ assert annmodel.SomeString(can_be_None=True).contains(s)
def test_oostring():
def oof():
diff --git a/pypy/translator/c/test/test_extfunc.py b/pypy/translator/c/test/test_extfunc.py
--- a/pypy/translator/c/test/test_extfunc.py
+++ b/pypy/translator/c/test/test_extfunc.py
@@ -3,6 +3,7 @@
import os, time, sys
from pypy.tool.udir import udir
from pypy.rlib.rarithmetic import r_longlong
+from pypy.annotation import model as annmodel
from pypy.translator.c.test.test_genc import compile
from pypy.translator.c.test.test_standalone import StandaloneTests
posix = __import__(os.name)
@@ -325,7 +326,7 @@
os.rmdir(path)
else:
os.mkdir(path, 0777)
- f1 = compile(does_stuff, [str, bool])
+ f1 = compile(does_stuff, [annmodel.s_Str0, bool])
dirname = str(udir.join('test_mkdir_rmdir'))
f1(dirname, False)
assert os.path.exists(dirname) and os.path.isdir(dirname)
@@ -743,7 +744,7 @@
raise AssertionError("should have failed!")
result = os.listdir(s)
return '/'.join(result)
- func = compile(mylistdir, [str])
+ func = compile(mylistdir, [annmodel.s_Str0])
for testdir in [str(udir), os.curdir]:
result = func(testdir)
result = result.split('/')
diff --git a/pypy/translator/cli/test/runtest.py b/pypy/translator/cli/test/runtest.py
--- a/pypy/translator/cli/test/runtest.py
+++ b/pypy/translator/cli/test/runtest.py
@@ -276,9 +276,11 @@
def get_annotation(x):
if isinstance(x, basestring) and len(x) > 1:
- return SomeString()
+ result = SomeString()
else:
- return lltype_to_annotation(typeOf(x))
+ result = lltype_to_annotation(typeOf(x))
+ if isinstance(result, SomeString) and '\x00' not in x:
+ result.no_nul = True
class CliTest(BaseRtypingTest, OORtypeMixin):
def __init__(self):
diff --git a/pypy/translator/driver.py b/pypy/translator/driver.py
--- a/pypy/translator/driver.py
+++ b/pypy/translator/driver.py
@@ -184,7 +184,8 @@
self.standalone = standalone
if standalone:
- inputtypes = [s_list_of_strings]
+ # the 'argv' parameter
+ inputtypes = [[annmodel.s_Str0]]
self.inputtypes = inputtypes
if policy is None:
More information about the pypy-commit
mailing list