Tests are failing when testing using SQLite-3.12.0
The latest ( 1.0.12 ) sqlalchemy test suite is generating some failures (fail) when SQLite-3.12.0 is installed and used . I'm on mageia linux x86-64 v6. The output is:
__________________ ReflectionTest_sqlite_pysqlite.test_views ___________________
Traceback (most recent call last):
File "/home/shlomif/Download/unpack/Mageia/TO_DEL/python-sqlalchemy/BUILD/SQLAlchemy-1.0.12/test/engine/test_reflection.py", line 1019, in test_views
self.assert_types_base(c1, c2)
File "/home/shlomif/Download/unpack/Mageia/TO_DEL/python-sqlalchemy/BUILD/SQLAlchemy-1.0.12/test/../lib/sqlalchemy/testing/assertions.py", line 373, in assert_types_base
(c1.name, c1.type, c2.type)
File "/home/shlomif/Download/unpack/Mageia/TO_DEL/python-sqlalchemy/BUILD/SQLAlchemy-1.0.12/test/../lib/sqlalchemy/sql/type_api.py", line 481, in __str__
return unicode(self.compile()).\
File "/home/shlomif/Download/unpack/Mageia/TO_DEL/python-sqlalchemy/BUILD/SQLAlchemy-1.0.12/test/../lib/sqlalchemy/sql/type_api.py", line 468, in compile
return dialect.type_compiler.process(self)
File "/home/shlomif/Download/unpack/Mageia/TO_DEL/python-sqlalchemy/BUILD/SQLAlchemy-1.0.12/test/../lib/sqlalchemy/sql/compiler.py", line 261, in process
return type_._compiler_dispatch(self, **kw)
File "/home/shlomif/Download/unpack/Mageia/TO_DEL/python-sqlalchemy/BUILD/SQLAlchemy-1.0.12/test/../lib/sqlalchemy/sql/visitors.py", line 81, in _compiler_dispatch
return meth(self, **kw)
File "/home/shlomif/Download/unpack/Mageia/TO_DEL/python-sqlalchemy/BUILD/SQLAlchemy-1.0.12/test/../lib/sqlalchemy/sql/compiler.py", line 2608, in visit_null
"type on this Column?" % type_)
CompileError: Can't generate DDL for NullType(); did you forget to specify a type on this Column?
=========================== short test summary info ============================
FAIL test/dialect/test_suite.py::ComponentReflectionTest_sqlite_pysqlite::()::test_get_view_columns
FAIL test/engine/test_reflection.py::ReflectionTest_sqlite_pysqlite::()::test_views
============= 2 failed, 6538 passed, 790 skipped in 179.39 seconds =============
error: Bad exit status from /home/shlomif/Download/unpack/Mageia/TO_DEL/python-sqlalchemy/BUILDROOT/rpm-tmp.O7GkS3 (%check)
RPM build errors:
Bad exit status from /home/shlomif/Download/unpack/Mageia/TO_DEL/python-sqlalchemy/BUILDROOT/rpm-tmp.O7GkS3 (%check)
error: failed!
Please look into fixing it.
Comments (8)
-
repo owner -
repo owner - marked as blocker
- changed component to cextensions
- changed milestone to 1.0.xx
at least one major upstream issue I've posted at Python.org: http://bugs.python.org/issue26690
This is in the C extensions. If you run tests without C exts, there are fewer failures (but still some).
that's a big one though and that has to be figured out.
-
repo owner OK I think the C ext part is a false alarm.
-
repo owner OK, definite bug on the sqlite3 side, am waiting for mailing list confirm from sqlite so I can report it:
SQLite version 3.11.0 2016-02-15 17:29:24 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite> CREATE TABLE users ( ...> user_id INTEGER NOT NULL ...> ); sqlite> CREATE VIEW users_v AS SELECT * FROM users; sqlite> PRAGMA table_info("users_v"); 0|user_id|INTEGER|0||0
SQLite version 3.12.0 2016-03-29 10:14:15 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite> CREATE TABLE users ( user_id INTEGER NOT NULL ) ...> ...> ...> ; sqlite> CREATE VIEW users_v AS SELECT * FROM users; sqlite> PRAGMA table_info("users_v"); 0|user_id||0||0
-
repo owner sqlite 3.12.1 is out which fixes the issue with views here: http://sqlite.org/releaselog/3_12_1.html
if you can get your distro to upgrade, we can run the tests again (or I'll get around to it on this end)
-
reporter @zzzeek : thanks! I'm working on it. I'm going to upgrade sqlite to 3.12.1 on mageia and later see where we stand.
-
reporter @zzzeek : sqlalchemy-1.0.12's tests pass now with SQLite 3.12.1. I submitted an update to Mageia v6 - http://pkgsubmit.mageia.org/ . Thanks for your help!
-
repo owner - changed status to resolved
terrific thanks!
- Log in to comment
Just FYI, testing new versions of SQlite is an enormous task because the SQLite project does not produce a proper platform independent source distribution - they only give you an "amalgamation" .c file with no Makefile or anything, and it doesn't just build despite the author's assurances that its simple. I have to build from Fedora packages which is very time consuming, then build Python to link to the newest .h file.
This version of SQLite only came out five days ago so is unlikely to affect a lot of people for many months.