Skip to content

Commit 4215e86

Browse files
Initial work on determining whether an issue is self, direct, or indirect
1 parent 3feb6fa commit 4215e86

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

src/Runner/ErrorHandler.php

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -85,27 +85,31 @@ public function __invoke(int $errorNumber, string $errorString, string $errorFil
8585
assert(isset($trace[1]['file']));
8686
assert(isset($trace[2]['file']));
8787

88-
$triggeredInTestCode = false;
8988
$triggeredInFirstPartyCode = false;
90-
$triggeredInThirdPartyCode = false;
91-
$triggerCalledFromTestCode = false;
9289
$triggerCalledFromFirstPartyCode = false;
93-
$triggerCalledFromThirdPartyCode = false;
9490

95-
if ($trace[1]['file'] === $test->file()) {
96-
$triggeredInTestCode = true;
97-
} elseif ($this->sourceFilter->includes($this->source, $trace[1]['file'])) {
91+
if ($trace[1]['file'] === $test->file() ||
92+
$this->sourceFilter->includes($this->source, $trace[1]['file'])) {
9893
$triggeredInFirstPartyCode = true;
99-
} else {
100-
$triggeredInThirdPartyCode = true;
10194
}
10295

103-
if ($trace[2]['file'] === $test->file()) {
104-
$triggerCalledFromTestCode = true;
105-
} elseif ($this->sourceFilter->includes($this->source, $trace[2]['file'])) {
96+
if ($trace[2]['file'] === $test->file() ||
97+
$this->sourceFilter->includes($this->source, $trace[2]['file'])) {
10698
$triggerCalledFromFirstPartyCode = true;
99+
}
100+
101+
$self = false;
102+
$direct = false;
103+
$indirect = false;
104+
105+
if ($triggerCalledFromFirstPartyCode) {
106+
if ($triggeredInFirstPartyCode) {
107+
$self = true;
108+
} else {
109+
$direct = true;
110+
}
107111
} else {
108-
$triggerCalledFromThirdPartyCode = true;
112+
$indirect = true;
109113
}
110114

111115
switch ($errorNumber) {

0 commit comments

Comments
 (0)