Merging platforms mixes baselines and targets into reported data
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 30 Jul 2014 21:34:51 +0000 (21:34 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 30 Jul 2014 21:34:51 +0000 (21:34 +0000)
https://bugs.webkit.org/show_bug.cgi?id=135260

Reviewed by Geoffrey Garen.

Make sure two test configurations we're merging are of the same type (e.g. baseline, target, current).
Otherwise, we'll erroneously mix up runs for baseline, target, and current (reported values).

* public/admin/platforms.php:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@171818 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Websites/perf.webkit.org/ChangeLog
Websites/perf.webkit.org/public/admin/platforms.php

index ed7b76b249448805abf0c2112c070af4fdc52bb4..f385f4620fa92c49a1d8ba16a80efeef5d02f0a4 100644 (file)
@@ -1,3 +1,15 @@
+2014-07-30  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Merging platforms mixes baselines and targets into reported data
+        https://bugs.webkit.org/show_bug.cgi?id=135260
+
+        Reviewed by Geoffrey Garen.
+
+        Make sure two test configurations we're merging are of the same type (e.g. baseline, target, current).
+        Otherwise, we'll erroneously mix up runs for baseline, target, and current (reported values).
+
+        * public/admin/platforms.php:
+
 2014-07-23  Ryosuke Niwa  <rniwa@webkit.org>
 
         Build fix after r171361.
index 487ee9c35357587e4ef5dec86828998253e9e79b..2c676684970fd1379af7954423e090809edc8f30 100644 (file)
@@ -11,7 +11,9 @@ function merge_platforms($platform_to_merge, $destination_platform) {
     // exist in both the original platform and the platform into which we're merging.
     if (!$db->query_and_get_affected_rows('UPDATE test_runs SET run_config = destination.config_id
         FROM test_configurations as merged, test_configurations as destination
-        WHERE merged.config_platform = $1 AND destination.config_platform = $2 AND run_config = merged.config_id
+        WHERE merged.config_platform = $1 AND destination.config_platform = $2
+            AND run_config = merged.config_id
+            AND destination.config_type = merged.config_type
             AND destination.config_metric = merged.config_metric', array($platform_to_merge, $destination_platform))) {
         $db->rollback_transaction();
         return notice("Failed to migrate test runs for $platform_to_merge that have test configurations in $destination_platform.");