Add tests for SQLite
It seems the provided configuration doesn't work for SQLite
OperationalError: no such table: hyperkitty_email
ERROR 2017-11-10 01:41:11,882 24 django.request Internal Server Error: /
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/django/core/handlers/exception.py", line 39, in inner
response = get_response(request)
File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 244, in _legacy_get_response
response = middleware_method(request)
File "/usr/local/lib/python2.7/site-packages/django/middleware/locale.py", line 25, in process_request
language = translation.get_language_from_request(request, check_path=i18n_patterns_used)
File "/usr/local/lib/python2.7/site-packages/django/utils/translation/__init__.py", line 206, in get_language_from_request
return _trans.get_language_from_request(request, check_path)
File "/usr/local/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 516, in get_language_from_request
lang_code = request.session.get(LANGUAGE_SESSION_KEY)
File "/usr/local/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py", line 68, in get
return self._session.get(key, default)
File "/usr/local/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py", line 207, in _get_session
self._session_cache = self.load()
File "/usr/local/lib/python2.7/site-packages/django/contrib/sessions/backends/db.py", line 35, in load
expire_date__gt=timezone.now()
File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 379, in get
num = len(clone)
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 238, in __len__
self._fetch_all()
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 1085, in _fetch_all
self._result_cache = list(self.iterator())
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 54, in __iter__
results = compiler.execute_sql()
File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 835, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 94, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py", line 337, in execute
return Database.Cursor.execute(self, query, params)
OperationalError: no such table: django_session
ERROR 2017-11-10 01:41:11,882 24 django.request Internal Server Error: /
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/django/core/handlers/exception.py", line 39, in inner
response = get_response(request)
File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 244, in _legacy_get_response
response = middleware_method(request)
File "/usr/local/lib/python2.7/site-packages/django/middleware/locale.py", line 25, in process_request
language = translation.get_language_from_request(request, check_path=i18n_patterns_used)
File "/usr/local/lib/python2.7/site-packages/django/utils/translation/__init__.py", line 206, in get_language_from_request
return _trans.get_language_from_request(request, check_path)
File "/usr/local/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 516, in get_language_from_request
lang_code = request.session.get(LANGUAGE_SESSION_KEY)
File "/usr/local/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py", line 68, in get
return self._session.get(key, default)
File "/usr/local/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py", line 207, in _get_session
self._session_cache = self.load()
File "/usr/local/lib/python2.7/site-packages/django/contrib/sessions/backends/db.py", line 35, in load
expire_date__gt=timezone.now()
File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 379, in get
num = len(clone)
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 238, in __len__
self._fetch_all()
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 1085, in _fetch_all
self._result_cache = list(self.iterator())
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 54, in __iter__
results = compiler.execute_sql()
File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 835, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 94, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py", line 337, in execute
return Database.Cursor.execute(self, query, params)
OperationalError: no such table: django_session
ERROR 2017-11-10 01:42:02,009 54 hyperkitty.lib.utils Failed to update the fulltext index: no such table: hyperkitty_email
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/hyperkitty/lib/utils.py", line 186, in run_with_lock
fn(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/hyperkitty/search_indexes.py", line 87, in update_index
update_cmd.update_backend("hyperkitty", "default")
File "/usr/local/lib/python2.7/site-packages/haystack/management/commands/update_index.py", line 240, in update_backend
total = qs.count()
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 369, in count
return self.query.get_count(using=self.db)
File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 476, in get_count
number = obj.get_aggregation(using, ['__count'])['__count']
File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 457, in get_aggregation
result = compiler.execute_sql(SINGLE)
File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 835, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 94, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py", line 337, in execute
return Database.Cursor.execute(self, query, params)
OperationalError: no such table: hyperkitty_email
Core seems to work well with SQLite.
Django needs to be tested to work well with SQLite.
What about a MySQL test? Given I recently found out MySQL doesn't seem to work either
Yeah, that is something very weird. I am not sure if that is a problem in Core or a problem in container images.
It is possible that the test suite in Core doesn't cover that problem and hence the problem. Once we know, we can address the problem in the relevant place.
All unittests in Core seems to pass for MySQL.
in #539 I pushed a fix, that at least solves the cause of the issue see. It indeed is not a test, as discussed here.
Regarding test: Do you insist on CircleCI? Or is GithubActions also acceptable?
We don’t have a GHA setup, so the only tests working right now is CircleCI and I don’t want to split them.
Are you not able to see the circle-ci failures? I thought they are public.
Looking at the failures, it seems like not related to your issues and might require some version bumps or upgrades. I’ll have to check on that later.
This issue has not been updated for more than 1year