diff --git a/core/modules/simpletest/simpletest.module b/core/modules/simpletest/simpletest.module
index 74d348e..b52d33d 100644
--- a/core/modules/simpletest/simpletest.module
+++ b/core/modules/simpletest/simpletest.module
@@ -180,22 +180,24 @@ function simpletest_run_tests($test_list) {
  */
 function simpletest_run_phpunit_tests($test_id, array $unescaped_test_classnames, &$status = NULL) {
   $phpunit_file = simpletest_phpunit_xml_filepath($test_id);
-  simpletest_phpunit_run_command($unescaped_test_classnames, $phpunit_file, $status);
+  $command_return = simpletest_phpunit_run_command($unescaped_test_classnames, $phpunit_file, $status);
   // A $status of 0 = passed test, 1 = failed test, > 1 indicates segfault
   // timeout, or other type of failure.
   if ($status > 1) {
     // Something broke during the execution of phpunit.
     // Return an error record of all failed classes.
-    $rows[] = [
-      'test_id' => '1',
-      'test_class' => implode(",", $unescaped_test_classnames),
-      'status' => 'fail',
-      'message' => 'PHPunit Test failed to complete',
-      'message_group' => 'Other',
-      'function' => implode(",", $unescaped_test_classnames),
-      'line' => '0',
-      'file' => $phpunit_file,
-    ];
+    foreach($unescaped_test_classnames as $unescaped_test_classname) {
+      $rows[] = [
+        'test_id' => $test_id,
+        'test_class' => $unescaped_test_classname,
+        'status' => 'fail',
+        'message' => $command_return,
+        'message_group' => 'SimpleTest PHPUnit Runner',
+        'function' => $unescaped_test_classname,
+        'line' => '0',
+        'file' => $phpunit_file,
+      ];
+    }
   }
   else {
     $rows = simpletest_phpunit_xml_to_rows($test_id, $phpunit_file);
@@ -269,6 +271,7 @@ function simpletest_phpunit_run_command(array $unescaped_test_classnames, $phpun
 
   $command = array(
     $phpunit_bin,
+    '-c ' . \Drupal::root() . '/core',
     '--log-junit',
     escapeshellarg($phpunit_file),
   );
@@ -291,16 +294,10 @@ function simpletest_phpunit_run_command(array $unescaped_test_classnames, $phpun
     ));
   }
 
-  // Need to change directories before running the command so that we can use
-  // relative paths in the configuration file's exclusions.
-  $old_cwd = getcwd();
-  chdir(\Drupal::root() . "/core");
-
   // exec in a subshell so that the environment is isolated when running tests
   // via the simpletest UI.
-  $ret = exec(join($command, " "), $output, $status);
+  $ret = exec(join($command, ' '), $output, $status);
 
-  chdir($old_cwd);
   putenv('SIMPLETEST_DB=');
   return $ret;
 }
