Unverified Commit 3cd84c3f authored by larowlan's avatar larowlan

Issue #2969551 by quietone, mikelutz, joachim, benjifisher, catch: Migrate...

Issue #2969551 by quietone, mikelutz, joachim, benjifisher, catch: Migrate messages from caught exceptions need file and line details

(cherry picked from commit c915bfe0)
parent 63971d55
...@@ -189,7 +189,11 @@ public function import() { ...@@ -189,7 +189,11 @@ public function import() {
} }
catch (\Exception $e) { catch (\Exception $e) {
$this->message->display( $this->message->display(
$this->t('Migration failed with source plugin exception: @e', ['@e' => $e->getMessage()]), 'error'); $this->t('Migration failed with source plugin exception: @e in @file line @line', [
'@e' => $e->getMessage(),
'@file' => $e->getFile(),
'@line' => $e->getLine(),
]), 'error');
$this->migration->setStatus(MigrationInterface::STATUS_IDLE); $this->migration->setStatus(MigrationInterface::STATUS_IDLE);
return MigrationInterface::RESULT_FAILED; return MigrationInterface::RESULT_FAILED;
} }
...@@ -269,8 +273,11 @@ public function import() { ...@@ -269,8 +273,11 @@ public function import() {
} }
catch (\Exception $e) { catch (\Exception $e) {
$this->message->display( $this->message->display(
$this->t('Migration failed with source plugin exception: @e', $this->t('Migration failed with source plugin exception: @e in @file line @line', [
['@e' => $e->getMessage()]), 'error'); '@e' => $e->getMessage(),
'@file' => $e->getFile(),
'@line' => $e->getLine(),
]), 'error');
$this->migration->setStatus(MigrationInterface::STATUS_IDLE); $this->migration->setStatus(MigrationInterface::STATUS_IDLE);
return MigrationInterface::RESULT_FAILED; return MigrationInterface::RESULT_FAILED;
} }
......
...@@ -66,12 +66,16 @@ public function testImportWithFailingRewind() { ...@@ -66,12 +66,16 @@ public function testImportWithFailingRewind() {
$source->expects($this->once()) $source->expects($this->once())
->method('rewind') ->method('rewind')
->will($this->throwException(new \Exception($exception_message))); ->will($this->throwException(new \Exception($exception_message)));
// The exception message contains the line number where it is thrown. Save
// it for the testing the exception message.
$line = (__LINE__) - 3;
$this->migration->expects($this->any()) $this->migration->expects($this->any())
->method('getSourcePlugin') ->method('getSourcePlugin')
->will($this->returnValue($source)); ->will($this->returnValue($source));
// Ensure that a message with the proper message was added. // Ensure that a message with the proper message was added.
$exception_message .= " in " . __FILE__ . " line $line";
$this->message->expects($this->once()) $this->message->expects($this->once())
->method('display') ->method('display')
->with("Migration failed with source plugin exception: " . Html::escape($exception_message)); ->with("Migration failed with source plugin exception: " . Html::escape($exception_message));
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment