Skip to content

Commit d11cab4

Browse files
committed
fix(Database): robustly find 'in ... on line ...' in OCI8 log message
1 parent da7a700 commit d11cab4

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

tests/system/Database/Live/ExecuteLogMessageFormatTest.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,16 @@ public function testLogMessageWhenExecuteFailsShowFullStructuredBacktrace(): voi
6262
$messageFromLogs = array_slice($messageFromLogs, 2);
6363
}
6464

65-
$this->assertMatchesRegularExpression('/^in \S+ on line \d+\.$/', array_shift($messageFromLogs));
65+
$inLine = null;
66+
67+
while (($line = array_shift($messageFromLogs)) !== null) {
68+
if (preg_match('/^in \S+ on line \d+\.$/', $line)) {
69+
$inLine = $line;
70+
break;
71+
}
72+
}
73+
74+
$this->assertNotNull($inLine, 'Could not find "in ... on line ..." in log message');
6675

6776
foreach ($messageFromLogs as $line) {
6877
$this->assertMatchesRegularExpression('/^\s*\d* .+(?:\(\d+\))?: \S+(?:(?:\->|::)\S+)?\(.*\)$/', $line);

0 commit comments

Comments
 (0)