On Thursday, November 25, 2010 02:29 am, Michael Bayer wrote > well I'd just take those tests out of 0.5 , I'm not sure if theres any > other way to affect the outcome of "nosetests" without modifying SQLA code > or tests directly. I finally had time to resolve this. Link to my patch (just for tracking purposes): http://pkgs.fedoraproject.org/gitweb/?p=python-sqlalchemy0.5.git;a=blob;f=python-sqlalchemy0.5- py27.patch;h=6946e846f1430bb9d7dc1137eea9afa8e7eb822e;hb=HEAD
If anyone has less awkward solution, please let me know. Regards, Martin > > On Nov 24, 2010, at 8:17 PM, Martin Bacovsky wrote: > > On Thursday, November 25, 2010 01:41 am, Michael Bayer wrote > > > >> there might be some dictionary ordering dependencies in those tests, > >> which will not behave consistently across platforms. > >> > >> if they fail with 0.6.5 as well, let me know and we'll file a ticket. > >> There aren't any 0.5 releases planned. > > > > Thanks for the quick response. > > With 0.6.5 I didn't noticed this issue, but I need to use 0.5.x because > > of some dependences. I suspect dictionary ordering too, but it seems to > > be somewhere in statement compiler which I don't feel like to touch ;). > > I'll rather try to add some workaround in the tests. > > > > Regards, > > Martin > > > >> On Nov 24, 2010, at 7:06 PM, Martin Bacovsky wrote: > >>> Hi, > >>> I'm trying to build SqlAlchemy 0.5.8 (Linux, python 2.7.0). > >>> From time to time some of the tests fail. > >>> > >>> - the sources are always the same > >>> - so far the only affected tests were those testing compilation of > >>> statements with joined tables - the orderning of the tables in the from > >>> clause seems to be random - sometimes match the expected stmt sometimes > >>> not - it also seems that on different machines different tests tend to > >>> fail :O. > >>> > >>> Excerpt from buildlog showing the behaviour is attached. > >>> > >>> Does anyone have met this issue? Any idea how to deal with it? > >>> > >>> For the sake of completeness I add that there was also test failing on > >>> @profiling.function_call_count which I fixed by adding expected numbers > >>> for python 2.7. But I don't expect it is related. > >>> > >>> Regards, > >>> Martin > >>> > >>> nosetests > >>> ....................................................................... > >>> .. > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> ...................................................................... > >>> ... > >>> .......F.............................................................. > >>> ... ................................................. > >>> ====================================================================== > >>> FAIL: test.sql.test_select.SelectTest.test_binds > >>> ---------------------------------------------------------------------- > >>> > >>> Traceback (most recent call last): > >>> File "/usr/lib/python2.7/site-packages/nose/case.py", line 186, in > >>> runTest > >>> > >>> self.test(*self.arg) > >>> > >>> File > >>> "/builddir/build/BUILD/SQLAlchemy-0.5.8/lib/sqlalchemy/test/testing.py > >>> ", line 368, in safe > >>> > >>> return fn(*args, **kw) > >>> > >>> File "/builddir/build/BUILD/SQLAlchemy-0.5.8/test/sql/test_select.py", > >>> line 1193, in test_binds > >>> > >>> self.assert_compile(stmt, expected_named_stmt, > >>> params=expected_default_params_dict) > >>> > >>> File > >>> "/builddir/build/BUILD/SQLAlchemy-0.5.8/lib/sqlalchemy/test/testing.py > >>> ", line 562, in assert_compile > >>> > >>> eq_(cc, result, "%r != %r on dialect %r" % (cc, result, dialect)) > >>> > >>> File > >>> "/builddir/build/BUILD/SQLAlchemy-0.5.8/lib/sqlalchemy/test/testing.py > >>> ", line 435, in eq_ > >>> > >>> assert a == b, msg or "%r != %r" % (a, b) > >>> > >>> AssertionError: 'SELECT mytable.myid, mytable.name, mytable.description > >>> FROM myothertable, mytable WHERE mytable.myid = :myid OR > >>> myothertable.otherid = :myotherid' != 'SELECT mytable.myid, > >>> mytable.name, mytable.description FROM mytable, myothertable WHERE > >>> mytable.myid = :myid OR myothertable.otherid = :myotherid' on dialect > >>> None -------------------- >> begin captured stdout << > >>> --------------------- SQL String: > >>> SELECT mytable.myid, mytable.name, mytable.description, > >>> myothertable.otherid, myothertable.othername FROM mytable, myothertable > >>> WHERE mytable.myid = myothertable.otherid AND mytable.name = > >>> > >>> :mytablename{'mytablename': None} SQL String: > >>> SELECT mytable.myid, mytable.name, mytable.description, > >>> myothertable.otherid, myothertable.othername FROM mytable, myothertable > >>> WHERE mytable.myid = myothertable.otherid AND mytable.name = > >>> ?{'mytablename': None} SQL String: > >>> SELECT mytable.myid, mytable.name, mytable.description > >>> FROM mytable, myothertable > >>> WHERE mytable.myid = :myid OR myothertable.otherid = :myid{'myid': > >>> None} SQL String: > >>> SELECT mytable.myid, mytable.name, mytable.description > >>> FROM mytable, myothertable > >>> WHERE mytable.myid = ? OR myothertable.otherid = ?{'myid': None} > >>> SQL String: > >>> SELECT mytable.myid, mytable.name, mytable.description FROM mytable, > >>> myothertable WHERE mytable.myid = :myid OR myothertable.otherid = > >>> > >>> :myid{'myid': None} SQL String: > >>> SELECT mytable.myid, mytable.name, mytable.description FROM mytable, > >>> myothertable WHERE mytable.myid = ? OR myothertable.otherid = ?{'myid': > >>> None} SQL String: > >>> SELECT mytable.myid, mytable.name, mytable.description > >>> FROM mytable, myothertable > >>> WHERE mytable.myid = :myid_1 OR myothertable.otherid = > >>> :myid_2{u'myid_2': None, u'myid_1': None} SQL String: > >>> SELECT mytable.myid, mytable.name, mytable.description > >>> FROM mytable, myothertable > >>> WHERE mytable.myid = ? OR myothertable.otherid = ?{u'myid_2': None, > >>> u'myid_1': None} > >>> > >>> SQL String: > >>> :test || 'hi'{'test': None} > >>> > >>> SQL String: > >>> ? || 'hi'{'test': None} > >>> SQL String: > >>> SELECT mytable.myid, mytable.name, mytable.description > >>> FROM myothertable, mytable > >>> WHERE mytable.myid = :myid OR myothertable.otherid = :myotherid{'myid': > >>> 8, 'myotherid': 7} --------------------- >> end captured stdout << > >>> ---------------------- > >>> ---------------------------------------------------------------------- > >>> Ran 1947 tests in 54.771s > >>> FAILED (failures=1) -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalch...@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.