| -- Tests for command line parsing | 
 | -- ------------------------------ | 
 | -- | 
 | -- The initial line specifies the command line, in the format | 
 | -- | 
 | --   # cmd: mypy <options> | 
 | -- | 
 | -- Note that # flags: --some-flag IS NOT SUPPORTED. | 
 | -- Use # cmd: mypy --some-flag ... | 
 | -- | 
 | -- '== Return code: <value>' is added to the output when the process return code | 
 | -- is "nonobvious" -- that is, when it is something other than 0 if there are no | 
 | -- messages and 1 if there are. | 
 |  | 
 | -- Directories/packages on the command line | 
 | -- ---------------------------------------- | 
 |  | 
 | [case testNonArrayOverridesPyprojectTOML] | 
 | # cmd: mypy x.py | 
 | [file pyproject.toml] | 
 | \[tool.mypy] | 
 | \[tool.mypy.overrides] | 
 | module = "x" | 
 | disallow_untyped_defs = false | 
 | [file x.py] | 
 | def f(a): | 
 |     pass | 
 | def g(a: int) -> int: | 
 |     return f(a) | 
 | [out] | 
 | pyproject.toml: tool.mypy.overrides sections must be an array. Please make sure you are using double brackets like so: [[tool.mypy.overrides]] | 
 | == Return code: 0 | 
 |  | 
 | [case testNoModuleInOverridePyprojectTOML] | 
 | # cmd: mypy x.py | 
 | [file pyproject.toml] | 
 | \[tool.mypy] | 
 | \[[tool.mypy.overrides]] | 
 | disallow_untyped_defs = false | 
 | [file x.py] | 
 | def f(a): | 
 |     pass | 
 | def g(a: int) -> int: | 
 |     return f(a) | 
 | [out] | 
 | pyproject.toml: toml config file contains a [[tool.mypy.overrides]] section, but no module to override was specified. | 
 | == Return code: 0 | 
 |  | 
 | [case testInvalidModuleInOverridePyprojectTOML] | 
 | # cmd: mypy x.py | 
 | [file pyproject.toml] | 
 | \[tool.mypy] | 
 | \[[tool.mypy.overrides]] | 
 | module = 0 | 
 | disallow_untyped_defs = false | 
 | [file x.py] | 
 | def f(a): | 
 |     pass | 
 | def g(a: int) -> int: | 
 |     return f(a) | 
 | [out] | 
 | pyproject.toml: toml config file contains a [[tool.mypy.overrides]] section with a module value that is not a string or a list of strings | 
 | == Return code: 0 | 
 |  | 
 | [case testConflictingModuleInOverridesPyprojectTOML] | 
 | # cmd: mypy x.py | 
 | [file pyproject.toml] | 
 | \[tool.mypy] | 
 | \[[tool.mypy.overrides]] | 
 | module = 'x' | 
 | disallow_untyped_defs = false | 
 | \[[tool.mypy.overrides]] | 
 | module = ['x'] | 
 | disallow_untyped_defs = true | 
 | [file x.py] | 
 | def f(a): | 
 |     pass | 
 | def g(a: int) -> int: | 
 |     return f(a) | 
 | [out] | 
 | pyproject.toml: toml config file contains [[tool.mypy.overrides]] sections with conflicting values. Module 'x' has two different values for 'disallow_untyped_defs' | 
 | == Return code: 0 | 
 |  | 
 | [case testMultilineLiteralExcludePyprojectTOML] | 
 | # cmd: mypy x | 
 | [file pyproject.toml] | 
 | \[tool.mypy] | 
 | exclude = '''(?x)( | 
 |     (^|/)[^/]*skipme_\.py$ | 
 |     |(^|/)_skipme[^/]*\.py$ | 
 | )''' | 
 | [file x/__init__.py] | 
 | i: int = 0 | 
 | [file x/_skipme_please.py] | 
 | This isn't even syntatically valid! | 
 | [file x/please_skipme_.py] | 
 | Neither is this! | 
 |  | 
 | [case testMultilineBasicExcludePyprojectTOML] | 
 | # cmd: mypy x | 
 | [file pyproject.toml] | 
 | \[tool.mypy] | 
 | exclude = """(?x)( | 
 |     (^|/)[^/]*skipme_\\.py$ | 
 |     |(^|/)_skipme[^/]*\\.py$ | 
 | )""" | 
 | [file x/__init__.py] | 
 | i: int = 0 | 
 | [file x/_skipme_please.py] | 
 | This isn't even syntatically valid! | 
 | [file x/please_skipme_.py] | 
 | Neither is this! | 
 |  | 
 | [case testSequenceExcludePyprojectTOML] | 
 | # cmd: mypy x | 
 | [file pyproject.toml] | 
 | \[tool.mypy] | 
 | exclude = [ | 
 |     '(^|/)[^/]*skipme_\.py$',  # literal (no escaping) | 
 |     "(^|/)_skipme[^/]*\\.py$",  # basic (backslash needs escaping) | 
 | ] | 
 | [file x/__init__.py] | 
 | i: int = 0 | 
 | [file x/_skipme_please.py] | 
 | This isn't even syntatically valid! | 
 | [file x/please_skipme_.py] | 
 | Neither is this! | 
 |  | 
 | [case testPyprojectTOMLUnicode] | 
 | # cmd: mypy x.py | 
 | [file pyproject.toml] | 
 | \[project] | 
 | description = "Factory ⸻ A code generator 🏭" | 
 | \[tool.mypy] | 
 | [file x.py] |