Thanks for the feedback. Obviously we don't do enough testing on your system.
On Nov 5, 2009, at 7:46 AM, [email protected] wrote: > After adding the following to the runtests (copied from pyxbuild.py, I > don't know why config_files are parsed twice), > the tests run with MingW (3.4.5) as compiler. > > I get (failures=4, errors=14) which I have no idea what they mean > (setup problem or real), see full output below. > > Josef > > ######## added to runtests.py > config_files = distutils_distro.find_config_files() > try: config_files.remove('setup.cfg') > except ValueError: pass > distutils_distro.parse_config_files(config_files) > > cfgfiles = distutils_distro.find_config_files() > try: cfgfiles.remove('setup.cfg') > except ValueError: pass > distutils_distro.parse_config_files(cfgfiles) > ############# > > > C:\Josef\work-oth\Cython-0.12.alpha0>python runtests.py > Running tests against Cython 0.12.alpha0 > Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit > (Intel)] > > bufaccess_noassignT444.c:1061: warning: '__Pyx_GetBufferAndValidate' > defined but > not used [...] we have got to cut down on the number of warnings we are starting to generate... > numpy_test.cpp:10259: warning: 'int __Pyx_EndUnpack(PyObject*)' > defined but not > used > > === Expected errors: === > > > > === Got errors: === > 2:21: Error in compile-time expression: ValueError: invalid literal > for float(): > nan > 3:22: Error in compile-time expression: ValueError: invalid literal > for float(): > +inf > 4:22: Error in compile-time expression: ValueError: invalid literal > for float(): > -inf What happens when you do this in your Python? >>> float('+inf'), float('-inf'), float('nan') (inf, -inf, nan) >>> 1e300 * 1e300 inf >>> 1e300 * 1e300 * 0 nan > ====================================================================== > ERROR: compiling (c) callingconvention > ERROR: compiling (c) cnamespec > ERROR: compiling (c) declarations > ERROR: compiling (c) excvalcheck > ERROR: compiling (c) nogil > ---------------------------------------------------------------------- > LinkError: command 'gcc' failed with exit status 1 > > ====================================================================== > ERROR: compiling (cpp) callingconvention > ERROR: compiling (cpp) cnamespec > ERROR: compiling (cpp) cpp_exceptions_T265 > ERROR: compiling (cpp) declarations > ERROR: compiling (cpp) excvalcheck > ERROR: compiling (cpp) nogil > ---------------------------------------------------------------------- > LinkError: command 'g++' failed with exit status 1 These look like http://trac.cython.org/cython_trac/ticket/106 . Unfortunately they've been around for a while, but I think it'll take a windows developer to fix them. I'm keeping them on the radar though. Anyone have any ideas? It'd be great to finally knock these out. Note these are all compile (not run). They might be referring to non- existent methods. In that case, I bet re-writing the tests could get rid of these for once and for all. > ====================================================================== > ERROR: compiling (cpp) and running cpp_exceptions > ---------------------------------------------------------------------- > CompileError: command 'gcc' failed with exit status 1 There's a better test in tests/run that is a superset of this one (and actually gets tested, not just compiled). I've just removed this test, as it breaks on Windows due to using fake functions. > ====================================================================== > ERROR: compiling (c) and running specialfloat > ERROR: compiling (cpp) and running specialfloat > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "runtests.py", line 398, in run > self.runCompileTest() > File "runtests.py", line 271, in runCompileTest > self.directory, self.expect_errors, self.annotate) > File "runtests.py", line 376, in compile > self.assertEquals(None, unexpected_error) > AssertionError: None != u'2:21: Error in compile-time expression: > ValueError: in > valid literal for float(): nan' See above. > ====================================================================== > FAIL: Doctest: float_floor_division_T260.__test__.floor_div_float > (line 1) > FAIL: Doctest: float_floor_division_T260.__test__.floor_div_float > (line 1) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "C:\Programs\Python25\lib\doctest.py", line 2128, in runTest > raise self.failureException(self.format_failure(new.getvalue())) > AssertionError: Failed doctest test for > float_floor_division_T260.__test__.floor > _div_float (line 1) > File "C:\Josef\work-oth\Cython-0.12.alpha0\BUILD\run\cpp > \float_floor_division_ > T260.pyd", line unknown line number, in floor_div_float (line 1) > > ---------------------------------------------------------------------- > File "C:\Josef\work-oth\Cython-0.12.alpha0\BUILD\run\cpp > \float_floor_division_T2 > 60.pyd", line ?, in > float_floor_division_T260.__test__.floor_div_float (line 1) > Failed example: > floor_div_float(1e10, 1e-10) > Expected: > 1e+20 > Got: > 1e+020 What do you get for >>> float('1e20') 1e+20 in your Python? This (and the errors above) might be http://bugs.python.org/issue1635 > ====================================================================== > FAIL: Doctest: profile_test > FAIL: Doctest: profile_test > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "C:\Programs\Python25\lib\doctest.py", line 2128, in runTest > raise self.failureException(self.format_failure(new.getvalue())) > AssertionError: Failed doctest test for profile_test > File "C:\Josef\work-oth\Cython-0.12.alpha0\BUILD\run\cpp > \profile_test.pyd", li > ne 36, in profile_test > > ---------------------------------------------------------------------- > File "C:\Josef\work-oth\Cython-0.12.alpha0\BUILD\run\cpp > \profile_test.pyd", line > 57, in profile_test > Failed example: > os.unlink(statsfile) > Exception raised: > Traceback (most recent call last): > File "C:\Programs\Python25\lib\doctest.py", line 1228, in __run > compileflags, 1) in test.globs > File "<doctest profile_test[11]>", line 1, in <module> > os.unlink(statsfile) > WindowsError: [Error 32] The process cannot access the file > because it is be > ing used by another process: 'c:\\docume~1\\carrasco\\locals~1\\temp\ > \tmpm6kkx5' That's a strange one. If os.fork is available (though it shouldn't be on Windows), could you try python runtests.py --no-fork profile_test > ---------------------------------------------------------------------- > Ran 2950 tests in 1474.453s > > FAILED (failures=4, errors=14) Well, at least most of them passed :). Was that on a heavily loaded system, or is MingW just a really slow compiler? Thanks again, - Robert _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
