[Cython] problematic code in C++ pyregr tests

Vitja Makarov vitja.makarov at gmail.com
Sun Jul 31 11:14:01 CEST 2011


2011/7/31 Stefan Behnel <stefan_ml at behnel.de>:
> Hi,
>
> I noticed a couple of problems in the latest pyregr test run for py3k.
>
> https://sage.math.washington.edu:8091/hudson/job/cython-devel-tests-pyregr-py3k-cpp/951/consoleFull
>
> 1) test_contextlib.cpp:16926: warning: deprecated conversion from string
> constant to ‘char*’
>
> This repeated warning refers (I assume) to each literal in this code:
>
> """
> char* __pyx_import_star_type_names[] = {
>  "__pyx_scope_struct_2_test_contextmanager_finally",
>  "__pyx_scope_struct_19_test_contextmanager_as_decorator",
>  [...]
>  "__pyx_scope_struct_6_test_contextmanager_except",
>  "__pyx_scope_struct_12_testWithCondition",
>  0
> };
> """
>
> This looks like a standard C++ WTF to me. I noticed that Lisandro keeps
> casting string literals in his code, so I wonder if that's something we need
> to do here as well?
>

That's really annoying. I was bothering this in CyFunction branch. I
think we should introduce new macro here:

#define __Pyx_STRCONST(x) ((char *) (x))

>
> 6) several tests bail out with
>
> """
> File "runtests.py", line 900, in run_test
>    except (unittest.SkipTest, support.ResourceDenied):
> AttributeError: 'module' object has no attribute 'ResourceDenied'
> """
>
> I guess that's an incompatibility of our test runner with the latest Py3k.
>

That's because latest py3k has test_support module again:

        try:
            from test import test_support as support
        except ImportError: # Py3k
            from test import support

Think I should change the order

-- 
vitja.


More information about the cython-devel mailing list