'run-test.py' script should make sure 'node_modules' directory exists before installi...
authordewei_zhu@apple.com <dewei_zhu@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 23 Jan 2018 04:39:10 +0000 (04:39 +0000)
committerdewei_zhu@apple.com <dewei_zhu@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 23 Jan 2018 04:39:10 +0000 (04:39 +0000)
https://bugs.webkit.org/show_bug.cgi?id=181808

Reviewed by Ryosuke Niwa.

'run-test.py' will fail if 'node_modules' does not exist before running this script.
Instead of calling 'os.chdir' to change directory, use 'cwd' in subprocess instead.

* tools/run-tests.py: Added the logic to ensure 'node_modules' exists.
Also use 'cwd' in subprocess.call instead of calling 'os.chdir' ahead.

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

Websites/perf.webkit.org/ChangeLog
Websites/perf.webkit.org/tools/run-tests.py

index 46fc77c..7dc9e00 100644 (file)
@@ -1,3 +1,16 @@
+2018-01-18  Dewei Zhu  <dewei_zhu@apple.com>
+
+        'run-test.py' script should make sure 'node_modules' directory exists before installing node packages.
+        https://bugs.webkit.org/show_bug.cgi?id=181808
+
+        Reviewed by Ryosuke Niwa.
+
+        'run-test.py' will fail if 'node_modules' does not exist before running this script.
+        Instead of calling 'os.chdir' to change directory, use 'cwd' in subprocess instead.
+
+        * tools/run-tests.py: Added the logic to ensure 'node_modules' exists.
+        Also use 'cwd' in subprocess.call instead of calling 'os.chdir' ahead.
+
 2018-01-20  Dewei Zhu  <dewei_zhu@apple.com>
 
         Extend 'ifBuilt' config key to set property based on whether certain repositories are built or not.
index 0398f25..eb58654 100755 (executable)
@@ -10,12 +10,12 @@ def main():
     root_dir = os.path.abspath(os.path.join(tools_dir, '..'))
     node_modules_dir = os.path.join(root_dir, 'node_modules')
 
-    os.chdir(root_dir)
+    os.makedirs(node_modules_dir)
     packages = ['mocha', 'pg', 'form-data']
     for package_name in packages:
         target_dir = os.path.join(node_modules_dir, package_name)
         if not os.path.isdir(target_dir):
-            subprocess.call(['npm', 'install', package_name])
+            subprocess.call(['npm', 'install', package_name], cwd=node_modules_dir)
 
     mocha_path = os.path.join(node_modules_dir, 'mocha/bin/mocha')
     test_paths = sys.argv[1:] or ['unit-tests', 'server-tests']