Bug 1632616 - Download and install google chrome through tooltool. r=aerickson,perftest-reviewers,Bebe
authorGregory Mierzwinski <gmierz2@outlook.com>
Tue, 28 Apr 2020 09:23:21 +0000
changeset 526454 2550dcabbedf1e95ba9c8d71cae32aea0b7a7a29
parent 526453 7b78aab460c6c5dc5c942d081ce1b729826ae07b
child 526455 08e2ec70d06d30ce99568ce6a473bc6d698dbc70
push id37356
push useraiakab@mozilla.com
push dateTue, 28 Apr 2020 16:30:11 +0000
treeherdermozilla-central@5797e768d878 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersaerickson, perftest-reviewers, Bebe
bugs1632616
milestone77.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1632616 - Download and install google chrome through tooltool. r=aerickson,perftest-reviewers,Bebe This patch changes how Google Chrome for Android is deployed. Rather than relying on automatic updates, we will use tooltool to download the APK and install it ourselves. Some changes were done in taskcluster to remove a hack that was put in place to disable interal tooltool downloads (the issue is resolved now). A tooltool manifest is added for this, and to keep ourselves organized, all manifests (including the playback ones) are moved into a folder called `tooltool-manifests`. Differential Revision: https://phabricator.services.mozilla.com/D72198
taskcluster/taskgraph/transforms/job/mozharness_test.py
taskcluster/taskgraph/transforms/raptor.py
testing/mozharness/configs/raptor/android_hw_config.py
testing/mozharness/mozharness/mozilla/testing/raptor.py
testing/raptor/raptor/perftest.py
testing/raptor/raptor/playback/mitm4-linux-firefox-amazon.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-apple.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-bing-search.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-ebay.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-facebook-old.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-facebook-redesign.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-facebook.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-fandom.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-google-docs.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-google-mail.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-google-search.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-google-sheets.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-google-slides.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-imdb.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-imgur.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-instagram-binast.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-instagram.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-linkedin.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-microsoft.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-netflix.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-office.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-outlook.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-paypal.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-pinterest.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-reddit.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-tumblr.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-twitch.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-twitter.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-wikipedia.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-yahoo-mail.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-yahoo-news.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-yandex.manifest
testing/raptor/raptor/playback/mitm4-linux-firefox-youtube.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-allrecipes.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-amazon-search.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-amazon.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-bbc.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-bing-search-restaurants.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-bing.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-booking.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-cnn-ampstories.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-cnn.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-ebay-kleinanzeigen-search.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-ebay-kleinanzeigen.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-espn.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-facebook-cristiano.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-facebook.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-google-maps.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-google-search-restaurants.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-google.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-imdb.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-instagram.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-jianshu.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-microsoft-support.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-reddit.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-stackoverflow.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-web-de.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-wikipedia.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-youtube-watch.manifest
testing/raptor/raptor/playback/mitm4-pixel2-fennec-youtube.manifest
testing/raptor/raptor/tooltool-manifests/chrome-android/chrome80.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-amazon.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-apple.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-bing-search.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-ebay.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-facebook-old.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-facebook-redesign.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-facebook.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-fandom.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-google-docs.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-google-mail.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-google-search.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-google-sheets.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-google-slides.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-imdb.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-imgur.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-instagram-binast.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-instagram.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-linkedin.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-microsoft.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-netflix.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-office.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-outlook.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-paypal.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-pinterest.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-reddit.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-tumblr.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-twitch.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-twitter.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-wikipedia.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-yahoo-mail.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-yahoo-news.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-yandex.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-youtube.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-allrecipes.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-amazon-search.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-amazon.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-bbc.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-bing-search-restaurants.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-bing.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-booking.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-cnn-ampstories.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-cnn.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-ebay-kleinanzeigen-search.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-ebay-kleinanzeigen.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-espn.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-facebook-cristiano.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-facebook.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-google-maps.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-google-search-restaurants.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-google.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-imdb.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-instagram.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-jianshu.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-microsoft-support.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-reddit.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-stackoverflow.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-web-de.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-wikipedia.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-youtube-watch.manifest
testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-youtube.manifest
--- a/taskcluster/taskgraph/transforms/job/mozharness_test.py
+++ b/taskcluster/taskgraph/transforms/job/mozharness_test.py
@@ -386,19 +386,16 @@ def mozharness_test_on_generic_worker(co
         'workdir': run['workdir'],
         'tooltool-downloads': mozharness['tooltool-downloads'],
         'checkout': test['checkout'],
         'command': mh_command,
         'using': 'run-task',
     }
     if is_bitbar:
         job['run']['run-as-root'] = True
-        # FIXME: The bitbar config incorrectly requests internal tooltool downloads
-        # so force it off here.
-        job['run']['tooltool-downloads'] = False
     configure_taskdesc_for_run(config, job, taskdesc, worker['implementation'])
 
 
 @run_job_using('script-engine-autophone', 'mozharness-test', schema=mozharness_test_run_schema)
 def mozharness_test_on_script_engine_autophone(config, job, taskdesc):
     test = taskdesc['run']['test']
     mozharness = test['mozharness']
     worker = taskdesc['worker']
--- a/taskcluster/taskgraph/transforms/raptor.py
+++ b/taskcluster/taskgraph/transforms/raptor.py
@@ -238,17 +238,21 @@ def split_browsertime_page_load_by_url(c
         test['description'] += "-{}".format(test['raptor-test'])
 
         yield test
 
 
 @transforms.add
 def add_extra_options(config, tests):
     for test in tests:
-        extra_options = test.setdefault('mozharness', {}).setdefault('extra-options', [])
+        mozharness = test.setdefault('mozharness', {})
+        if test.get('app', '') == 'chrome-m':
+            mozharness['tooltool-downloads'] = 'internal'
+
+        extra_options = mozharness.setdefault('extra-options', [])
 
         # Adding device name if we're on android
         test_platform = test['test-platform']
         if test_platform.startswith('android-hw-g5'):
             extra_options.append('--device-name=g5')
         elif test_platform.startswith('android-hw-p2'):
             extra_options.append('--device-name=p2_aarch64')
 
--- a/testing/mozharness/configs/raptor/android_hw_config.py
+++ b/testing/mozharness/configs/raptor/android_hw_config.py
@@ -2,16 +2,17 @@ import os
 
 config = {
     "log_name": "raptor",
     "title": os.uname()[1].lower().split('.')[0],
     "default_actions": [
         "clobber",
         "download-and-extract",
         "populate-webroot",
+        "install-chrome-android",
         "install-chromium-distribution",
         "create-virtualenv",
         "install",
         "run-tests",
     ],
     "tooltool_cache": "/builds/tooltool_cache",
     "download_tooltool": True,
     "hostutils_manifest_path": "testing/config/tooltool-manifests/linux64/hostutils.manifest",
--- a/testing/mozharness/mozharness/mozilla/testing/raptor.py
+++ b/testing/mozharness/mozharness/mozilla/testing/raptor.py
@@ -8,18 +8,19 @@ from __future__ import absolute_import, 
 
 import argparse
 import copy
 import glob
 import os
 import re
 import sys
 import subprocess
+import tempfile
 
-from shutil import copyfile
+from shutil import copyfile, rmtree
 
 import mozharness
 
 from mozharness.base.errors import PythonErrorList
 from mozharness.base.log import OutputParser, DEBUG, ERROR, CRITICAL, INFO
 from mozharness.mozilla.automation import (
     EXIT_STATUS_DICT, TBPL_SUCCESS, TBPL_RETRY, TBPL_WORST_LEVEL_TUPLE
 )
@@ -309,16 +310,17 @@ class Raptor(TestingMixin, MercurialScri
         copy.deepcopy(code_coverage_config_options) + \
         browsertime_options
 
     def __init__(self, **kwargs):
         kwargs.setdefault('config_options', self.config_options)
         kwargs.setdefault('all_actions', ['clobber',
                                           'download-and-extract',
                                           'populate-webroot',
+                                          'install-chrome-android',
                                           'install-chromium-distribution',
                                           'create-virtualenv',
                                           'install',
                                           'run-tests',
                                           ])
         kwargs.setdefault('default_actions', ['clobber',
                                               'download-and-extract',
                                               'populate-webroot',
@@ -431,16 +433,58 @@ class Raptor(TestingMixin, MercurialScri
         abs_dirs = super(Raptor, self).query_abs_dirs()
         abs_dirs['abs_blob_upload_dir'] = os.path.join(abs_dirs['abs_work_dir'],
                                                        'blobber_upload_dir')
         abs_dirs['abs_test_install_dir'] = os.path.join(abs_dirs['abs_work_dir'], 'tests')
 
         self.abs_dirs = abs_dirs
         return self.abs_dirs
 
+    def install_chrome_android(self):
+        '''Install Google Chrome for Android in production from tooltool'''
+        if self.app != "chrome-m":
+            self.info("Google Chrome for Android not required")
+            return
+        if self.config.get("run_local"):
+            self.info(
+                "Google Chrome for Android will not be installed "
+                "from tooltool when running locally"
+            )
+            return
+        self.info("Fetching and installing Google Chrome for Android")
+
+        # Fetch the APK
+        tmpdir = tempfile.mkdtemp()
+        self.tooltool_fetch(
+            os.path.join(
+                self.raptor_path,
+                "raptor",
+                "tooltool-manifests",
+                "chrome-android",
+                "chrome80.manifest"
+            ),
+            output_dir=tmpdir
+        )
+
+        # Find the downloaded APK
+        files = os.listdir(tmpdir)
+        if len(files) > 1:
+            raise Exception("Found more than one chrome APK file after tooltool download")
+        chromeapk = os.path.join(tmpdir, files[0])
+
+        # Disable verification and install the APK
+        self.device.shell_output("settings put global verifier_verify_adb_installs 0")
+        self.install_apk(chromeapk, replace=True)
+
+        # Re-enable verification and delete the temporary directory
+        self.device.shell_output("settings put global verifier_verify_adb_installs 1")
+        rmtree(tmpdir)
+
+        self.info("Google Chrome for Android successfully installed")
+
     def install_chromium_distribution(self):
         '''Install Google Chromium distribution in production'''
         linux, mac, win = 'linux', 'mac', 'win'
         chrome, chromium = 'chrome', 'chromium'
 
         available_chromium_dists = [chrome, chromium]
         binary_location = {
             chromium: {
@@ -618,23 +662,23 @@ class Raptor(TestingMixin, MercurialScri
     def clobber(self):
         # Recreate the upload directory for storing the logcat collected
         # during APK installation.
         super(Raptor, self).clobber()
         upload_dir = self.query_abs_dirs()['abs_blob_upload_dir']
         if not os.path.isdir(upload_dir):
             self.mkdir_p(upload_dir)
 
-    def install_apk(self, apk):
+    def install_apk(self, apk, replace=False):
         # Override AndroidMixin's install_apk in order to capture
         # logcat during the installation. If the installation fails,
         # the logcat file will be left in the upload directory.
         self.logcat_start()
         try:
-            super(Raptor, self).install_apk(apk)
+            super(Raptor, self).install_apk(apk, replace=replace)
         finally:
             self.logcat_stop()
 
     def download_and_extract(self, extract_dirs=None, suite_categories=None):
         return super(Raptor, self).download_and_extract(
             suite_categories=['common', 'condprof', 'raptor']
         )
 
--- a/testing/raptor/raptor/perftest.py
+++ b/testing/raptor/raptor/perftest.py
@@ -465,17 +465,17 @@ either Raptor or browsertime."""
                         )
                     else:
                         LOG.info("Playback recording date not available")
             else:
                 LOG.info("Playback recording information not available")
 
     def get_playback_config(self, test):
         platform = self.config["platform"]
-        playback_dir = os.path.join(here, "playback")
+        playback_dir = os.path.join(here, "tooltool-manifests", "playback")
 
         self.config.update(
             {
                 "playback_tool": test.get("playback"),
                 "playback_version": test.get("playback_version", "4.0.4"),
                 "playback_binary_zip": test.get("playback_binary_zip_%s" % platform),
                 "playback_pageset_zip": test.get("playback_pageset_zip_%s" % platform),
                 "playback_binary_manifest": test.get("playback_binary_manifest"),
new file mode 100644
--- /dev/null
+++ b/testing/raptor/raptor/tooltool-manifests/chrome-android/chrome80.manifest
@@ -0,0 +1,10 @@
+[
+  {
+    "algorithm": "sha512",
+    "visibility": "internal",
+    "filename": "com.android.chrome-v.80.0.3987.162.apk",
+    "unpack": false,
+    "digest": "2e41de938372ba2658479e2f1e7f8392659efe9d39f0200308f2b2adbf18654421e2878eb4a74ae9c75ff5987b03b61553f6f8fcc3e0c39cf24de320e35c2168",
+    "size": 131273700
+  }
+]
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-amazon.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-amazon.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-apple.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-apple.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-bing-search.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-bing-search.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-ebay.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-ebay.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-facebook-old.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-facebook-old.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-facebook-redesign.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-facebook-redesign.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-facebook.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-facebook.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-fandom.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-fandom.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-google-docs.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-google-docs.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-google-mail.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-google-mail.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-google-search.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-google-search.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-google-sheets.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-google-sheets.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-google-slides.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-google-slides.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-imdb.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-imdb.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-imgur.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-imgur.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-instagram-binast.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-instagram-binast.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-instagram.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-instagram.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-linkedin.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-linkedin.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-microsoft.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-microsoft.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-netflix.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-netflix.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-office.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-office.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-outlook.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-outlook.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-paypal.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-paypal.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-pinterest.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-pinterest.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-reddit.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-reddit.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-tumblr.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-tumblr.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-twitch.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-twitch.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-twitter.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-twitter.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-wikipedia.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-wikipedia.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-yahoo-mail.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-yahoo-mail.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-yahoo-news.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-yahoo-news.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-yandex.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-yandex.manifest
rename from testing/raptor/raptor/playback/mitm4-linux-firefox-youtube.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-linux-firefox-youtube.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-allrecipes.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-allrecipes.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-amazon-search.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-amazon-search.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-amazon.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-amazon.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-bbc.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-bbc.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-bing-search-restaurants.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-bing-search-restaurants.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-bing.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-bing.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-booking.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-booking.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-cnn-ampstories.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-cnn-ampstories.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-cnn.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-cnn.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-ebay-kleinanzeigen-search.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-ebay-kleinanzeigen-search.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-ebay-kleinanzeigen.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-ebay-kleinanzeigen.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-espn.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-espn.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-facebook-cristiano.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-facebook-cristiano.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-facebook.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-facebook.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-google-maps.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-google-maps.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-google-search-restaurants.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-google-search-restaurants.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-google.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-google.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-imdb.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-imdb.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-instagram.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-instagram.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-jianshu.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-jianshu.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-microsoft-support.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-microsoft-support.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-reddit.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-reddit.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-stackoverflow.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-stackoverflow.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-web-de.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-web-de.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-wikipedia.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-wikipedia.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-youtube-watch.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-youtube-watch.manifest
rename from testing/raptor/raptor/playback/mitm4-pixel2-fennec-youtube.manifest
rename to testing/raptor/raptor/tooltool-manifests/playback/mitm4-pixel2-fennec-youtube.manifest