From d972780d8bb5c1d04ad3f136d63108ae74d61b57 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C5=BDeljko=20Filipin?= Date: Sat, 7 Apr 2018 16:35:26 +0200 Subject: [PATCH] Selenium: move logic for running tests from package.json to selenium.sh Just running `npm run selenium` in CI does not work. If WebdriverIO fails, the job still passes since the last command to run is `killall chromedriver`. Reusing the script from CI that starts and stops Chromedriver should fix the problem. Bug: T179190 Change-Id: If29227263d23a3e4f26e2329dfa13c49f976cf8e --- package.json | 2 +- tests/selenium/selenium.sh | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100755 tests/selenium/selenium.sh diff --git a/package.json b/package.json index c33fb74862..a282d6931b 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "qunit": "grunt qunit", "doc": "jsduck", "postdoc": "grunt copy:jsduck", - "selenium": "killall -0 chromedriver 2>/dev/null || chromedriver --url-base=/wd/hub --port=4444 & grunt webdriver:test; killall chromedriver" + "selenium": "./tests/selenium/selenium.sh" }, "devDependencies": { "bluebird": "3.5.1", diff --git a/tests/selenium/selenium.sh b/tests/selenium/selenium.sh new file mode 100755 index 0000000000..519b7be9ac --- /dev/null +++ b/tests/selenium/selenium.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -euo pipefail +chromedriver --url-base=/wd/hub --port=4444 & +# Make sure it is killed to prevent file descriptors leak +function kill_chromedriver() { + killall chromedriver > /dev/null +} +trap kill_chromedriver EXIT +./node_modules/.bin/grunt webdriver:test -- 2.20.1