@@ -5,61 +5,60 @@ parameters:
55 - tests
66 tmpDir: reports/phpstan
77 ignoreErrors:
8- # Late static binding in extension-point container factories that consumers subclass.
9- - identifier: new.static
10- paths:
11- - src/FlywayDockerContainer.php
12- - src/GenericDockerContainer.php
13- - src/MySQLDockerContainer.php
148 # tiny-blocks/collection generics carry a mixed TValue on Internal command and definition types.
159 - identifier: missingType.generics
1610 paths:
1711 - src/Internal/Commands/DockerExecute.php
18- - src/Internal/Containers/ContainerInspection.php
19- - src/Internal/Commands/DockerRun.php
20- - src/Internal/Containers/Address/Ports.php
12+ - src/Internal/Commands/DockerCreate.php
13+ - src/Internal/Containers/ContainerWaits.php
2114 - src/Internal/Containers/Definitions/ContainerDefinition.php
2215 - src/Internal/Containers/Environment/EnvironmentVariables.php
2316 # Internal collaborators take raw config arrays at the boundary, where PHPDoc is prohibited.
2417 - identifier: missingType.iterableValue
2518 paths:
19+ - src/Internal/Containers/ContainerLauncher.php
20+ - src/Internal/Containers/OneShotContainer.php
21+ - src/Internal/Containers/Drivers/MySQL/MySQLStartup.php
2622 - src/Internal/Commands/DockerExecute.php
27- - src/Internal/Commands/DockerRun .php
23+ - src/Internal/Commands/DockerCreate .php
2824 - src/Internal/Containers/Address/Ports.php
2925 - src/Internal/Containers/ContainerInspection.php
26+ - src/Internal/Containers/Definitions/ContainerDefinition.php
3027 - src/Internal/Containers/Definitions/CopyInstruction.php
31- - src/Internal/Containers/Definitions/EnvironmentVariable.php
32- - src/Internal/Containers/Definitions/PortMapping.php
33- - src/Internal/Containers/Definitions/VolumeMapping.php
28+ - src/Internal/Containers/Drivers/MySQL/JdbcUrl.php
3429 - src/Internal/Containers/Drivers/MySQL/MySQLCommands.php
3530 - src/Internal/Containers/Environment/EnvironmentVariables.php
3631 # Internal command builders return argument lists assembled from collection mixed values.
3732 - identifier: return.type
3833 paths:
3934 - src/Internal/Commands/DockerCopy.php
4035 - src/Internal/Commands/DockerExecute.php
41- - src/Internal/Commands/DockerRun .php
36+ - src/Internal/Commands/DockerCreate .php
4237 - src/Internal/Containers/Address/Ports.php
4338 # Collection each/reduce pass concrete closures against the mixed-typed variadic API.
4439 - identifier: argument.type
4540 paths:
46- - src/Internal/CommandHandler/ContainerCommandHandler .php
47- - src/Internal/Commands/DockerRun .php
41+ - src/Internal/Containers/ContainerLauncher .php
42+ - src/Internal/Containers/ContainerWaits .php
4843 - src/Internal/Containers/Address/Ports.php
44+ - src/Internal/Containers/Definitions/ContainerDefinition.php
45+ # ContainerSharing starts a new container through a plain Closure, whose result is mixed to phpstan.
46+ - identifier: argument.type
47+ path: src/Internal/Containers/ContainerSharing.php
4948 # docker inspect json_decode and sprintf feed mixed values across the system boundary.
5049 - identifier: argument.type
5150 paths:
5251 - src/Internal/Containers/ContainerInspection.php
5352 - src/Internal/Containers/Drivers/MySQL/MySQLCommands.php
54- # gethostname() returns string|false at the system boundary when the host name is unavailable .
53+ # MySQLCommands assembles the setup argument list as a raw array, where PHPDoc is prohibited .
5554 - identifier: argument.type
56- path: src/Internal/Containers/ContainerReaper .php
55+ path: src/Internal/Containers/Drivers/MySQL/MySQLStartup .php
5756 # docker inspect json_decode produces mixed offsets read in ContainerInspection.
5857 - identifier: offsetAccess.nonOffsetAccessible
5958 path: src/Internal/Containers/ContainerInspection.php
60- # docker inspect json_decode yields a mixed value cast to int at the boundary.
59+ # docker inspect json_decode yields a mixed port binding cast to int at the boundary.
6160 - identifier: cast.int
62- path: src/Internal/Containers/ContainerInspection .php
61+ path: src/Internal/Containers/Address/Ports .php
6362 # docker inspect json_decode yields a mixed value iterated at the boundary.
6463 - identifier: foreach.nonIterable
6564 path: src/Internal/Containers/ContainerInspection.php
@@ -79,15 +78,28 @@ parameters:
7978 - tests/Unit/FlywayDockerContainerTest.php
8079 - tests/Unit/GenericDockerContainerTest.php
8180 - tests/Unit/MySQLDockerContainerTest.php
82- # ClientMock's match arms assemble output tuples from untyped recorded responses.
83- - identifier: return.type
81+ # ClientMock destructures the untyped response tuple it answers a command with.
82+ - identifier: offsetAccess.nonArray
83+ path: tests/Unit/ClientMock.php
84+ # ClientMock queues untyped response tuples under the command each one answers.
85+ - identifier: offsetAccess.nonOffsetAccessible
8486 path: tests/Unit/ClientMock.php
8587 # ClientMock casts a mixed recorded value to string when building command output.
8688 - identifier: cast.string
8789 path: tests/Unit/ClientMock.php
88- # ClientMock indexes into a mixed recorded payload when replaying responses.
89- - identifier: offsetAccess.nonArray
90- path: tests/Unit/ClientMock.php
90+ # Tests index into the untyped argument lists the ClientMock records.
91+ - identifier: offsetAccess.nonOffsetAccessible
92+ paths:
93+ - tests/Unit/FlywayDockerContainerTest.php
94+ - tests/Unit/GenericDockerContainerTest.php
95+ # The shutdown spy records callbacks in an untyped global the test then invokes.
96+ - identifier: callable.nonCallable
97+ path: tests/Unit/GenericDockerContainerTest.php
98+ # Immutability tests discard the copy a with* method returns, to show the receiver is untouched.
99+ - identifier: method.resultUnused
100+ paths:
101+ - tests/Unit/FlywayDockerContainerTest.php
102+ - tests/Unit/MySQLDockerContainerTest.php
91103 # MySQLRepository reads a mixed PDO result as an object at the system boundary.
92104 - identifier: method.nonObject
93105 path: tests/Integration/MySQLRepository.php
0 commit comments