From: Dag Sverre Seljebotn Date: Sat, 26 Jul 2008 08:59:36 +0000 (+0200) Subject: Buffer type checking cleanup/rewrite (now uses use_utility_code) X-Git-Tag: 0.9.8.1~49^2~70 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=7147f66b05b012f9c00a3db328ee45e188dfd4d6;p=cython.git Buffer type checking cleanup/rewrite (now uses use_utility_code) --- diff --git a/.hgignore b/.hgignore old mode 100644 new mode 100755 diff --git a/.hgtags b/.hgtags old mode 100644 new mode 100755 diff --git a/CHANGES_pyrex.txt b/CHANGES_pyrex.txt old mode 100644 new mode 100755 diff --git a/COPYING.txt b/COPYING.txt old mode 100644 new mode 100755 diff --git a/Cython/CodeWriter.py b/Cython/CodeWriter.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Annotate.py b/Cython/Compiler/Annotate.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Buffer.py b/Cython/Compiler/Buffer.py old mode 100644 new mode 100755 index a4f10682..c087240b --- a/Cython/Compiler/Buffer.py +++ b/Cython/Compiler/Buffer.py @@ -43,8 +43,9 @@ def put_acquire_arg_buffer(entry, code, pos): code.begin_block() code.putln('%s.buf = 0;' % bufstruct) # PEP requirement code.put(code.error_goto_if( - 'PyObject_GetBuffer(%s, &%s, %s) == -1' % ( - cname, bufstruct, flags), pos)) + 'PyObject_GetBuffer(%s, &%s, %s) == -1 || %s(&%s, %d) == -1' % ( + cname, bufstruct, flags, buffer_aux.tschecker, bufstruct, entry.type.ndim), + pos)) # An exception raised in arg parsing cannot be catched, so no # need to do care about the buffer then. put_unpack_buffer_aux_into_scope(buffer_aux, code) @@ -54,7 +55,8 @@ def put_release_buffer(entry, code): code.putln("if (%s != Py_None) PyObject_ReleaseBuffer(%s, &%s);" % ( entry.cname, entry.cname, entry.buffer_aux.buffer_info_var.cname)) -def put_assign_to_buffer(lhs_cname, rhs_cname, buffer_aux, is_initialized, pos, code): +def put_assign_to_buffer(lhs_cname, rhs_cname, buffer_aux, buffer_type, + is_initialized, pos, code): bufstruct = buffer_aux.buffer_info_var.cname flags = '0' @@ -74,8 +76,8 @@ def put_assign_to_buffer(lhs_cname, rhs_cname, buffer_aux, is_initialized, pos, rhs_cname, bufstruct, flags) - + ' || %s((char*)%s.format) == NULL' % ( - buffer_aux.tschecker.cname, bufstruct + + ' || %s(&%s, %d) == -1' % ( + buffer_aux.tschecker, bufstruct, buffer_type.ndim ))) code.begin_block() # If acquisition failed, attempt to reacquire the old buffer @@ -156,9 +158,9 @@ def put_access(entry, index_types, index_cnames, tmp_cname, pos, code): # Utility function to set the right exception # The caller should immediately goto_error buffer_boundsfail_error_utility_code = [ -""" +"""\ static void __Pyx_BufferIndexError(int axis); /*proto*/ -""",""" +""","""\ static void __Pyx_BufferIndexError(int axis) { PyErr_Format(PyExc_IndexError, "Out of bounds on buffer access (axis %d)", axis); @@ -166,51 +168,61 @@ static void __Pyx_BufferIndexError(int axis) { """] -class PureCFuncNode(Node): - child_attrs = [] - - def __init__(self, pos, cname, type, c_code, visibility='private'): - self.pos = pos - self.cname = cname - self.type = type - self.c_code = c_code - self.visibility = visibility - self.entry = None - - def analyse_expressions(self, env): - if not self.entry: - self.entry = env.declare_cfunction( - "" % self.cname, - self.type, self.pos, cname=self.cname, - defining=True, visibility=self.visibility) - - def generate_function_definitions(self, env, code, transforms): - assert self.type.optional_arg_count == 0 - visibility = self.entry.visibility - if visibility != 'private': - storage_class = "%s " % Naming.extern_c_macro - else: - storage_class = "static " - arg_decls = [arg.declaration_code() for arg in self.type.args] - sig = self.type.return_type.declaration_code( - self.type.function_header_code(self.cname, ", ".join(arg_decls))) - code.putln("") - code.putln("%s%s {" % (storage_class, sig)) - code.put(self.c_code) - code.putln("}") +# +# Buffer type checking. Utility code for checking that acquired +# buffers match our assumptions. We only need to check ndim and +# the format string; the access mode/flags is checked by the +# exporter. +# +buffer_check_utility_code = ["""\ +static const char* __Pyx_ConsumeWhitespace(const char* ts); /*proto*/ +static const char* __Pyx_BufferTypestringCheckEndian(const char* ts); /*proto*/ +static void __Pyx_BufferNdimError(Py_buffer* buffer, int expected_ndim); /*proto*/ +""", """ +static const char* __Pyx_ConsumeWhitespace(const char* ts) { + while (1) { + switch (*ts) { + case 10: + case 13: + case ' ': + ++ts; + default: + return ts; + } + } +} - def generate_execution_code(self, code): - pass +static const char* __Pyx_BufferTypestringCheckEndian(const char* ts) { + int ok = 1; + switch (*ts) { + case '@': + case '=': + ++ts; break; + case '<': + if (__BYTE_ORDER == __LITTLE_ENDIAN) ++ts; + else ok = 0; + break; + case '>': + case '!': + if (__BYTE_ORDER == __BIG_ENDIAN) ++ts; + else ok = 0; + break; + } + if (!ok) { + PyErr_Format(PyExc_ValueError, "Buffer has wrong endianness (rejecting on '%s')", ts); + return NULL; + } + return ts; +} +static void __Pyx_BufferNdimError(Py_buffer* buffer, int expected_ndim) { + PyErr_Format(PyExc_ValueError, + "Buffer has wrong number of dimensions (expected %d, got %d)", + expected_ndim, buffer->ndim); +} -tschecker_functype = PyrexTypes.CFuncType( - PyrexTypes.c_char_ptr_type, - [PyrexTypes.CFuncTypeArg(EncodedString("ts"), PyrexTypes.c_char_ptr_type, - (0, 0, None), cname="ts")], - exception_value = "NULL" -) +"""] -tsprefix = "__Pyx_tsc" class IntroduceBufferAuxiliaryVars(CythonTransform): @@ -227,6 +239,7 @@ class IntroduceBufferAuxiliaryVars(CythonTransform): return node self.bufstruct_type = cymod.entries[u'Py_buffer'].type self.tscheckers = {} + self.tsfuncs = set() self.ts_funcs = [] self.ts_item_checkers = {} self.module_scope = node.scope @@ -258,7 +271,7 @@ class IntroduceBufferAuxiliaryVars(CythonTransform): buftype = entry.type # Get or make a type string checker - tschecker = self.tschecker(buftype.dtype) + tschecker = self.buffer_type_checker(buftype.dtype, scope) # Declare auxiliary vars cname = scope.mangle(Naming.bufstruct_prefix, name) @@ -297,36 +310,34 @@ class IntroduceBufferAuxiliaryVars(CythonTransform): # # Utils for creating type string checkers # - - def new_ts_func(self, name, code): - cname = "%s_%s" % (tsprefix, name) - funcnode = PureCFuncNode(self.module_pos, cname, tschecker_functype, code) - funcnode.analyse_expressions(self.module_scope) - self.ts_funcs.append(funcnode) - return funcnode - def mangle_dtype_name(self, dtype): # Use prefixes to seperate user defined types from builtins # (consider "typedef float unsigned_int") - return dtype.declaration_code("").replace(" ", "_") - - def get_ts_check_item(self, dtype): + if dtype.typestring is None: + prefix = "nn_" + else: + prefix = "" + return prefix + dtype.declaration_code("").replace(" ", "_") + + def get_ts_check_item(self, dtype, env): # See if we can consume one (unnamed) dtype as next item + # Put native types and structs in seperate namespaces (as one could create a struct named unsigned_int...) + name = "__Pyx_BufferTypestringCheck_item_%s" % self.mangle_dtype_name(dtype) funcnode = self.ts_item_checkers.get(dtype) - if funcnode is None: + if not name in self.tsfuncs: char = dtype.typestring - if char is not None and len(char) == 1: + if char is not None: # Can use direct comparison - funcnode = self.new_ts_func("natitem_%s" % self.mangle_dtype_name(dtype), """\ + code = """\ if (*ts != '%s') { - PyErr_Format(PyExc_TypeError, "Buffer datatype mismatch (rejecting on '%%s')", ts); - return NULL; + PyErr_Format(PyExc_ValueError, "Buffer datatype mismatch (rejecting on '%%s')", ts); + return NULL; } else return ts + 1; -""" % char) +""" % char else: - # Must deduce sign and length; rely on int vs. float to be correctly declared + # Cannot trust declared size; but rely on int vs float and + # signed/unsigned to be correctly declared ctype = dtype.declaration_code("") - code = """\ int ok; switch (*ts) {""" @@ -335,108 +346,77 @@ class IntroduceBufferAuxiliaryVars(CythonTransform): ('b', 'char'), ('h', 'short'), ('i', 'int'), ('l', 'long'), ('q', 'long long') ] - code += "".join(["""\ - case '%s': ok = (sizeof(%s) == sizeof(%s) && (%s)-1 < 0); break; - case '%s': ok = (sizeof(%s) == sizeof(%s) && (%s)-1 > 0); break; -""" % (char, ctype, against, ctype, char.upper(), ctype, "unsigned " + against, ctype) for - char, against in types]) + if dtype.signed == 0: + code += "".join(["\n case '%s': ok = (sizeof(%s) == sizeof(%s) && (%s)-1 > 0); break;" % + (char.upper(), ctype, against, ctype) for char, against in types]) + else: + code += "".join(["\n case '%s': ok = (sizeof(%s) == sizeof(%s) && (%s)-1 < 0); break;" % + (char, ctype, against, ctype) for char, against in types]) code += """\ default: ok = 0; } if (!ok) { - PyErr_Format(PyExc_TypeError, "Buffer datatype mismatch (rejecting on '%s')", ts); + PyErr_Format(PyExc_ValueError, "Buffer datatype mismatch (rejecting on '%s')", ts); return NULL; } else return ts + 1; """ - - funcnode = self.new_ts_func("tdefitem_%s" % self.mangle_dtype_name(dtype), code) - - self.ts_item_checkers[dtype] = funcnode - return funcnode.entry.cname + env.use_utility_code(["""\ +static const char* %s(const char* ts); /*proto*/ +""" % name, """ +static const char* %s(const char* ts) { +%s +} +""" % (name, code)]) + self.tsfuncs.add(name) - ts_consume_whitespace_cname = None - ts_check_endian_cname = None + return name - def ensure_ts_utils(self): - # Makes sure that the typechecker utils are in scope - # (and constructs them if not) - if self.ts_consume_whitespace_cname is None: - self.ts_consume_whitespace_cname = self.new_ts_func("consume_whitespace", """\ - while (1) { - switch (*ts) { - case 10: - case 13: - case ' ': - ++ts; - default: - return ts; - } - } -""").entry.cname - if self.ts_check_endian_cname is None: - self.ts_check_endian_cname = self.new_ts_func("check_endian", """\ - int ok = 1; - switch (*ts) { - case '@': - case '=': - ++ts; break; - case '<': - if (__BYTE_ORDER == __LITTLE_ENDIAN) ++ts; - else ok = 0; - break; - case '>': - case '!': - if (__BYTE_ORDER == __BIG_ENDIAN) ++ts; - else ok = 0; - break; - } - if (!ok) { - PyErr_Format(PyExc_TypeError, "Data has wrong endianness (rejecting on '%s')", ts); - return NULL; - } - return ts; -""").entry.cname - - def create_ts_check_simple(self, dtype): + def get_ts_check_simple(self, dtype, env): # Check whole string for single unnamed item - consume_whitespace = self.ts_consume_whitespace_cname - check_endian = self.ts_check_endian_cname - check_item = self.get_ts_check_item(dtype) - return self.new_ts_func("simple_%s" % self.mangle_dtype_name(dtype), """\ - ts = %(consume_whitespace)s(ts); - ts = %(check_endian)s(ts); - if (!ts) return NULL; - ts = %(consume_whitespace)s(ts); - ts = %(check_item)s(ts); - if (!ts) return NULL; - ts = %(consume_whitespace)s(ts); + name = "__Pyx_BufferTypestringCheck_simple_%s" % self.mangle_dtype_name(dtype) + if not name in self.tsfuncs: + itemchecker = self.get_ts_check_item(dtype, env) + utilcode = [""" +static int %s(Py_buffer* buf, int e_nd); /*proto*/ +""" % name,""" +static int %(name)s(Py_buffer* buf, int e_nd) { + const char* ts = buf->format; + if (buf->ndim != e_nd) { + __Pyx_BufferNdimError(buf, e_nd); + return -1; + } + ts = __Pyx_ConsumeWhitespace(ts); + ts = __Pyx_BufferTypestringCheckEndian(ts); + if (!ts) return -1; + ts = __Pyx_ConsumeWhitespace(ts); + ts = %(itemchecker)s(ts); + if (!ts) return -1; + ts = __Pyx_ConsumeWhitespace(ts); if (*ts != 0) { - PyErr_Format(PyExc_TypeError, "Data too long (rejecting on '%%s')", ts); - return NULL; + PyErr_Format(PyExc_ValueError, + "Expected non-struct buffer data type (rejecting on '%%s')", ts); + return -1; } - return ts; -""" % locals()) - - def tschecker(self, dtype): - # Creates a type string checker function for the given type. - # Each checker is created as a function entry in the module scope - # and a PureCNode and put in the self.ts_checkers dict. - # Also the entry is returned. - # - # TODO: __eq__ and __hash__ for types - - self.ensure_ts_utils() - funcnode = self.tscheckers.get(dtype) - if funcnode is None: - if dtype.is_struct_or_union: - assert False - elif dtype.is_int or dtype.is_float: - # This includes simple typedef-ed types - funcnode = self.create_ts_check_simple(dtype) - else: - assert False - self.tscheckers[dtype] = funcnode - return funcnode.entry + return 0; +}""" % locals()] + env.use_utility_code(buffer_check_utility_code) + env.use_utility_code(utilcode) + self.tsfuncs.add(name) + return name + + def buffer_type_checker(self, dtype, env): + # Creates a type checker function for the given type. + # Each checker is created as utility code. However, as each function + # is dynamically constructed we also keep a set self.tsfuncs containing + # the right functions for the types that are already created. + if dtype.is_struct_or_union: + assert False + elif dtype.is_int or dtype.is_float: + # This includes simple typedef-ed types + funcname = self.get_ts_check_simple(dtype, env) + else: + assert False + return funcname diff --git a/Cython/Compiler/Builtin.py b/Cython/Compiler/Builtin.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/CmdLine.py b/Cython/Compiler/CmdLine.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Code.py b/Cython/Compiler/Code.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/ControlFlow.py b/Cython/Compiler/ControlFlow.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/DebugFlags.py b/Cython/Compiler/DebugFlags.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Errors.py b/Cython/Compiler/Errors.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/ExprNodes.py b/Cython/Compiler/ExprNodes.py old mode 100644 new mode 100755 index cf8f0d6b..47c13d98 --- a/Cython/Compiler/ExprNodes.py +++ b/Cython/Compiler/ExprNodes.py @@ -1075,7 +1075,7 @@ class NameNode(AtomicExprNode): code.putln('%s = %s;' % (rhstmp, rhs.result_as(self.ctype()))) import Buffer - Buffer.put_assign_to_buffer(self.result_code, rhstmp, buffer_aux, + Buffer.put_assign_to_buffer(self.result_code, rhstmp, buffer_aux, self.entry.type, is_initialized=not self.skip_assignment_decref, pos=self.pos, code=code) code.putln("%s = 0;" % rhstmp) diff --git a/Cython/Compiler/Future.py b/Cython/Compiler/Future.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Lexicon.py b/Cython/Compiler/Lexicon.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Main.py b/Cython/Compiler/Main.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Naming.py b/Cython/Compiler/Naming.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Nodes.py b/Cython/Compiler/Nodes.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Optimize.py b/Cython/Compiler/Optimize.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Options.py b/Cython/Compiler/Options.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/ParseTreeTransforms.py b/Cython/Compiler/ParseTreeTransforms.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Parsing.py b/Cython/Compiler/Parsing.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/PyrexTypes.py b/Cython/Compiler/PyrexTypes.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Scanning.py b/Cython/Compiler/Scanning.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Symtab.py b/Cython/Compiler/Symtab.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Tests/TestBuffer.py b/Cython/Compiler/Tests/TestBuffer.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Tests/TestDecorators.py b/Cython/Compiler/Tests/TestDecorators.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Tests/TestParseTreeTransforms.py b/Cython/Compiler/Tests/TestParseTreeTransforms.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Tests/TestTreeFragment.py b/Cython/Compiler/Tests/TestTreeFragment.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Tests/__init__.py b/Cython/Compiler/Tests/__init__.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/TreeFragment.py b/Cython/Compiler/TreeFragment.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/TypeSlots.py b/Cython/Compiler/TypeSlots.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Version.py b/Cython/Compiler/Version.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/Visitor.py b/Cython/Compiler/Visitor.py old mode 100644 new mode 100755 diff --git a/Cython/Compiler/__init__.py b/Cython/Compiler/__init__.py old mode 100644 new mode 100755 diff --git a/Cython/Debugging.py b/Cython/Debugging.py old mode 100644 new mode 100755 diff --git a/Cython/Distutils/__init__.py b/Cython/Distutils/__init__.py old mode 100644 new mode 100755 diff --git a/Cython/Distutils/build_ext.py b/Cython/Distutils/build_ext.py old mode 100644 new mode 100755 diff --git a/Cython/Distutils/extension.py b/Cython/Distutils/extension.py old mode 100644 new mode 100755 diff --git a/Cython/Mac/DarwinSystem.py b/Cython/Mac/DarwinSystem.py old mode 100644 new mode 100755 diff --git a/Cython/Mac/MacSystem.py b/Cython/Mac/MacSystem.py old mode 100644 new mode 100755 diff --git a/Cython/Mac/MacUtils.py b/Cython/Mac/MacUtils.py old mode 100644 new mode 100755 diff --git a/Cython/Mac/Makefile b/Cython/Mac/Makefile old mode 100644 new mode 100755 diff --git a/Cython/Mac/TS_Misc_Suite.py b/Cython/Mac/TS_Misc_Suite.py old mode 100644 new mode 100755 diff --git a/Cython/Mac/_Filemodule_patched.c b/Cython/Mac/_Filemodule_patched.c old mode 100644 new mode 100755 diff --git a/Cython/Mac/__init__.py b/Cython/Mac/__init__.py old mode 100644 new mode 100755 diff --git a/Cython/Plex/Actions.py b/Cython/Plex/Actions.py old mode 100644 new mode 100755 diff --git a/Cython/Plex/DFA.py b/Cython/Plex/DFA.py old mode 100644 new mode 100755 diff --git a/Cython/Plex/Errors.py b/Cython/Plex/Errors.py old mode 100644 new mode 100755 diff --git a/Cython/Plex/Lexicons.py b/Cython/Plex/Lexicons.py old mode 100644 new mode 100755 diff --git a/Cython/Plex/Machines.py b/Cython/Plex/Machines.py old mode 100644 new mode 100755 diff --git a/Cython/Plex/Regexps.py b/Cython/Plex/Regexps.py old mode 100644 new mode 100755 diff --git a/Cython/Plex/Scanners.py b/Cython/Plex/Scanners.py old mode 100644 new mode 100755 diff --git a/Cython/Plex/Timing.py b/Cython/Plex/Timing.py old mode 100644 new mode 100755 diff --git a/Cython/Plex/Traditional.py b/Cython/Plex/Traditional.py old mode 100644 new mode 100755 diff --git a/Cython/Plex/Transitions.py b/Cython/Plex/Transitions.py old mode 100644 new mode 100755 diff --git a/Cython/Plex/__init__.py b/Cython/Plex/__init__.py old mode 100644 new mode 100755 diff --git a/Cython/Plex/test_tm.py b/Cython/Plex/test_tm.py old mode 100644 new mode 100755 diff --git a/Cython/TestUtils.py b/Cython/TestUtils.py old mode 100644 new mode 100755 diff --git a/Cython/Tests/TestCodeWriter.py b/Cython/Tests/TestCodeWriter.py old mode 100644 new mode 100755 diff --git a/Cython/Tests/__init__.py b/Cython/Tests/__init__.py old mode 100644 new mode 100755 diff --git a/Cython/Unix/LinuxSystem.py b/Cython/Unix/LinuxSystem.py old mode 100644 new mode 100755 diff --git a/Cython/Unix/__init__.py b/Cython/Unix/__init__.py old mode 100644 new mode 100755 diff --git a/Cython/Utils.py b/Cython/Utils.py old mode 100644 new mode 100755 diff --git a/Cython/__init__.py b/Cython/__init__.py old mode 100644 new mode 100755 diff --git a/Demos/Makefile b/Demos/Makefile old mode 100644 new mode 100755 diff --git a/Demos/Makefile.nodistutils b/Demos/Makefile.nodistutils old mode 100644 new mode 100755 diff --git a/Demos/Setup.py b/Demos/Setup.py old mode 100644 new mode 100755 diff --git a/Demos/callback/Makefile b/Demos/callback/Makefile old mode 100644 new mode 100755 diff --git a/Demos/callback/Makefile.nodistutils b/Demos/callback/Makefile.nodistutils old mode 100644 new mode 100755 diff --git a/Demos/callback/README.txt b/Demos/callback/README.txt old mode 100644 new mode 100755 diff --git a/Demos/callback/Setup.py b/Demos/callback/Setup.py old mode 100644 new mode 100755 diff --git a/Demos/callback/cheese.pyx b/Demos/callback/cheese.pyx old mode 100644 new mode 100755 diff --git a/Demos/callback/cheesefinder.c b/Demos/callback/cheesefinder.c old mode 100644 new mode 100755 diff --git a/Demos/callback/cheesefinder.h b/Demos/callback/cheesefinder.h old mode 100644 new mode 100755 diff --git a/Demos/callback/run_cheese.py b/Demos/callback/run_cheese.py old mode 100644 new mode 100755 diff --git a/Demos/embed/Makefile b/Demos/embed/Makefile old mode 100644 new mode 100755 diff --git a/Demos/embed/Makefile.msc b/Demos/embed/Makefile.msc old mode 100644 new mode 100755 diff --git a/Demos/embed/Makefile.msc.static b/Demos/embed/Makefile.msc.static old mode 100644 new mode 100755 diff --git a/Demos/embed/Makefile.unix b/Demos/embed/Makefile.unix old mode 100644 new mode 100755 diff --git a/Demos/embed/README b/Demos/embed/README old mode 100644 new mode 100755 diff --git a/Demos/embed/embedded.pyx b/Demos/embed/embedded.pyx old mode 100644 new mode 100755 diff --git a/Demos/embed/main.c b/Demos/embed/main.c old mode 100644 new mode 100755 diff --git a/Demos/numeric_demo.pyx b/Demos/numeric_demo.pyx old mode 100644 new mode 100755 diff --git a/Demos/primes.pyx b/Demos/primes.pyx old mode 100644 new mode 100755 diff --git a/Demos/pyprimes.py b/Demos/pyprimes.py old mode 100644 new mode 100755 diff --git a/Demos/run_numeric_demo.py b/Demos/run_numeric_demo.py old mode 100644 new mode 100755 diff --git a/Demos/run_primes.py b/Demos/run_primes.py old mode 100644 new mode 100755 diff --git a/Demos/run_spam.py b/Demos/run_spam.py old mode 100644 new mode 100755 diff --git a/Demos/spam.pyx b/Demos/spam.pyx old mode 100644 new mode 100755 diff --git a/Doc/About.html b/Doc/About.html old mode 100644 new mode 100755 diff --git a/Doc/FAQ.html b/Doc/FAQ.html old mode 100644 new mode 100755 diff --git a/Doc/extension_types.html b/Doc/extension_types.html old mode 100644 new mode 100755 diff --git a/Doc/index.html b/Doc/index.html old mode 100644 new mode 100755 diff --git a/Doc/overview.html b/Doc/overview.html old mode 100644 new mode 100755 diff --git a/Doc/primes.c b/Doc/primes.c old mode 100644 new mode 100755 diff --git a/Doc/s5/Makefile b/Doc/s5/Makefile old mode 100644 new mode 100755 diff --git a/Doc/s5/cython-ep2008.txt b/Doc/s5/cython-ep2008.txt old mode 100644 new mode 100755 diff --git a/Doc/s5/ep2008/stupidlowercase.py b/Doc/s5/ep2008/stupidlowercase.py old mode 100644 new mode 100755 diff --git a/Doc/s5/ep2008/worker.py b/Doc/s5/ep2008/worker.py old mode 100644 new mode 100755 diff --git a/Doc/s5/ui/default/blank.gif b/Doc/s5/ui/default/blank.gif old mode 100644 new mode 100755 diff --git a/Doc/s5/ui/default/bodybg.gif b/Doc/s5/ui/default/bodybg.gif old mode 100644 new mode 100755 diff --git a/Doc/s5/ui/default/cython-logo64.png b/Doc/s5/ui/default/cython-logo64.png old mode 100644 new mode 100755 diff --git a/Doc/s5/ui/default/framing.css b/Doc/s5/ui/default/framing.css old mode 100644 new mode 100755 diff --git a/Doc/s5/ui/default/iepngfix.htc b/Doc/s5/ui/default/iepngfix.htc old mode 100644 new mode 100755 diff --git a/Doc/s5/ui/default/opera.css b/Doc/s5/ui/default/opera.css old mode 100644 new mode 100755 diff --git a/Doc/s5/ui/default/outline.css b/Doc/s5/ui/default/outline.css old mode 100644 new mode 100755 diff --git a/Doc/s5/ui/default/pretty.css b/Doc/s5/ui/default/pretty.css old mode 100644 new mode 100755 diff --git a/Doc/s5/ui/default/print.css b/Doc/s5/ui/default/print.css old mode 100644 new mode 100755 diff --git a/Doc/s5/ui/default/s5-core.css b/Doc/s5/ui/default/s5-core.css old mode 100644 new mode 100755 diff --git a/Doc/s5/ui/default/slides.css b/Doc/s5/ui/default/slides.css old mode 100644 new mode 100755 diff --git a/Doc/s5/ui/default/slides.js b/Doc/s5/ui/default/slides.js old mode 100644 new mode 100755 diff --git a/Doc/sharing.html b/Doc/sharing.html old mode 100644 new mode 100755 diff --git a/Doc/special_methods.html b/Doc/special_methods.html old mode 100644 new mode 100755 diff --git a/INSTALL.txt b/INSTALL.txt old mode 100644 new mode 100755 diff --git a/Includes/__cython__.pxd b/Includes/__cython__.pxd old mode 100644 new mode 100755 diff --git a/Includes/numpy.pxd b/Includes/numpy.pxd old mode 100644 new mode 100755 diff --git a/Includes/python.pxd b/Includes/python.pxd old mode 100644 new mode 100755 diff --git a/Includes/python2.5.pxd b/Includes/python2.5.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_bool.pxd b/Includes/python_bool.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_complex.pxd b/Includes/python_complex.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_dict.pxd b/Includes/python_dict.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_exc.pxd b/Includes/python_exc.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_float.pxd b/Includes/python_float.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_function.pxd b/Includes/python_function.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_instance.pxd b/Includes/python_instance.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_int.pxd b/Includes/python_int.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_iterator.pxd b/Includes/python_iterator.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_list.pxd b/Includes/python_list.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_long.pxd b/Includes/python_long.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_mapping.pxd b/Includes/python_mapping.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_mem.pxd b/Includes/python_mem.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_method.pxd b/Includes/python_method.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_module.pxd b/Includes/python_module.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_number.pxd b/Includes/python_number.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_object.pxd b/Includes/python_object.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_parse.pxd b/Includes/python_parse.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_ref.pxd b/Includes/python_ref.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_sequence.pxd b/Includes/python_sequence.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_set.pxd b/Includes/python_set.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_string.pxd b/Includes/python_string.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_tuple.pxd b/Includes/python_tuple.pxd old mode 100644 new mode 100755 diff --git a/Includes/python_type.pxd b/Includes/python_type.pxd old mode 100644 new mode 100755 diff --git a/Includes/stdio.pxd b/Includes/stdio.pxd old mode 100644 new mode 100755 diff --git a/Includes/stdlib.pxd b/Includes/stdlib.pxd old mode 100644 new mode 100755 diff --git a/LICENSE.txt b/LICENSE.txt old mode 100644 new mode 100755 diff --git a/MANIFEST.in b/MANIFEST.in old mode 100644 new mode 100755 diff --git a/Makefile b/Makefile old mode 100644 new mode 100755 diff --git a/README.txt b/README.txt old mode 100644 new mode 100755 diff --git a/ToDo.txt b/ToDo.txt old mode 100644 new mode 100755 diff --git a/Tools/cython-mode.el b/Tools/cython-mode.el old mode 100644 new mode 100755 diff --git a/Tools/cython.st b/Tools/cython.st old mode 100644 new mode 100755 diff --git a/USAGE.txt b/USAGE.txt old mode 100644 new mode 100755 diff --git a/cython.py b/cython.py old mode 100644 new mode 100755 diff --git a/runtests.py b/runtests.py old mode 100644 new mode 100755 diff --git a/setup.py b/setup.py old mode 100644 new mode 100755 diff --git a/tests/broken/assert2.pyx b/tests/broken/assert2.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/b_extimpinherit.pyx b/tests/broken/b_extimpinherit.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/big_t.pyx b/tests/broken/big_t.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/builtinconst.pyx b/tests/broken/builtinconst.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/builtindict.pyx b/tests/broken/builtindict.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/builtinlist.pyx b/tests/broken/builtinlist.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/builtinslice.pyx b/tests/broken/builtinslice.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/builtintype.pyx b/tests/broken/builtintype.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/cascadedass.pyx b/tests/broken/cascadedass.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/cdefemptysue.pyx b/tests/broken/cdefemptysue.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/cdefexternblock.pyx b/tests/broken/cdefexternblock.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/cdefexternempty.pyx b/tests/broken/cdefexternempty.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/cexportfunc.pyx b/tests/broken/cexportfunc.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/cimport.pyx b/tests/broken/cimport.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/cimportfrom.pyx b/tests/broken/cimportfrom.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/cimportfrompkgdir.pyx b/tests/broken/cimportfrompkgdir.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/cimportfunc.pyx b/tests/broken/cimportfunc.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/ctypedefextern.pyx b/tests/broken/ctypedefextern.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/e_exestmtinexttype.pyx b/tests/broken/e_exestmtinexttype.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/e_nogil.pyx b/tests/broken/e_nogil.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/externfunc.pyx b/tests/broken/externfunc.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/externsue.pyx b/tests/broken/externsue.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/fwddeclcclass.pyx b/tests/broken/fwddeclcclass.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/getattr.pyx b/tests/broken/getattr.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/getattr3ref.pyx b/tests/broken/getattr3ref.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/i_public.pyx b/tests/broken/i_public.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/includepublic.pyx b/tests/broken/includepublic.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/inplace_lhs.pyx b/tests/broken/inplace_lhs.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/inplace_ops.pyx b/tests/broken/inplace_ops.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/intindex.pyx b/tests/broken/intindex.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/invalid-module-name.pyx b/tests/broken/invalid-module-name.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/l_capi.pyx b/tests/broken/l_capi.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/l_cfuncexport.pyx b/tests/broken/l_cfuncexport.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/naanou_1.pyx b/tests/broken/naanou_1.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/newstyleintforloop.pyx b/tests/broken/newstyleintforloop.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/oldstyleintforloop.pyx b/tests/broken/oldstyleintforloop.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/onelinesuite.pyx b/tests/broken/onelinesuite.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/pkg.cimport.pyx b/tests/broken/pkg.cimport.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/pkg.cimportfrom.pyx b/tests/broken/pkg.cimportfrom.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/plex2.pyx b/tests/broken/plex2.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_builtinlist.pyx b/tests/broken/r_builtinlist.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_capi.pyx b/tests/broken/r_capi.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_cfuncimport.pyx b/tests/broken/r_cfuncimport.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_classdoc.pyx b/tests/broken/r_classdoc.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_classmodname.pyx b/tests/broken/r_classmodname.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_excval.pyx b/tests/broken/r_excval.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_extcmethod.pyx b/tests/broken/r_extcmethod.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_extimpinherit.pyx b/tests/broken/r_extimpinherit.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_extinherit.pyx b/tests/broken/r_extinherit.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_extmember.pyx b/tests/broken/r_extmember.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_extnumeric2.pyx b/tests/broken/r_extnumeric2.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_extproperty.pyx b/tests/broken/r_extproperty.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_extweakref.pyx b/tests/broken/r_extweakref.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_getattr3.pyx b/tests/broken/r_getattr3.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_import.pyx b/tests/broken/r_import.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_inhcmethcall.pyx b/tests/broken/r_inhcmethcall.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_kwonlyargs.pyx b/tests/broken/r_kwonlyargs.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_newstyleclass.pyx b/tests/broken/r_newstyleclass.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_simpcall.pyx b/tests/broken/r_simpcall.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_tbfilename.pyx b/tests/broken/r_tbfilename.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_traceback.pyx b/tests/broken/r_traceback.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/r_unpack.pyx b/tests/broken/r_unpack.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/raise.pyx b/tests/broken/raise.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/ref2global.pyx b/tests/broken/ref2global.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/retconvert.pyx b/tests/broken/retconvert.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/specialfloatvals.pyx b/tests/broken/specialfloatvals.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/test_include_options.pyx b/tests/broken/test_include_options.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/tryexceptelse.pyx b/tests/broken/tryexceptelse.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/tslots.pyx b/tests/broken/tslots.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/typeofexttype.pyx b/tests/broken/typeofexttype.pyx old mode 100644 new mode 100755 diff --git a/tests/broken/voidstarcast.pyx b/tests/broken/voidstarcast.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/a_capi.pyx b/tests/compile/a_capi.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/altet1.h b/tests/compile/altet1.h old mode 100644 new mode 100755 diff --git a/tests/compile/altet1.pyx.BROKEN b/tests/compile/altet1.pyx.BROKEN old mode 100644 new mode 100755 diff --git a/tests/compile/argdefault.pyx b/tests/compile/argdefault.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/arrayptrcompat.pyx b/tests/compile/arrayptrcompat.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/arraytoptrarg.pyx b/tests/compile/arraytoptrarg.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ass2longlong.pyx b/tests/compile/ass2longlong.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/behnel4.pyx b/tests/compile/behnel4.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/belchenko1.pyx b/tests/compile/belchenko1.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/belchenko2.h b/tests/compile/belchenko2.h old mode 100644 new mode 100755 diff --git a/tests/compile/belchenko2.pyx.BROKEN b/tests/compile/belchenko2.pyx.BROKEN old mode 100644 new mode 100755 diff --git a/tests/compile/builtin.pyx b/tests/compile/builtin.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/builtinfuncs.pyx b/tests/compile/builtinfuncs.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/burton1.pyx.BROKEN b/tests/compile/burton1.pyx.BROKEN old mode 100644 new mode 100755 diff --git a/tests/compile/callingconvention.pyx b/tests/compile/callingconvention.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/cargdef.pyx b/tests/compile/cargdef.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/carrdecl.pyx b/tests/compile/carrdecl.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/cascmp.pyx b/tests/compile/cascmp.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/cassign.pyx b/tests/compile/cassign.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/casttoexttype.pyx b/tests/compile/casttoexttype.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/cdefexternfromstar.pyx b/tests/compile/cdefexternfromstar.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/cenum.pyx b/tests/compile/cenum.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/cforfromloop.pyx b/tests/compile/cforfromloop.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/classmethargdefault.pyx b/tests/compile/classmethargdefault.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/cnamespec.pyx b/tests/compile/cnamespec.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/cnumop.pyx b/tests/compile/cnumop.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/coercearraytoptr.pyx b/tests/compile/coercearraytoptr.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/coercetovoidptr.pyx b/tests/compile/coercetovoidptr.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/complexbasetype.pyx b/tests/compile/complexbasetype.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/constexpr.pyx b/tests/compile/constexpr.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/coventry1.pyx b/tests/compile/coventry1.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/cpdef.pyx b/tests/compile/cpdef.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/crunchytype.h b/tests/compile/crunchytype.h old mode 100644 new mode 100755 diff --git a/tests/compile/crunchytype.pxd b/tests/compile/crunchytype.pxd old mode 100644 new mode 100755 diff --git a/tests/compile/cstructreturn.pyx b/tests/compile/cstructreturn.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ctypedef.pyx b/tests/compile/ctypedef.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ctypedefclass.pyx b/tests/compile/ctypedefclass.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ctypedefenum.pyx b/tests/compile/ctypedefenum.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ctypedefstruct.pyx b/tests/compile/ctypedefstruct.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ctypedefunion.pyx b/tests/compile/ctypedefunion.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/cunsignedlong.pyx b/tests/compile/cunsignedlong.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/cverylongtypes.pyx b/tests/compile/cverylongtypes.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/declandimpl.pxd b/tests/compile/declandimpl.pxd old mode 100644 new mode 100755 diff --git a/tests/compile/declandimpl.pyx b/tests/compile/declandimpl.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/declarations.pyx b/tests/compile/declarations.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/del.pyx b/tests/compile/del.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/delslice.pyx b/tests/compile/delslice.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/docstrings.pyx b/tests/compile/docstrings.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/doda1.pyx b/tests/compile/doda1.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/dotted_cimport.pyx b/tests/compile/dotted_cimport.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/dotted_cimport_submodule/__init__.pyx b/tests/compile/dotted_cimport_submodule/__init__.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/dotted_cimport_submodule/a.pxd b/tests/compile/dotted_cimport_submodule/a.pxd old mode 100644 new mode 100755 diff --git a/tests/compile/drake1.pyx b/tests/compile/drake1.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/emptytry.pyx b/tests/compile/emptytry.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/enumintcompat.pyx b/tests/compile/enumintcompat.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/eqcmp.pyx b/tests/compile/eqcmp.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ewing1.pyx b/tests/compile/ewing1.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ewing3.pyx b/tests/compile/ewing3.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ewing4.pyx b/tests/compile/ewing4.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ewing5.pyx b/tests/compile/ewing5.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ewing6.pyx b/tests/compile/ewing6.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ewing7.pyx b/tests/compile/ewing7.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ewing8.pxd b/tests/compile/ewing8.pxd old mode 100644 new mode 100755 diff --git a/tests/compile/ewing8.pyx b/tests/compile/ewing8.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ewing9.pxd b/tests/compile/ewing9.pxd old mode 100644 new mode 100755 diff --git a/tests/compile/ewing9.pyx b/tests/compile/ewing9.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/excvalcheck.pyx b/tests/compile/excvalcheck.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/excvaldecl.pyx b/tests/compile/excvaldecl.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/excvalreturn.pyx b/tests/compile/excvalreturn.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extargdefault.pyx b/tests/compile/extargdefault.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extcmethcall.pyx b/tests/compile/extcmethcall.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extcoerce.pyx b/tests/compile/extcoerce.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extdelattr.pyx b/tests/compile/extdelattr.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extdelitem.pyx b/tests/compile/extdelitem.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extdelslice.pyx b/tests/compile/extdelslice.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extdescrdel.pyx b/tests/compile/extdescrdel.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extdescrget.pyx b/tests/compile/extdescrget.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extdescrset.pyx b/tests/compile/extdescrset.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extern.pyx b/tests/compile/extern.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extexttype.pyx b/tests/compile/extexttype.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extforward.pyx b/tests/compile/extforward.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extgetattr.pyx b/tests/compile/extgetattr.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extgetitem.pyx b/tests/compile/extgetitem.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/exthash.pyx b/tests/compile/exthash.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extimported.pyx b/tests/compile/extimported.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extimportedsubtype.pyx b/tests/compile/extimportedsubtype.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extindex.pyx b/tests/compile/extindex.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extinheritdel.pyx b/tests/compile/extinheritdel.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extinheritset.pyx b/tests/compile/extinheritset.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extpropertyall.pyx b/tests/compile/extpropertyall.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extpropertydel.pyx b/tests/compile/extpropertydel.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extpropertydoc.pyx b/tests/compile/extpropertydoc.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extpropertyget.pyx b/tests/compile/extpropertyget.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extpropertyset.pyx b/tests/compile/extpropertyset.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extpymemberdef.pyx b/tests/compile/extpymemberdef.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extsetattr.pyx b/tests/compile/extsetattr.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extsetitem.pyx b/tests/compile/extsetitem.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/extsetslice.pyx b/tests/compile/extsetslice.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/food.h b/tests/compile/food.h old mode 100644 new mode 100755 diff --git a/tests/compile/for.pyx b/tests/compile/for.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/forfromelse.pyx b/tests/compile/forfromelse.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/formfeed.pyx b/tests/compile/formfeed.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/fromimport.pyx b/tests/compile/fromimport.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/funcptr.pyx b/tests/compile/funcptr.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/gencall.pyx b/tests/compile/gencall.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/getattr3ref.pyx.BROKEN b/tests/compile/getattr3ref.pyx.BROKEN old mode 100644 new mode 100755 diff --git a/tests/compile/globalonly.pyx b/tests/compile/globalonly.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/globalstmt.pyx b/tests/compile/globalstmt.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/globvardef.pyx b/tests/compile/globvardef.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/gustafsson2.pyx b/tests/compile/gustafsson2.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/hinsen1.h b/tests/compile/hinsen1.h old mode 100644 new mode 100755 diff --git a/tests/compile/hinsen1.pyx.BROKEN b/tests/compile/hinsen1.pyx.BROKEN old mode 100644 new mode 100755 diff --git a/tests/compile/hinsen2.pyx b/tests/compile/hinsen2.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/huss2.pyx b/tests/compile/huss2.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ia_cdefblock.pyx b/tests/compile/ia_cdefblock.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/import.pyx b/tests/compile/import.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/index.pyx b/tests/compile/index.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/indices.pyx b/tests/compile/indices.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ishimoto1.pyx b/tests/compile/ishimoto1.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/ishimoto4.pyx b/tests/compile/ishimoto4.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/jiba3.pyx b/tests/compile/jiba3.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/jiba4.pyx b/tests/compile/jiba4.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/jiba5.pyx b/tests/compile/jiba5.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/jiba6.pyx b/tests/compile/jiba6.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/johnson1.pyx b/tests/compile/johnson1.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/johnson2.pyx b/tests/compile/johnson2.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/khavkine1.pyx b/tests/compile/khavkine1.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/kleckner1.pyx b/tests/compile/kleckner1.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/lepage_2.pyx b/tests/compile/lepage_2.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/longunsigned.pyx b/tests/compile/longunsigned.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/magcmp.pyx b/tests/compile/magcmp.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/nogil.h b/tests/compile/nogil.h old mode 100644 new mode 100755 diff --git a/tests/compile/nogil.pyx b/tests/compile/nogil.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/nonctypedefclass.pyx b/tests/compile/nonctypedefclass.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/none.pyx b/tests/compile/none.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/notnonearg.pyx b/tests/compile/notnonearg.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/nullptr.pyx b/tests/compile/nullptr.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/omittedargnames.pyx b/tests/compile/omittedargnames.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/pinard4.pyx b/tests/compile/pinard4.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/pyclass.pyx b/tests/compile/pyclass.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/r_pernici1.pyx b/tests/compile/r_pernici1.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/signedtypes.pyx b/tests/compile/signedtypes.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/slicex.pyx b/tests/compile/slicex.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/specmethargdefault.pyx b/tests/compile/specmethargdefault.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/specmethdocstring.pyx b/tests/compile/specmethdocstring.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/specmethextarg.pyx b/tests/compile/specmethextarg.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/traceback.pyx b/tests/compile/traceback.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/tryexcept.pyx b/tests/compile/tryexcept.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/tryfinally.pyx b/tests/compile/tryfinally.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/typecast.pyx b/tests/compile/typecast.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/watts2.pyx b/tests/compile/watts2.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/while.pyx b/tests/compile/while.pyx old mode 100644 new mode 100755 diff --git a/tests/compile/withgil.pyx b/tests/compile/withgil.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/cdefkwargs.pyx b/tests/errors/cdefkwargs.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/cdefoptargs.pyx b/tests/errors/cdefoptargs.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/cmethbasematch.pyx b/tests/errors/cmethbasematch.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_addop.pyx b/tests/errors/e_addop.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_argdefault.pyx b/tests/errors/e_argdefault.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_ass.pyx b/tests/errors/e_ass.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_assnone.pyx b/tests/errors/e_assnone.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_badexcvaltype.pyx b/tests/errors/e_badexcvaltype.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_badfuncargtype.pyx b/tests/errors/e_badfuncargtype.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_badpyparam.pyx b/tests/errors/e_badpyparam.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_badtypeuse.pyx b/tests/errors/e_badtypeuse.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_bitop.pyx b/tests/errors/e_bitop.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_cdef_missing_declarator.pyx b/tests/errors/e_cdef_missing_declarator.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_cdefassign.pyx b/tests/errors/e_cdefassign.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_cdefemptysue.pyx b/tests/errors/e_cdefemptysue.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_cenum.pyx b/tests/errors/e_cenum.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_cmethbasematch.pyx b/tests/errors/e_cmethbasematch.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_cmp.pyx b/tests/errors/e_cmp.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_cstruct.pyx b/tests/errors/e_cstruct.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_ctypedefforward.pyx b/tests/errors/e_ctypedefforward.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_ctypedefornot.pyx b/tests/errors/e_ctypedefornot.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_declarations.pyx b/tests/errors/e_declarations.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_del.pyx b/tests/errors/e_del.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_excvalfunctype.pyx b/tests/errors/e_excvalfunctype.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_extmember.pyx b/tests/errors/e_extmember.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_extweakref.pyx b/tests/errors/e_extweakref.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_index.pyx b/tests/errors/e_index.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_modop.pyx b/tests/errors/e_modop.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_multass.pyx b/tests/errors/e_multass.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_nargs.pyx b/tests/errors/e_nargs.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_nogilcmeth.pxd b/tests/errors/e_nogilcmeth.pxd old mode 100644 new mode 100755 diff --git a/tests/errors/e_nogilcmeth.pyx b/tests/errors/e_nogilcmeth.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_nogilfunctype.pyx b/tests/errors/e_nogilfunctype.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_notnone.pyx b/tests/errors/e_notnone.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_notnone2.pyx b/tests/errors/e_notnone2.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_numop.pyx b/tests/errors/e_numop.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_powop.pyx b/tests/errors/e_powop.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_pyobinstruct.pyx b/tests/errors/e_pyobinstruct.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_redeclmeth.pyx b/tests/errors/e_redeclmeth.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_return.pyx b/tests/errors/e_return.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_sizeofincomplete.pyx b/tests/errors/e_sizeofincomplete.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_slice.pyx b/tests/errors/e_slice.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_subop.pyx b/tests/errors/e_subop.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_tempcast.pyx b/tests/errors/e_tempcast.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_undefexttype.pyx b/tests/errors/e_undefexttype.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_unop.pyx b/tests/errors/e_unop.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/e_while.pyx b/tests/errors/e_while.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/empty.pyx b/tests/errors/empty.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/encoding.pyx b/tests/errors/encoding.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/futurebraces.pyx b/tests/errors/futurebraces.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/nogil.pyx b/tests/errors/nogil.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/nogilcmeth.pxd b/tests/errors/nogilcmeth.pxd old mode 100644 new mode 100755 diff --git a/tests/errors/nogilcmeth.pyx b/tests/errors/nogilcmeth.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/nogilfunctype.pyx b/tests/errors/nogilfunctype.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/se_badindent.pyx b/tests/errors/se_badindent.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/se_badindent2.pyx b/tests/errors/se_badindent2.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/se_conddef.pyx b/tests/errors/se_conddef.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/se_mixtabspace.pyx b/tests/errors/se_mixtabspace.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/se_multass.pyx b/tests/errors/se_multass.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/se_nestdef.pyx b/tests/errors/se_nestdef.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/undefinedname.pyx b/tests/errors/undefinedname.pyx old mode 100644 new mode 100755 diff --git a/tests/errors/void_as_arg.pyx b/tests/errors/void_as_arg.pyx old mode 100644 new mode 100755 diff --git a/tests/run/__getattribute__.pyx b/tests/run/__getattribute__.pyx old mode 100644 new mode 100755 diff --git a/tests/run/__getattribute_subclasses__.pyx b/tests/run/__getattribute_subclasses__.pyx old mode 100644 new mode 100755 diff --git a/tests/run/addloop.pyx b/tests/run/addloop.pyx old mode 100644 new mode 100755 diff --git a/tests/run/addop.pyx b/tests/run/addop.pyx old mode 100644 new mode 100755 diff --git a/tests/run/addressof.pyx b/tests/run/addressof.pyx old mode 100644 new mode 100755 diff --git a/tests/run/altet2.pyx b/tests/run/altet2.pyx old mode 100644 new mode 100755 diff --git a/tests/run/anonymousenum.pyx b/tests/run/anonymousenum.pyx old mode 100644 new mode 100755 diff --git a/tests/run/append.pyx b/tests/run/append.pyx old mode 100644 new mode 100755 diff --git a/tests/run/ass2cglobal.pyx b/tests/run/ass2cglobal.pyx old mode 100644 new mode 100755 diff --git a/tests/run/ass2global.pyx b/tests/run/ass2global.pyx old mode 100644 new mode 100755 diff --git a/tests/run/ass2local.pyx b/tests/run/ass2local.pyx old mode 100644 new mode 100755 diff --git a/tests/run/assert.pyx b/tests/run/assert.pyx old mode 100644 new mode 100755 diff --git a/tests/run/attr.pyx b/tests/run/attr.pyx old mode 100644 new mode 100755 diff --git a/tests/run/baas3.pyx b/tests/run/baas3.pyx old mode 100644 new mode 100755 diff --git a/tests/run/backquote.pyx b/tests/run/backquote.pyx old mode 100644 new mode 100755 diff --git a/tests/run/behnel1.pyx b/tests/run/behnel1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/behnel2.pyx b/tests/run/behnel2.pyx old mode 100644 new mode 100755 diff --git a/tests/run/behnel3.pyx b/tests/run/behnel3.pyx old mode 100644 new mode 100755 diff --git a/tests/run/big_indices.pyx b/tests/run/big_indices.pyx old mode 100644 new mode 100755 diff --git a/tests/run/bishop1.pyx b/tests/run/bishop1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/bishop2.pyx b/tests/run/bishop2.pyx old mode 100644 new mode 100755 diff --git a/tests/run/boolop.pyx b/tests/run/boolop.pyx old mode 100644 new mode 100755 diff --git a/tests/run/bufaccess.pyx b/tests/run/bufaccess.pyx old mode 100644 new mode 100755 index 06417ab6..b596dfa0 --- a/tests/run/bufaccess.pyx +++ b/tests/run/bufaccess.pyx @@ -229,17 +229,17 @@ def fmtst1(buf): >>> fmtst1(IntMockBuffer("A", range(3))) Traceback (most recent call last): ... - TypeError: Buffer datatype mismatch (rejecting on 'i') + ValueError: Buffer datatype mismatch (rejecting on 'i') """ cdef object[float] a = buf @testcase def fmtst2(object[int] buf): """ - >>> fmtst1(FloatMockBuffer("A", range(3))) + >>> fmtst2(FloatMockBuffer("A", range(3))) Traceback (most recent call last): ... - TypeError: Buffer datatype mismatch (rejecting on 'f') + ValueError: Buffer datatype mismatch (rejecting on 'f') """ @testcase @@ -248,7 +248,7 @@ def ndim1(object[int, 2] buf): >>> ndim1(IntMockBuffer("A", range(3))) Traceback (most recent call last): ... - TypeError: Buffer datatype mismatch (rejecting on 'f') + ValueError: Buffer has wrong number of dimensions (expected 2, got 1) """ diff --git a/tests/run/buffer.pyx b/tests/run/buffer.pyx old mode 100644 new mode 100755 diff --git a/tests/run/carrays.pyx b/tests/run/carrays.pyx old mode 100644 new mode 100755 diff --git a/tests/run/cdefassign.pyx b/tests/run/cdefassign.pyx old mode 100644 new mode 100755 diff --git a/tests/run/cdefoptargs.pyx b/tests/run/cdefoptargs.pyx old mode 100644 new mode 100755 diff --git a/tests/run/cfuncdef.pyx b/tests/run/cfuncdef.pyx old mode 100644 new mode 100755 diff --git a/tests/run/cintop.pyx b/tests/run/cintop.pyx old mode 100644 new mode 100755 diff --git a/tests/run/classbody_exec.pyx b/tests/run/classbody_exec.pyx old mode 100644 new mode 100755 diff --git a/tests/run/classkwonlyargs.pyx b/tests/run/classkwonlyargs.pyx old mode 100644 new mode 100755 diff --git a/tests/run/classmethod.pyx b/tests/run/classmethod.pyx old mode 100644 new mode 100755 diff --git a/tests/run/classpass.pyx b/tests/run/classpass.pyx old mode 100644 new mode 100755 diff --git a/tests/run/compiledef.pyx b/tests/run/compiledef.pyx old mode 100644 new mode 100755 diff --git a/tests/run/concatcstrings.pyx b/tests/run/concatcstrings.pyx old mode 100644 new mode 100755 diff --git a/tests/run/cstringmeth.pyx b/tests/run/cstringmeth.pyx old mode 100644 new mode 100755 diff --git a/tests/run/cstringmul.pyx b/tests/run/cstringmul.pyx old mode 100644 new mode 100755 diff --git a/tests/run/cstruct.pyx b/tests/run/cstruct.pyx old mode 100644 new mode 100755 diff --git a/tests/run/ct_DEF.pyx b/tests/run/ct_DEF.pyx old mode 100644 new mode 100755 diff --git a/tests/run/ct_IF.pyx b/tests/run/ct_IF.pyx old mode 100644 new mode 100755 diff --git a/tests/run/cunion.pyx b/tests/run/cunion.pyx old mode 100644 new mode 100755 diff --git a/tests/run/cvardef.pyx b/tests/run/cvardef.pyx old mode 100644 new mode 100755 diff --git a/tests/run/decorators.pyx b/tests/run/decorators.pyx old mode 100644 new mode 100755 diff --git a/tests/run/dict.pyx b/tests/run/dict.pyx old mode 100644 new mode 100755 diff --git a/tests/run/dietachmayer1.pyx b/tests/run/dietachmayer1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/exarkun.pyx b/tests/run/exarkun.pyx old mode 100644 new mode 100755 diff --git a/tests/run/exceptionpropagation.pyx b/tests/run/exceptionpropagation.pyx old mode 100644 new mode 100755 diff --git a/tests/run/extclassbody.pyx b/tests/run/extclassbody.pyx old mode 100644 new mode 100755 diff --git a/tests/run/extclasspass.pyx b/tests/run/extclasspass.pyx old mode 100644 new mode 100755 diff --git a/tests/run/extcmethod.pyx b/tests/run/extcmethod.pyx old mode 100644 new mode 100755 diff --git a/tests/run/extinherit.pyx b/tests/run/extinherit.pyx old mode 100644 new mode 100755 diff --git a/tests/run/extinstantiate.pyx b/tests/run/extinstantiate.pyx old mode 100644 new mode 100755 diff --git a/tests/run/extkwonlyargs.pyx b/tests/run/extkwonlyargs.pyx old mode 100644 new mode 100755 diff --git a/tests/run/extlen.pyx b/tests/run/extlen.pyx old mode 100644 new mode 100755 diff --git a/tests/run/extpropertyref.pyx b/tests/run/extpropertyref.pyx old mode 100644 new mode 100755 diff --git a/tests/run/extstarargs.pyx b/tests/run/extstarargs.pyx old mode 100644 new mode 100755 diff --git a/tests/run/exttype.pyx b/tests/run/exttype.pyx old mode 100644 new mode 100755 diff --git a/tests/run/filenames.pxi b/tests/run/filenames.pxi old mode 100644 new mode 100755 diff --git a/tests/run/filenames.pyx b/tests/run/filenames.pyx old mode 100644 new mode 100755 diff --git a/tests/run/flatin.pyx b/tests/run/flatin.pyx old mode 100644 new mode 100755 diff --git a/tests/run/future_division.pyx b/tests/run/future_division.pyx old mode 100644 new mode 100755 diff --git a/tests/run/future_unicode_literals.pyx b/tests/run/future_unicode_literals.pyx old mode 100644 new mode 100755 diff --git a/tests/run/getattr3call.pyx b/tests/run/getattr3call.pyx old mode 100644 new mode 100755 diff --git a/tests/run/if.pyx b/tests/run/if.pyx old mode 100644 new mode 100755 diff --git a/tests/run/include.pyx b/tests/run/include.pyx old mode 100644 new mode 100755 diff --git a/tests/run/inhcmethcall.pyx b/tests/run/inhcmethcall.pyx old mode 100644 new mode 100755 diff --git a/tests/run/inop.pyx b/tests/run/inop.pyx old mode 100644 new mode 100755 diff --git a/tests/run/inplace.pyx b/tests/run/inplace.pyx old mode 100644 new mode 100755 diff --git a/tests/run/ishimoto2.pyx b/tests/run/ishimoto2.pyx old mode 100644 new mode 100755 diff --git a/tests/run/ishimoto3.pyx b/tests/run/ishimoto3.pyx old mode 100644 new mode 100755 diff --git a/tests/run/isnonebool.pyx b/tests/run/isnonebool.pyx old mode 100644 new mode 100755 diff --git a/tests/run/iteratorexception.pyx b/tests/run/iteratorexception.pyx old mode 100644 new mode 100755 diff --git a/tests/run/jarausch1.pyx b/tests/run/jarausch1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/king1.pyx b/tests/run/king1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/kostyrka.pyx b/tests/run/kostyrka.pyx old mode 100644 new mode 100755 diff --git a/tests/run/kostyrka2.pyx b/tests/run/kostyrka2.pyx old mode 100644 new mode 100755 diff --git a/tests/run/kwargproblems.pyx b/tests/run/kwargproblems.pyx old mode 100644 new mode 100755 diff --git a/tests/run/kwonlyargs.pyx b/tests/run/kwonlyargs.pyx old mode 100644 new mode 100755 diff --git a/tests/run/kwonlyargscall.pyx b/tests/run/kwonlyargscall.pyx old mode 100644 new mode 100755 diff --git a/tests/run/lepage_1.pyx b/tests/run/lepage_1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/list.pyx b/tests/run/list.pyx old mode 100644 new mode 100755 diff --git a/tests/run/literals.pyx b/tests/run/literals.pyx old mode 100644 new mode 100755 diff --git a/tests/run/menten1.pyx b/tests/run/menten1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/modbody.pyx b/tests/run/modbody.pyx old mode 100644 new mode 100755 diff --git a/tests/run/modop.pyx b/tests/run/modop.pyx old mode 100644 new mode 100755 diff --git a/tests/run/multass.pyx b/tests/run/multass.pyx old mode 100644 new mode 100755 diff --git a/tests/run/new_style_exceptions.pyx b/tests/run/new_style_exceptions.pyx old mode 100644 new mode 100755 diff --git a/tests/run/nogil.pyx b/tests/run/nogil.pyx old mode 100644 new mode 100755 diff --git a/tests/run/nononetypecheck.pyx b/tests/run/nononetypecheck.pyx old mode 100644 new mode 100755 diff --git a/tests/run/notinop.pyx b/tests/run/notinop.pyx old mode 100644 new mode 100755 diff --git a/tests/run/pass.pyx b/tests/run/pass.pyx old mode 100644 new mode 100755 diff --git a/tests/run/pinard5.pyx b/tests/run/pinard5.pyx old mode 100644 new mode 100755 diff --git a/tests/run/pinard6.pyx b/tests/run/pinard6.pyx old mode 100644 new mode 100755 diff --git a/tests/run/pinard7.pyx b/tests/run/pinard7.pyx old mode 100644 new mode 100755 diff --git a/tests/run/pinard8.pyx b/tests/run/pinard8.pyx old mode 100644 new mode 100755 diff --git a/tests/run/powop.pyx b/tests/run/powop.pyx old mode 100644 new mode 100755 diff --git a/tests/run/print.pyx b/tests/run/print.pyx old mode 100644 new mode 100755 diff --git a/tests/run/pycmp.pyx b/tests/run/pycmp.pyx old mode 100644 new mode 100755 diff --git a/tests/run/pyextattrref.pyx b/tests/run/pyextattrref.pyx old mode 100644 new mode 100755 diff --git a/tests/run/pyintop.pyx b/tests/run/pyintop.pyx old mode 100644 new mode 100755 diff --git a/tests/run/pylistsubtype.pyx b/tests/run/pylistsubtype.pyx old mode 100644 new mode 100755 diff --git a/tests/run/pynumop.pyx b/tests/run/pynumop.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_addint.pyx b/tests/run/r_addint.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_argdefault.pyx b/tests/run/r_argdefault.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_barbieri1.pyx b/tests/run/r_barbieri1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_bishop3.pyx b/tests/run/r_bishop3.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_bowden1.pyx b/tests/run/r_bowden1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_delgado_1.pyx b/tests/run/r_delgado_1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_docstrings.pyx b/tests/run/r_docstrings.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_extcomplex2.pyx b/tests/run/r_extcomplex2.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_extstarargs.pyx b/tests/run/r_extstarargs.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_forloop.pyx b/tests/run/r_forloop.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_hordijk1.pyx b/tests/run/r_hordijk1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_huss3.pyx b/tests/run/r_huss3.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_jeff_epler_1.pyx b/tests/run/r_jeff_epler_1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_jiba1.pxd b/tests/run/r_jiba1.pxd old mode 100644 new mode 100755 diff --git a/tests/run/r_jiba1.pyx b/tests/run/r_jiba1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_lepage_3.pyx b/tests/run/r_lepage_3.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_mang1.pyx b/tests/run/r_mang1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_mcintyre1.pyx b/tests/run/r_mcintyre1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_mitch_chapman_2.pyx b/tests/run/r_mitch_chapman_2.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_primes.pyx b/tests/run/r_primes.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_print.pyx b/tests/run/r_print.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_pyclass.pyx b/tests/run/r_pyclass.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_pyclassdefault.pyx b/tests/run/r_pyclassdefault.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_pythonapi.pyx b/tests/run/r_pythonapi.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_spamtype.pyx b/tests/run/r_spamtype.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_starargcall.pyx b/tests/run/r_starargcall.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_starargs.pyx b/tests/run/r_starargs.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_starargsonly.pyx b/tests/run/r_starargsonly.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_toofewargs.pyx b/tests/run/r_toofewargs.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_uintindex.pyx b/tests/run/r_uintindex.pyx old mode 100644 new mode 100755 diff --git a/tests/run/r_vree_1.pyx b/tests/run/r_vree_1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/ref2local.pyx b/tests/run/ref2local.pyx old mode 100644 new mode 100755 diff --git a/tests/run/return.pyx b/tests/run/return.pyx old mode 100644 new mode 100755 diff --git a/tests/run/returnparassign.pyx b/tests/run/returnparassign.pyx old mode 100644 new mode 100755 diff --git a/tests/run/rodriguez_1.pyx b/tests/run/rodriguez_1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/simpcall.pyx b/tests/run/simpcall.pyx old mode 100644 new mode 100755 diff --git a/tests/run/sizeof.pyx b/tests/run/sizeof.pyx old mode 100644 new mode 100755 diff --git a/tests/run/slice2.pyx b/tests/run/slice2.pyx old mode 100644 new mode 100755 diff --git a/tests/run/slice3.pyx b/tests/run/slice3.pyx old mode 100644 new mode 100755 diff --git a/tests/run/specialfloat.pyx b/tests/run/specialfloat.pyx old mode 100644 new mode 100755 diff --git a/tests/run/starargs.pyx b/tests/run/starargs.pyx old mode 100644 new mode 100755 diff --git a/tests/run/staticmethod.pyx b/tests/run/staticmethod.pyx old mode 100644 new mode 100755 diff --git a/tests/run/strconstinclass.pyx b/tests/run/strconstinclass.pyx old mode 100644 new mode 100755 diff --git a/tests/run/strfunction.pyx b/tests/run/strfunction.pyx old mode 100644 new mode 100755 diff --git a/tests/run/strliterals.pyx b/tests/run/strliterals.pyx old mode 100644 new mode 100755 diff --git a/tests/run/subop.pyx b/tests/run/subop.pyx old mode 100644 new mode 100755 diff --git a/tests/run/switch.pyx b/tests/run/switch.pyx old mode 100644 new mode 100755 diff --git a/tests/run/tandemstats.pyx b/tests/run/tandemstats.pyx old mode 100644 new mode 100755 diff --git a/tests/run/testinclude.pxi b/tests/run/testinclude.pxi old mode 100644 new mode 100755 diff --git a/tests/run/tuple.pyx b/tests/run/tuple.pyx old mode 100644 new mode 100755 diff --git a/tests/run/tuplereassign.pyx b/tests/run/tuplereassign.pyx old mode 100644 new mode 100755 diff --git a/tests/run/unicodefunction.pyx b/tests/run/unicodefunction.pyx old mode 100644 new mode 100755 diff --git a/tests/run/unicodeliterals.pyx b/tests/run/unicodeliterals.pyx old mode 100644 new mode 100755 diff --git a/tests/run/unicodeliteralsdefault.pyx b/tests/run/unicodeliteralsdefault.pyx old mode 100644 new mode 100755 diff --git a/tests/run/unicodeliteralslatin1.pyx b/tests/run/unicodeliteralslatin1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/unop.pyx b/tests/run/unop.pyx old mode 100644 new mode 100755 diff --git a/tests/run/unpack.pyx b/tests/run/unpack.pyx old mode 100644 new mode 100755 diff --git a/tests/run/unpacklistcomp.pyx b/tests/run/unpacklistcomp.pyx old mode 100644 new mode 100755 diff --git a/tests/run/varargcall.pyx b/tests/run/varargcall.pyx old mode 100644 new mode 100755 diff --git a/tests/run/varargdecl.pyx b/tests/run/varargdecl.pyx old mode 100644 new mode 100755 diff --git a/tests/run/watts1.pyx b/tests/run/watts1.pyx old mode 100644 new mode 100755 diff --git a/tests/run/withnogil.pyx b/tests/run/withnogil.pyx old mode 100644 new mode 100755 diff --git a/tests/run/withstat.pyx b/tests/run/withstat.pyx old mode 100644 new mode 100755 diff --git a/tests/run/wundram1.pyx b/tests/run/wundram1.pyx old mode 100644 new mode 100755