Skip to content

Commit f3d9714

Browse files
Do not print "Triggered by" section for issues triggered in test code
1 parent 05c1687 commit f3d9714

16 files changed

+25
-188
lines changed

src/Runner/TestResult/Issue.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
*/
1010
namespace PHPUnit\TestRunner\TestResult\Issues;
1111

12+
use function array_keys;
13+
use function count;
1214
use PHPUnit\Event\Code\Test;
1315

1416
/**
@@ -112,4 +114,10 @@ public function triggeringTests(): array
112114
{
113115
return $this->triggeringTests;
114116
}
117+
118+
public function triggeredInTest(): bool
119+
{
120+
return count($this->triggeringTests) === 1 &&
121+
$this->file === $this->triggeringTests[array_keys($this->triggeringTests)[0]]['test']->file();
122+
}
115123
}

src/TextUI/Output/Default/ResultPrinter.php

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -389,24 +389,28 @@ private function printIssueList(string $type, array $issues): void
389389
$issue->line(),
390390
);
391391

392-
$body = trim($issue->description()) . PHP_EOL . PHP_EOL . 'Triggered by:';
392+
$body = trim($issue->description()) . PHP_EOL . PHP_EOL;
393393

394-
$triggeringTests = $issue->triggeringTests();
394+
if (!$issue->triggeredInTest()) {
395+
$body .= 'Triggered by:';
395396

396-
ksort($triggeringTests);
397+
$triggeringTests = $issue->triggeringTests();
397398

398-
foreach ($triggeringTests as $triggeringTest) {
399-
$body .= PHP_EOL . PHP_EOL . '* ' . $triggeringTest['test']->id();
399+
ksort($triggeringTests);
400400

401-
if ($triggeringTest['count'] > 1) {
402-
$body .= sprintf(
403-
' (%d times)',
404-
$triggeringTest['count'],
405-
);
406-
}
401+
foreach ($triggeringTests as $triggeringTest) {
402+
$body .= PHP_EOL . PHP_EOL . '* ' . $triggeringTest['test']->id();
403+
404+
if ($triggeringTest['count'] > 1) {
405+
$body .= sprintf(
406+
' (%d times)',
407+
$triggeringTest['count'],
408+
);
409+
}
407410

408-
if ($triggeringTest['test']->isTestMethod()) {
409-
$body .= PHP_EOL . ' ' . $triggeringTest['test']->file() . ':' . $triggeringTest['test']->line();
411+
if ($triggeringTest['test']->isTestMethod()) {
412+
$body .= PHP_EOL . ' ' . $triggeringTest['test']->file() . ':' . $triggeringTest['test']->line();
413+
}
410414
}
411415
}
412416

tests/end-to-end/cli/fail-on/fail-on-deprecation-output.phpt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,5 @@ message
3434
1) %sDeprecationTest.php:%d
3535
message
3636

37-
Triggered by:
38-
39-
* PHPUnit\TestFixture\TestRunnerStopping\DeprecationTest::testOne
40-
%sDeprecationTest.php:%d
41-
4237
OK, but there were issues!
4338
Tests: 3, Assertions: 3, Deprecations: 1, PHPUnit Deprecations: 1.

tests/end-to-end/cli/fail-on/fail-on-notice-output.phpt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,5 @@ Time: %s, Memory: %s
2424
1) %sNoticeTest.php:%d
2525
message
2626

27-
Triggered by:
28-
29-
* PHPUnit\TestFixture\TestRunnerStopping\NoticeTest::testOne
30-
%sNoticeTest.php:%d
31-
3227
OK, but there were issues!
3328
Tests: 2, Assertions: 2, Notices: 1.

tests/end-to-end/cli/fail-on/fail-on-warning-output.phpt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,5 @@ Time: %s, Memory: %s
2424
1) %sWarningTest.php:%d
2525
message
2626

27-
Triggered by:
28-
29-
* PHPUnit\TestFixture\TestRunnerStopping\WarningTest::testOne
30-
%sWarningTest.php:%d
31-
3227
OK, but there were issues!
3328
Tests: 2, Assertions: 2, Warnings: 1.

tests/end-to-end/deprecation-trigger/details-process-isolation.phpt

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,8 @@ Time: %s, Memory: %s
2525
1) %sTest.php:25
2626
deprecation triggered by method
2727

28-
Triggered by:
29-
30-
* PHPUnit\TestFixture\DeprecationTrigger\Test::testDeprecation
31-
%sTest.php:23
32-
3328
2) %sTest.php:26
3429
deprecation triggered by function
3530

36-
Triggered by:
37-
38-
* PHPUnit\TestFixture\DeprecationTrigger\Test::testDeprecation
39-
%sTest.php:23
40-
4131
OK, but there were issues!
4232
Tests: 1, Assertions: 1, Deprecations: 2.

tests/end-to-end/deprecation-trigger/details.phpt

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,8 @@ Time: %s, Memory: %s
2525
1) %sTest.php:25
2626
deprecation triggered by method
2727

28-
Triggered by:
29-
30-
* PHPUnit\TestFixture\DeprecationTrigger\Test::testDeprecation
31-
%sTest.php:23
32-
3328
2) %sTest.php:26
3429
deprecation triggered by function
3530

36-
Triggered by:
37-
38-
* PHPUnit\TestFixture\DeprecationTrigger\Test::testDeprecation
39-
%sTest.php:23
40-
4131
OK, but there were issues!
4232
Tests: 1, Assertions: 1, Deprecations: 2.

tests/end-to-end/generic/deprecations-can-be-ignored-using-attribute.phpt

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,8 @@ Time: %s, Memory: %s
2424
1) %sIgnoreDeprecationsTest.php:%d
2525
message
2626

27-
Triggered by:
28-
29-
* PHPUnit\TestFixture\Event\IgnoreDeprecationsTest::testTwo
30-
%sIgnoreDeprecationsTest.php:%d
31-
3227
2) %sIgnoreDeprecationsTest.php:%d
3328
message
3429

35-
Triggered by:
36-
37-
* PHPUnit\TestFixture\Event\IgnoreDeprecationsTest::testTwoErrorGetLast
38-
%sIgnoreDeprecationsTest.php:%d
39-
4030
OK, but there were issues!
4131
Tests: 4, Assertions: 6, Deprecations: 2.

tests/end-to-end/generic/outcome-and-issues.phpt

Lines changed: 0 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -107,130 +107,55 @@ skipped message
107107
1) %sOutcomesAndIssuesTest.php:%d
108108
warning message
109109

110-
Triggered by:
111-
112-
* PHPUnit\TestFixture\OutcomesAndIssuesTest::testSuccessWithWarning
113-
%sOutcomesAndIssuesTest.php:%d
114-
115110
2) %sOutcomesAndIssuesTest.php:%d
116111
warning message
117112

118-
Triggered by:
119-
120-
* PHPUnit\TestFixture\OutcomesAndIssuesTest::testFailWithWarning
121-
%sOutcomesAndIssuesTest.php:%d
122-
123113
3) %sOutcomesAndIssuesTest.php:%d
124114
warning message
125115

126-
Triggered by:
127-
128-
* PHPUnit\TestFixture\OutcomesAndIssuesTest::testErrorWithWarning
129-
%sOutcomesAndIssuesTest.php:%d
130-
131116
4) %sOutcomesAndIssuesTest.php:%d
132117
warning message
133118

134-
Triggered by:
135-
136-
* PHPUnit\TestFixture\OutcomesAndIssuesTest::testIncompleteWithWarning
137-
%sOutcomesAndIssuesTest.php:%d
138-
139119
5) %sOutcomesAndIssuesTest.php:%d
140120
warning message
141121

142-
Triggered by:
143-
144-
* PHPUnit\TestFixture\OutcomesAndIssuesTest::testSkippedWithWarning
145-
%sOutcomesAndIssuesTest.php:%d
146-
147122
--
148123

149124
5 tests triggered 5 notices:
150125

151126
1) %sOutcomesAndIssuesTest.php:%d
152127
notice message
153128

154-
Triggered by:
155-
156-
* PHPUnit\TestFixture\OutcomesAndIssuesTest::testSuccessWithNotice
157-
%sOutcomesAndIssuesTest.php:%d
158-
159129
2) %sOutcomesAndIssuesTest.php:%d
160130
notice message
161131

162-
Triggered by:
163-
164-
* PHPUnit\TestFixture\OutcomesAndIssuesTest::testFailWithNotice
165-
%sOutcomesAndIssuesTest.php:%d
166-
167132
3) %sOutcomesAndIssuesTest.php:%d
168133
notice message
169134

170-
Triggered by:
171-
172-
* PHPUnit\TestFixture\OutcomesAndIssuesTest::testErrorWithNotice
173-
%sOutcomesAndIssuesTest.php:%d
174-
175135
4) %sOutcomesAndIssuesTest.php:%d
176136
notice message
177137

178-
Triggered by:
179-
180-
* PHPUnit\TestFixture\OutcomesAndIssuesTest::testIncompleteWithNotice
181-
%sOutcomesAndIssuesTest.php:%d
182-
183138
5) %sOutcomesAndIssuesTest.php:%d
184139
notice message
185140

186-
Triggered by:
187-
188-
* PHPUnit\TestFixture\OutcomesAndIssuesTest::testSkippedWithNotice
189-
%sOutcomesAndIssuesTest.php:%d
190-
191141
--
192142

193143
5 tests triggered 5 deprecations:
194144

195145
1) %sOutcomesAndIssuesTest.php:%d
196146
deprecation message
197147

198-
Triggered by:
199-
200-
* PHPUnit\TestFixture\OutcomesAndIssuesTest::testSuccessWithDeprecation
201-
%sOutcomesAndIssuesTest.php:%d
202-
203148
2) %sOutcomesAndIssuesTest.php:%d
204149
deprecation message
205150

206-
Triggered by:
207-
208-
* PHPUnit\TestFixture\OutcomesAndIssuesTest::testFailWithDeprecation
209-
%sOutcomesAndIssuesTest.php:%d
210-
211151
3) %sOutcomesAndIssuesTest.php:%d
212152
deprecation message
213153

214-
Triggered by:
215-
216-
* PHPUnit\TestFixture\OutcomesAndIssuesTest::testErrorWithDeprecation
217-
%sOutcomesAndIssuesTest.php:%d
218-
219154
4) %sOutcomesAndIssuesTest.php:%d
220155
deprecation message
221156

222-
Triggered by:
223-
224-
* PHPUnit\TestFixture\OutcomesAndIssuesTest::testIncompleteWithDeprecation
225-
%sOutcomesAndIssuesTest.php:%d
226-
227157
5) %sOutcomesAndIssuesTest.php:%d
228158
deprecation message
229159

230-
Triggered by:
231-
232-
* PHPUnit\TestFixture\OutcomesAndIssuesTest::testSkippedWithDeprecation
233-
%sOutcomesAndIssuesTest.php:%d
234-
235160
ERRORS!
236161
Tests: 17, Assertions: 7, Errors: 3, Failures: 3, Warnings: 5, Deprecations: 5, Notices: 5, Skipped: 3, Incomplete: 3, Risky: 1.

tests/end-to-end/regression/5884.phpt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,5 @@ Foo (PHPUnit\TestFixture\Issue5884\Foo)
3232
1) %sFooTest.php:33
3333
foo
3434

35-
Triggered by:
36-
37-
* PHPUnit\TestFixture\Issue5884\FooTest::testExpectUserDeprecationMessageNOTIgnoringDeprecations
38-
%sFooTest.php:29
39-
4035
OK, but there were issues!
4136
Tests: 6, Assertions: 7, Deprecations: 1.

0 commit comments

Comments
 (0)