Move test scripts to scripts/test

R=aerotwist@chromium.org, liviurau@chromium.org, machenbach@chromium.org

Bug: 1018122
Change-Id: I7cc3a1a9ab01c649b3c7fe8ba5d5254adc631634
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1880033
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Liviu Rau <liviurau@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
diff --git a/scripts/run_tests.py b/scripts/run_tests.py
index 393b5c3..9755526 100755
--- a/scripts/run_tests.py
+++ b/scripts/run_tests.py
@@ -3,81 +3,7 @@
 # Copyright 2019 The Chromium Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
-"""
-Run Karma unit tests on a pre-built chrome or one specified via --chrome-binary.
-"""
 
-import os
-import re
-import subprocess
-import sys
+from test import run_unittests
 
-import devtools_paths
-
-
-def check_chrome_binary(chrome_binary):
-    return os.path.exists(chrome_binary) and os.path.isfile(chrome_binary) and os.access(chrome_binary, os.X_OK)
-
-
-def popen(arguments, cwd=None, env=None):
-    return subprocess.Popen(arguments, cwd=cwd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, env=env)
-
-
-def to_platform_path_exact(filepath):
-    if not is_cygwin:
-        return filepath
-    output, _ = popen(['cygpath', '-w', filepath]).communicate()
-    # pylint: disable=E1103
-    return output.strip().replace('\\', '\\\\')
-
-
-def run_tests():
-    karma_errors_found = False
-
-    karmaconfig_path = os.path.join(devtools_path, 'karma.conf.js')
-    exec_command = [devtools_paths.node_path(), devtools_paths.karma_path(), 'start', to_platform_path_exact(karmaconfig_path)]
-
-    env = {'NODE_PATH': devtools_paths.node_modules_path()}
-    if (chrome_binary is not None):
-        env['CHROME_BIN'] = chrome_binary
-
-    karma_proc = popen(exec_command, cwd=devtools_path, env=env)
-
-    (karma_proc_out, _) = karma_proc.communicate()
-    if karma_proc.returncode != 0:
-        karma_errors_found = True
-    else:
-        print('Karma exited successfully')
-
-    print(karma_proc_out)
-    return karma_errors_found
-
-
-is_cygwin = sys.platform == "cygwin"
-chrome_binary = None
-DOWNLOADED_CHROME_BINARY = os.path.abspath(
-    os.path.join(os.path.dirname(__file__), '..', 'third_party', 'chrome', 'chrome-linux', 'chrome'))
-
-if check_chrome_binary(DOWNLOADED_CHROME_BINARY):
-    chrome_binary = DOWNLOADED_CHROME_BINARY
-
-if len(sys.argv) >= 2:
-    chrome_binary = re.sub(r"^\-\-chrome-binary=(.*)", "\\1", sys.argv[1])
-    if not check_chrome_binary(chrome_binary):
-        print("Unable to find a Chrome binary at \"%s\"" % chrome_binary)
-        sys.exit(1)
-
-scripts_path = os.path.dirname(os.path.abspath(__file__))
-devtools_path = os.path.dirname(scripts_path)
-
-print("Running tests with Karma...")
-if (chrome_binary is not None):
-    print("Using custom Chrome Binary (%s)\n" % chrome_binary)
-else:
-    print("Using system Chrome")
-
-errors_found = run_tests()
-
-if errors_found:
-    print('ERRORS DETECTED')
-    sys.exit(1)
+run_unittests.main()