Monday, September 11, 2017¶
Getting the test suites to pass on Travis¶
I am currently doing occasional commits after reading build reports from travis and readthedocs.
I had a No data to combine message in travis for welfare and
fixed it be removing the pytest.ini
file. after looking at
run_tests_coverage
in
lino.utils.invlib.tasks
.
Another nice failure is this one.
It occurs only on travis, not on my machine, obviously because of
undefined sorting order when generating demo data using payment
suggestions. Seems that something is sorting movements or suggestions
randomly when they have same partner and same date. I hoped that
this commit
but it didn’t. My next attempt was to add ‘project’ to the
order_by because that’s what’s different for these movements. But
note that project is a dummy field when project_model is not
set. And we need to remove it because Django won’t do that for us. I
reimplemented fields_list
because I believed that I could use it to remove dummy fields from the
order_by list. Then I realized that we cannot use fields_list
in the global scope of a
models.py
module and wrote a stupid
lino_xl.lib.accounting.Plugin.remove_dummy()
method.
And here is #1296 back:
Original exception was:
Traceback (most recent call last):
File "virtualenvs/py27/lib/python2.7/site-packages/appy/pod/converter.py", line 20, in <module>
import sys, os, os.path, re, time, signal
File "/usr/lib/python3.5/re.py", line 335, in <module>
import copyreg
File "virtualenvs/py27/lib/python2.7/site-packages/copyreg/__init__.py", line 7, in <module>
raise ImportError('This package should not be accessible on Python 3. '
ImportError: This package should not be accessible on Python 3. Either you are trying to run from the python-future src folder or your installation of python-future is corrupted.
That error is also on travis.
I got rid of it after observing that it did not occur when I ran it manually:
$ doctest docs/specs/integ.rst
It occurred only when called using:
from lino.utils.pythontest import TestCase
class SpecsTests(TestCase):
def test_integ(self):
return self.run_simple_doctests('docs/specs/integ.rst')
And this one said “Warning: No local config directory. Contact your system administrator. “