Skip to content

4.3 fails if there are HTML files in the source code #556

@nedbat

Description

@nedbat

Originally reported by amercader (Bitbucket: amercader, GitHub: amercader)


It seems like 4.3 is trying to parse HTML files that are part of the source code, while 4.2 didn't. We noticed this in our Travis builds:

https://travis-ci.org/frictionlessdata/goodtables.io/builds/192669485

This is running our tests with pytest with pytest --cov goodtablesio --cov-report term-missing but running coverage report -m locally also raises the exception:

#!traceback

coverage report -m
Traceback (most recent call last):
  File "/home/adria/dev/pyenvs/gt/lib/python3.5/site-packages/coverage/parser.py", line 364, in __init__
    self.code = compile_unicode(text, filename, "exec")
  File "/home/adria/dev/pyenvs/gt/lib/python3.5/site-packages/coverage/phystokens.py", line 286, in compile_unicode
    code = compile(source, filename, mode)
  File "/home/adria/dev/pyenvs/gt/src/goodtables.io/goodtablesio/templates/error404.html", line 1
    {% extends "layout.html" %}
     ^
SyntaxError: invalid syntax

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/adria/dev/pyenvs/gt/lib/python3.5/site-packages/coverage/summary.py", line 46, in report
    analysis = self.coverage._analyze(fr)
  File "/home/adria/dev/pyenvs/gt/lib/python3.5/site-packages/coverage/control.py", line 899, in _analyze
    return Analysis(self.data, it)
  File "/home/adria/dev/pyenvs/gt/lib/python3.5/site-packages/coverage/results.py", line 19, in __init__
    self.statements = self.file_reporter.lines()
  File "/home/adria/dev/pyenvs/gt/lib/python3.5/site-packages/coverage/python.py", line 176, in lines
    return self.parser.statements
  File "/home/adria/dev/pyenvs/gt/lib/python3.5/site-packages/coverage/python.py", line 171, in parser
    self._parser.parse_source()
  File "/home/adria/dev/pyenvs/gt/lib/python3.5/site-packages/coverage/parser.py", line 238, in parse_source
    self._raw_parse()
  File "/home/adria/dev/pyenvs/gt/lib/python3.5/site-packages/coverage/parser.py", line 207, in _raw_parse
    self.raw_statements.update(self.byte_parser._find_statements())
  File "/home/adria/dev/pyenvs/gt/lib/python3.5/site-packages/coverage/parser.py", line 96, in byte_parser
    self._byte_parser = ByteParser(self.text, filename=self.filename)
  File "/home/adria/dev/pyenvs/gt/lib/python3.5/site-packages/coverage/parser.py", line 368, in __init__
    filename, synerr.msg, synerr.lineno
coverage.misc.NotPython: Couldn't parse '/home/adria/dev/pyenvs/gt/src/goodtables.io/goodtablesio/templates/error404.html' as Python source: 'invalid syntax' at line 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/adria/dev/pyenvs/gt/bin/coverage", line 11, in <module>
    sys.exit(main())
  File "/home/adria/dev/pyenvs/gt/lib/python3.5/site-packages/coverage/cmdline.py", line 756, in main
    status = CoverageScript().command_line(argv)
  File "/home/adria/dev/pyenvs/gt/lib/python3.5/site-packages/coverage/cmdline.py", line 507, in command_line
    skip_covered=options.skip_covered, **report_args)
  File "/home/adria/dev/pyenvs/gt/lib/python3.5/site-packages/coverage/control.py", line 977, in report
    return reporter.report(morfs, outfile=file)
  File "/home/adria/dev/pyenvs/gt/lib/python3.5/site-packages/coverage/summary.py", line 58, in report
    except StopEverything:
TypeError: catching classes that do not inherit from BaseException is not allowed

4.2 works as expected


Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions