cmheisel / nose-xcover

Fork of nose.plugins.cover that enables XML output (for use with Hudson, e.g.)
MIT License
52 stars 17 forks source link

fix coverage version #32

Closed damian-t closed 1 year ago

damian-t commented 4 years ago

coverage library version 5.0 introduced a breaking change that affects nose-xcover, see Traceback below. Restricting the version of the coverage dependency solves the issue.

nosetests3 --verbose --with-xunit --xunit-file=reports/xunit.xml --with-xcoverage --xcoverage-file=reports/coverage.xml
Traceback (most recent call last):
  File "***/venv/lib/python3.6/site-packages/coverage/sqldata.py", line 1025, in execute
    return self.con.execute(sql, parameters)
sqlite3.DatabaseError: file is encrypted or is not a database

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/nosetests3", line 9, in <module>
    load_entry_point('nose==1.3.7', 'console_scripts', 'nosetests')()
  File "***/venv/lib/python3.6/site-packages/nose/core.py", line 121, in __init__
    **extra_args)
  File "/usr/lib/python3.6/unittest/main.py", line 94, in __init__
    self.parseArgs(argv)
  File "***/venv/lib/python3.6/site-packages/nose/core.py", line 145, in parseArgs
    self.config.configure(argv, doc=self.usage())
  File "***/venv/lib/python3.6/site-packages/nose/config.py", line 346, in configure
    self.plugins.configure(options, self)
  File "***/venv/lib/python3.6/site-packages/nose/plugins/manager.py", line 284, in configure
    cfg(options, config)
  File "***/venv/lib/python3.6/site-packages/nose/plugins/manager.py", line 99, in __call__
    return self.call(*arg, **kw)
  File "***/venv/lib/python3.6/site-packages/nose/plugins/manager.py", line 167, in simple
    result = meth(*arg, **kw)
  File "***/venv/lib/python3.6/site-packages/nosexcover/nosexcover.py", line 53, in configure
    super(XCoverage, self).configure(options, config)
  File "***/venv/lib/python3.6/site-packages/nose/plugins/cover.py", line 155, in configure
    self.coverInstance.load()
  File "***/venv/lib/python3.6/site-packages/coverage/control.py", line 387, in load
    self._data.read()
  File "***/venv/lib/python3.6/site-packages/coverage/sqldata.py", line 741, in read
    with self._connect():       # TODO: doesn't look right
  File "***/venv/lib/python3.6/site-packages/coverage/sqldata.py", line 296, in _connect
    self._open_db()
  File "***/venv/lib/python3.6/site-packages/coverage/sqldata.py", line 264, in _open_db
    self._read_db()
  File "***/venv/lib/python3.6/site-packages/coverage/sqldata.py", line 268, in _read_db
    with self._dbs[get_thread_id()] as db:
  File "***/venv/lib/python3.6/site-packages/coverage/sqldata.py", line 1008, in __enter__
    self._connect()
  File "***/venv/lib/python3.6/site-packages/coverage/sqldata.py", line 996, in _connect
    self.execute("pragma journal_mode=off").close()
  File "***/venv/lib/python3.6/site-packages/coverage/sqldata.py", line 1027, in execute
    raise CoverageException("Couldn't use data file {!r}: {}".format(self.filename, exc))
coverage.misc.CoverageException: Couldn't use data file '***/.coverage': file is encrypted or is not a database