init
This commit is contained in:
commit
38355d2442
9083 changed files with 1225834 additions and 0 deletions
|
|
@ -0,0 +1,46 @@
|
|||
"""Tests for mypy incremental error output."""
|
||||
from typing import List
|
||||
|
||||
from mypy import build
|
||||
from mypy.test.helpers import assert_string_arrays_equal
|
||||
from mypy.test.data import DataDrivenTestCase, DataSuite
|
||||
from mypy.modulefinder import BuildSource
|
||||
from mypy.errors import CompileError
|
||||
from mypy.options import Options
|
||||
|
||||
|
||||
class ErrorStreamSuite(DataSuite):
|
||||
required_out_section = True
|
||||
base_path = '.'
|
||||
files = ['errorstream.test']
|
||||
|
||||
def run_case(self, testcase: DataDrivenTestCase) -> None:
|
||||
test_error_stream(testcase)
|
||||
|
||||
|
||||
def test_error_stream(testcase: DataDrivenTestCase) -> None:
|
||||
"""Perform a single error streaming test case.
|
||||
|
||||
The argument contains the description of the test case.
|
||||
"""
|
||||
options = Options()
|
||||
options.show_traceback = True
|
||||
|
||||
logged_messages: List[str] = []
|
||||
|
||||
def flush_errors(msgs: List[str], serious: bool) -> None:
|
||||
if msgs:
|
||||
logged_messages.append('==== Errors flushed ====')
|
||||
logged_messages.extend(msgs)
|
||||
|
||||
sources = [BuildSource('main', '__main__', '\n'.join(testcase.input))]
|
||||
try:
|
||||
build.build(sources=sources,
|
||||
options=options,
|
||||
flush_errors=flush_errors)
|
||||
except CompileError as e:
|
||||
assert e.messages == []
|
||||
|
||||
assert_string_arrays_equal(testcase.output, logged_messages,
|
||||
'Invalid output ({}, line {})'.format(
|
||||
testcase.file, testcase.line))
|
||||
Loading…
Add table
Add a link
Reference in a new issue