Edgewall Software

Opened 2 years ago

Closed 17 months ago

#13478 closed defect (fixed)

Failure with trac.db.tests.sqlite_test.SQLiteConnectionTestCase — at Version 3

Reported by: Ryan J Ollos Owned by: Jun Omae
Priority: normal Milestone: 1.4.4
Component: general Version:
Severity: normal Keywords:
Cc: Branch:
Release Notes:

Adapted PRAGMA table_info() since SQLite 3.37.

API Changes:
Internal Changes:

Description

Failure running tests with SQLite (make test).

$ make status

Python: /Users/rjollos/.pyenv/shims/python

  Package        Version
  ----------------------------------------------------------
  Python       : 2.7.18 (default, May 21 2021, 10:46:44)
               : [GCC Apple LLVM 12.0.5 (clang-1205.0.22.9)]
  Setuptools   : 44.1.1
  Pip          : 20.3.4
  Wheel        : 0.36.2
  Jinja2       : 2.11.3
  Genshi       : 0.7.5 (with speedups)
  Babel        : 2.9.1
  sqlite3      : 2.6.0 (3.38.2)
  PySqlite     : not installed
  PyMySQL      : 0.10.1
  Psycopg2     : 2.8.6 (dt dec pq3 ext lo64)
  SVN bindings : 1.13.0 (r1867053)
  Mercurial    : 5.8
  Pygments     : 2.5.2
  Textile      : 3.0.4
  Pytz         : 2021.1
  Docutils     : 0.17.1
  Twill        : 0.9
  LXML         : 4.6.3
  coverage     : 5.5

Variables:
  PATH=/Users/rjollos/Documents/Workspace/trac-dev/bin:/Users/rjollos/.pyenv/shims:/usr/local/opt/sqlite/bin:/usr/local/opt/gnu-sed/libexec/gnubin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/Library/TeX/texbin:/usr/local/munki:/opt/X11/bin:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Applications/Wireshark.app/Contents/MacOS:/Users/rjollos/.pyenv/bin
  PYTHONPATH=.
  TRAC_TEST_DB_URI=
  server-options= -p 8000 -a '*,/Users/rjollos/Documents/Workspace/trac-dev/tracenvs/htdigest.trac,trac' -r -e /Users/rjollos/Documents/Workspace/trac-dev/tracenvs

External dependencies:
  Git version: git version 2.35.1
  Subversion version: 1.13.0
======================================================================
FAIL: test_remove_simple_keys (trac.db.tests.sqlite_test.SQLiteConnectionTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "trac/db/tests/sqlite_test.py", line 186, in test_remove_simple_keys
    coldef['enabled'], coldef['extra']], columns_0)
AssertionError: Lists differ: [{'column': 'id', 'default': N... != [{'column': u'id', 'default': ...

First differing element 0:
{'column': 'id', 'default': None, 'type': 'integer', 'pk': 1, 'notnull': 0}
{'column': u'id', 'default': None, 'type': u'INTEGER', 'pk': 1, 'notnull': 0}

Diff is 1333 characters long. Set self.maxDiff to None to see it.

----------------------------------------------------------------------
Ran 2753 tests in 220.497s

FAILED (failures=1)
make: *** [unit-test] Error 1
}}}}

Change History (3)

comment:1 by Jun Omae, 2 years ago

Investigating, I found differences of data types between 3.36.0 and 3.37.0. According to https://www.sqlite.org/releaselog/3_37_0.html, Strict tables feature leads the differences.

SQLite 3.37.0

$ ./sqlite3
SQLite version 3.37.0 2021-11-27 14:13:22
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> create table test (id integer);
sqlite> pragma table_info(test);
0|id|INTEGER|0||0

SQLite 3.36.0

$ ./sqlite3
SQLite version 3.36.0 2021-06-18 18:36:39
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> create table test (id integer);
sqlite> pragma table_info(test);
0|id|integer|0||0

comment:2 by Jun Omae, 17 months ago

Owner: set to Jun Omae
Status: newassigned

Proposed changes in [be3fc3d60/jomae.git].

comment:3 by Jun Omae, 17 months ago

Release Notes: modified (diff)
Resolution: fixed
Status: assignedclosed

Committed and merged in [17624:17626].

Note: See TracTickets for help on using tickets.