Initial commit: add .gitignore and README
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
"""Test exporting line-level reference information (undocumented feature)"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
|
||||
from mypy import build
|
||||
from mypy.modulefinder import BuildSource
|
||||
from mypy.options import Options
|
||||
from mypy.test.config import test_temp_dir
|
||||
from mypy.test.data import DataDrivenTestCase, DataSuite
|
||||
from mypy.test.helpers import assert_string_arrays_equal
|
||||
|
||||
|
||||
class RefInfoSuite(DataSuite):
|
||||
required_out_section = True
|
||||
files = ["ref-info.test"]
|
||||
|
||||
def run_case(self, testcase: DataDrivenTestCase) -> None:
|
||||
options = Options()
|
||||
options.use_builtins_fixtures = True
|
||||
options.show_traceback = True
|
||||
options.export_ref_info = True # This is the flag we are testing
|
||||
|
||||
src = "\n".join(testcase.input)
|
||||
result = build.build(
|
||||
sources=[BuildSource("main", None, src)], options=options, alt_lib_path=test_temp_dir
|
||||
)
|
||||
assert not result.errors
|
||||
|
||||
major, minor = sys.version_info[:2]
|
||||
ref_path = os.path.join(options.cache_dir, f"{major}.{minor}", "__main__.refs.json")
|
||||
|
||||
with open(ref_path) as refs_file:
|
||||
data = json.load(refs_file)
|
||||
|
||||
a = []
|
||||
for item in data:
|
||||
a.append(f"{item['line']}:{item['column']}:{item['target']}")
|
||||
|
||||
assert_string_arrays_equal(
|
||||
testcase.output, a, f"Invalid output ({testcase.file}, line {testcase.line})"
|
||||
)
|
||||
Reference in New Issue
Block a user