#!/bin/sh run_browser() { browser=$1 version=$2 os="$3" description="$browser $version" if [ $version = "latest" ]; then version="" fi echo echo echo "Running $description" echo USE_SAUCE=true JASMINE_BROWSER=$browser SAUCE_BROWSER_VERSION=$version SAUCE_OS="$os" npm run ci if [ $? -eq 0 ]; then echo "PASS: $description" >> "$passfile" else echo "FAIL: $description" >> "$failfile" fi } passfile=`mktemp -t jasmine-results.XXXXXX` || exit 1 failfile=`mktemp -t jasmine-results.XXXXXX` || exit 1 # As of 2023-09-30, Sauce Connect doesn't work with the latest Chrome version # on the default Linux. Run on Mac OS instead. The OS specification may need to # be updated or removed when new Chrome versions stop being available on Mac OS # 12, although historically this has taken several major OS versions. # See . # On Saucelabs, the test suite frequently runs ~30s slower on Mac OS than it # does on Linux, so it's probably worth removing the OS specification once Sauce # Connect works with Chrome latest on Linux again. run_browser chrome latest "macOS 12" run_browser firefox latest run_browser firefox 128 run_browser firefox 115 run_browser firefox 102 run_browser safari 17 run_browser safari 16 run_browser safari 15 run_browser MicrosoftEdge latest echo cat "$passfile" "$failfile" if [ -s "$failfile" ]; then exit 1 fi