diff -u b/core/modules/migrate/lib/Drupal/migrate/MigrateExecutable.php b/core/modules/migrate/lib/Drupal/migrate/MigrateExecutable.php --- b/core/modules/migrate/lib/Drupal/migrate/MigrateExecutable.php +++ b/core/modules/migrate/lib/Drupal/migrate/MigrateExecutable.php @@ -345,7 +345,10 @@ $multiple = $multiple || $plugin->multiple(); } } - $row->setDestinationProperty($destination, $value); + // No plugins means do not set. + if ($plugins) { + $row->setDestinationProperty($destination, $value); + } // Reset the value. $value = NULL; } @@ -373,7 +376,7 @@ return FALSE; } // Calculate if the time limit is exceeded. - $time_elapsed = time() - REQUEST_TIME; + $time_elapsed = $this->getTimeElapsed(); if ($time_elapsed >= $time_limit) { return TRUE; } diff -u b/core/modules/migrate/tests/Drupal/migrate/Tests/MigrateExecutableTest.php b/core/modules/migrate/tests/Drupal/migrate/Tests/MigrateExecutableTest.php --- b/core/modules/migrate/tests/Drupal/migrate/Tests/MigrateExecutableTest.php +++ b/core/modules/migrate/tests/Drupal/migrate/Tests/MigrateExecutableTest.php @@ -427,6 +427,19 @@ } /** + * Tests the processRow method with an empty pipeline. + */ + public function testProcessRowEmptyPipeline() { + $this->migration->expects($this->once()) + ->method('getProcessPlugins') + ->with(NULL) + ->will($this->returnValue(array('test' => array()))); + $row = new Row(array(), array()); + $this->executable->processRow($row); + $this->assertSame($row->getDestination(), array()); + } + + /** * Returns a mock migration source instance. * * @return \Drupal\migrate\Source|\PHPUnit_Framework_MockObject_MockObject