mirror of https://github.com/python/cpython
merge heads
This commit is contained in:
commit
652e758fc4
|
@ -440,8 +440,11 @@ def main(tests=None, testdir=None, verbose=0, quiet=False,
|
|||
args, kwargs = json.loads(a)
|
||||
try:
|
||||
result = runtest(*args, **kwargs)
|
||||
except KeyboardInterrupt:
|
||||
result = INTERRUPTED, ''
|
||||
except BaseException as e:
|
||||
result = INTERRUPTED, e.__class__.__name__
|
||||
traceback.print_exc()
|
||||
result = CHILD_ERROR, str(e)
|
||||
sys.stdout.flush()
|
||||
print() # Force a newline (just in case)
|
||||
print(json.dumps(result))
|
||||
|
@ -684,8 +687,7 @@ def main(tests=None, testdir=None, verbose=0, quiet=False,
|
|||
sys.stdout.flush()
|
||||
sys.stderr.flush()
|
||||
if result[0] == INTERRUPTED:
|
||||
assert result[1] == 'KeyboardInterrupt'
|
||||
raise KeyboardInterrupt # What else?
|
||||
raise KeyboardInterrupt
|
||||
if result[0] == CHILD_ERROR:
|
||||
raise Exception("Child error on {}: {}".format(test, result[1]))
|
||||
test_index += 1
|
||||
|
|
|
@ -1029,9 +1029,19 @@ class UnicodeTest(StringTest):
|
|||
smallerexample = '\x01\u263a\x00\ufefe'
|
||||
biggerexample = '\x01\u263a\x01\ufeff'
|
||||
outside = str('\x33')
|
||||
minitemsize = 4
|
||||
minitemsize = 2
|
||||
|
||||
def test_unicode(self):
|
||||
try:
|
||||
import ctypes
|
||||
sizeof_wchar = ctypes.sizeof(ctypes.c_wchar)
|
||||
except ImportError:
|
||||
import sys
|
||||
if sys.platform == 'win32':
|
||||
sizeof_wchar = 2
|
||||
else:
|
||||
sizeof_wchar = 4
|
||||
|
||||
self.assertRaises(TypeError, array.array, 'b', 'foo')
|
||||
|
||||
a = array.array('u', '\xa0\xc2\u1234')
|
||||
|
@ -1041,7 +1051,7 @@ class UnicodeTest(StringTest):
|
|||
a.fromunicode('\x11abc\xff\u1234')
|
||||
s = a.tounicode()
|
||||
self.assertEqual(s, '\xa0\xc2\u1234 \x11abc\xff\u1234')
|
||||
self.assertEqual(a.itemsize, 4)
|
||||
self.assertEqual(a.itemsize, sizeof_wchar)
|
||||
|
||||
s = '\x00="\'a\\b\x80\xff\u0000\u0001\u1234'
|
||||
a = array.array('u', s)
|
||||
|
|
|
@ -312,6 +312,9 @@ Tests
|
|||
Build
|
||||
-----
|
||||
|
||||
- Issue #11715: Fix multiarch detection without having Debian development
|
||||
tools (dpkg-dev) installed.
|
||||
|
||||
- Issue #15037: Build OS X installers with local copy of ncurses 5.9 libraries
|
||||
to avoid curses.unget_wch bug present in older versions of ncurses such as
|
||||
those shipped with OS X.
|
||||
|
|
|
@ -1210,7 +1210,7 @@ parse_tuple_and_keywords(PyObject *self, PyObject *args)
|
|||
int result;
|
||||
PyObject *return_value = NULL;
|
||||
|
||||
char buffers[32][8];
|
||||
double buffers[8][4]; /* double ensures alignment where necessary */
|
||||
|
||||
if (!PyArg_ParseTuple(args, "OOyO:parse_tuple_and_keywords",
|
||||
&sub_args, &sub_kwargs,
|
||||
|
|
21
setup.py
21
setup.py
|
@ -379,6 +379,27 @@ class PyBuildExt(build_ext):
|
|||
def add_multiarch_paths(self):
|
||||
# Debian/Ubuntu multiarch support.
|
||||
# https://wiki.ubuntu.com/MultiarchSpec
|
||||
cc = sysconfig.get_config_var('CC')
|
||||
tmpfile = os.path.join(self.build_temp, 'multiarch')
|
||||
if not os.path.exists(self.build_temp):
|
||||
os.makedirs(self.build_temp)
|
||||
ret = os.system(
|
||||
'%s -print-multiarch > %s 2> /dev/null' % (cc, tmpfile))
|
||||
multiarch_path_component = ''
|
||||
try:
|
||||
if ret >> 8 == 0:
|
||||
with open(tmpfile) as fp:
|
||||
multiarch_path_component = fp.readline().strip()
|
||||
finally:
|
||||
os.unlink(tmpfile)
|
||||
|
||||
if multiarch_path_component != '':
|
||||
add_dir_to_list(self.compiler.library_dirs,
|
||||
'/usr/lib/' + multiarch_path_component)
|
||||
add_dir_to_list(self.compiler.include_dirs,
|
||||
'/usr/include/' + multiarch_path_component)
|
||||
return
|
||||
|
||||
if not find_executable('dpkg-architecture'):
|
||||
return
|
||||
opt = ''
|
||||
|
|
Loading…
Reference in New Issue