MDL-65220 behat: test scenarios sometimes do not clear database data
authorJason Platts <j.platts@open.ac.uk>
Fri, 29 Mar 2019 14:36:19 +0000 (14:36 +0000)
committerJason Platts <j.platts@open.ac.uk>
Fri, 29 Mar 2019 15:39:31 +0000 (15:39 +0000)
lib/testing/classes/util.php

index 176700b..737c753 100644 (file)
@@ -926,12 +926,11 @@ abstract class testing_util {
 
             if (defined('BEHAT_SITE_RUNNING')) {
                 $tablesupdatedfile = self::get_tables_updated_by_scenario_list_path();
-                if ($tablesupdated = @json_decode(file_get_contents($tablesupdatedfile), true)) {
-                    $tablesupdated[$table] = true;
-                } else {
+                $tablesupdated = @json_decode(file_get_contents($tablesupdatedfile), true);
+                if (!isset($tablesupdated[$table])) {
                     $tablesupdated[$table] = true;
+                    @file_put_contents($tablesupdatedfile, json_encode($tablesupdated, JSON_PRETTY_PRINT));
                 }
-                @file_put_contents($tablesupdatedfile, json_encode($tablesupdated, JSON_PRETTY_PRINT));
             }
         }
     }