Add arg replacement to generate_buildbot_json.py

Adds the ability to replace or remove arguments for tests generated
using generate_buildbot_json.py by specifying a 'replacements' field in
test_suite_exceptions.pyl.

This is useful in cases where a subset of bots have slightly different
args from usual. Previously, this required a duplicate test suite
definition with the updated args. With this change, the same definition
can be used with the differences listed in the exceptions.

Bug: 980631
Change-Id: If3c0c22f2046ce67123ec06dea88a6bf8de9102f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1691266
Reviewed-by: Kenneth Russell <[email protected]>
Commit-Queue: Brian Sheedy <[email protected]>
Cr-Commit-Position: refs/heads/master@{#676270}
diff --git a/testing/buildbot/test_suite_exceptions.pyl b/testing/buildbot/test_suite_exceptions.pyl
index 7c9dc7e..ed858fa 100644
--- a/testing/buildbot/test_suite_exceptions.pyl
+++ b/testing/buildbot/test_suite_exceptions.pyl
@@ -1231,7 +1231,39 @@
       },
     },
   },
- 'pixel_test':{
+  'pixel_skia_gold_test': {
+    'replacements': {
+      # client.v8.fyi
+      # The V8 builders pass the V8 revision for ${got_revision}, so instead
+      # use ${got_cr_revision}, which is only set on the V8 bots.
+      'Android V8 FYI Release (Nexus 5X)': {
+        'args': {
+          '--build-revision': '${got_cr_revision}',
+        },
+      },
+      'Linux V8 FYI Release (NVIDIA)': {
+        'args': {
+          '--build-revision': '${got_cr_revision}',
+        },
+      },
+      'Linux V8 FYI Release - pointer compression (NVIDIA)': {
+        'args': {
+          '--build-revision': '${got_cr_revision}',
+        },
+      },
+      'Mac V8 FYI Release (Intel)': {
+        'args': {
+          '--build-revision': '${got_cr_revision}',
+        },
+      },
+      'Win V8 FYI Release (NVIDIA)': {
+        'args': {
+          '--build-revision': '${got_cr_revision}',
+        },
+      },
+    },
+  },
+  'pixel_test':{
     'modifications': {
       'Android Release (Nexus 5X)': {
         'swarming': {