#!/usr/bin/env bash set -e PASSED_ARGS="$@" if [[ "$OSTYPE" == "darwin"* ]] || [[ "$AGENT_OS" == "Darwin"* ]]; then realpath() { [[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}"; } ROOT=$(dirname $(dirname $(realpath "$0"))) else ROOT=$(dirname $(dirname $(readlink -f $0))) # {{SQL CARBON EDIT}} Completed disable sandboxing via --no-sandbox since we still see failures on our test runs # --disable-setuid-sandbox: setuid sandboxes requires root and is used in containers so we disable this # --disable-dev-shm-usage --use-gl=swiftshader: when run on docker containers where size of /dev/shm # partition < 64MB which causes OOM failure for chromium compositor that uses the partition for shared memory LINUX_EXTRA_ARGS="--no-sandbox --disable-dev-shm-usage --use-gl=swiftshader" fi cd $ROOT if [[ "$OSTYPE" == "darwin"* ]]; then NAME=`node -p "require('./product.json').nameLong"` CODE="./.build/electron/$NAME.app/Contents/MacOS/Electron" else NAME=`node -p "require('./product.json').applicationName"` CODE=".build/electron/$NAME" fi # Default to only running stable tests if test grep isn't set if [[ "$ADS_TEST_GREP" == "" ]]; then echo Running stable tests only export ADS_TEST_GREP="@UNSTABLE@" export ADS_TEST_INVERT_GREP=1 fi # Node modules test -d node_modules || yarn # Get electron yarn electron # Unit Tests if [[ "$OSTYPE" == "darwin"* ]]; then cd $ROOT ; ulimit -n 4096 ; \ ELECTRON_ENABLE_LOGGING=1 \ "$CODE" \ test/unit/electron/index.js "$@" else cd $ROOT ; \ ELECTRON_ENABLE_LOGGING=1 \ "$CODE" \ test/unit/electron/index.js $LINUX_EXTRA_ARGS "$@" fi