Don't use killall in selenium.sh
authoraddshore <addshorewiki@gmail.com>
Thu, 7 Jun 2018 16:20:59 +0000 (17:20 +0100)
committerWMDE-Fisch <christoph.jauera@wikimedia.de>
Wed, 13 Jun 2018 11:55:59 +0000 (11:55 +0000)
git bash for windows apparently doesn't have killall
by default, so instead get the PID of the chrome driver
we start and kill that specifically.

Change-Id: I8a9a773a7d3dc23807dc3ec12f5b3ef03661c9e3

tests/selenium/selenium.sh

index 4a5c254..93f03b4 100755 (executable)
@@ -4,9 +4,12 @@ set -euo pipefail
 # that it can actually fail and have a descriptive error
 hash chromedriver
 chromedriver --url-base=/wd/hub --port=4444 &
+CHROME_DRIVER_PID=$!
+echo chromedriver running with PID $CHROME_DRIVER_PID
 # Make sure it is killed to prevent file descriptors leak
 function kill_chromedriver() {
-    killall chromedriver > /dev/null
+    # Use kill instead of killall to increase chances of this working on Windows
+    kill $CHROME_DRIVER_PID > /dev/null
 }
 trap kill_chromedriver EXIT
 npm run selenium-test