Verified Commit c915bfe0 authored by Lee Rowlands's avatar Lee Rowlands
Browse files

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
parent 6042b73e
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -189,7 +189,11 @@ public function import() {
    }
    catch (\Exception $e) {
      $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);
      return MigrationInterface::RESULT_FAILED;
    }
@@ -269,8 +273,11 @@ public function import() {
      }
      catch (\Exception $e) {
        $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);
        return MigrationInterface::RESULT_FAILED;
      }
+4 −0
Original line number Diff line number Diff line
@@ -66,12 +66,16 @@ public function testImportWithFailingRewind() {
    $source->expects($this->once())
      ->method('rewind')
      ->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())
      ->method('getSourcePlugin')
      ->will($this->returnValue($source));

    // Ensure that a message with the proper message was added.
    $exception_message .= " in " . __FILE__ . " line $line";
    $this->message->expects($this->once())
      ->method('display')
      ->with("Migration failed with source plugin exception: " . Html::escape($exception_message));