Revision d0b437741ee3e132814b73cd92e2aeb48e2b89b2 authored by Christopher Moyer on 04 October 2022, 13:28:00 UTC, committed by GitHub on 04 October 2022, 13:28:00 UTC
1 parent 291276e
Raw File
run-suite
#!/usr/bin/env bash
set -xeo pipefail

. scripts/grafana-server/variables

if ((BASH_VERSINFO[0] < 4)); then
  echo "Bash ver >= 4 is needed to run this script"
  echo "Please upgrade your bash - run 'brew install bash' if you use Homebrew on MacOS"
  exit 1;
fi

HOST=${HOST:-$DEFAULT_HOST}
PORT=${PORT:-$DEFAULT_PORT}

echo -e "Starting Cypress scenarios"

args=("$@")

CMD="start"
PARAMS=""

declare -A env=(
  [BASE_URL]=${BASE_URL:-"http://$HOST:$PORT"}
  [SLOWMO]=0
)

testFilesForSingleSuite="*.spec.ts"

declare -A cypressConfig=(
  [integrationFolder]=../../e2e
  [screenshotsFolder]=../../e2e/"${args[0]}"/screenshots
  [videosFolder]=../../e2e/"${args[0]}"/videos
  [fileServerFolder]=./cypress
  [testFiles]=*-suite/*spec.ts
  [defaultCommandTimeout]=30000
  [viewportWidth]=1920
  [viewportHeight]=1080
  [trashAssetsBeforeRuns]=false
  [videoUploadOnPasses]=false
)


cd packages/grafana-e2e

case "$1" in
    "debug")
        echo -e "Debug mode"
        env[SLOWMO]=1
        PARAMS="--no-exit"
        ;;
    "dev")
        echo "Dev mode"
        CMD="open"
        ;;
    "benchmark")
        echo "Benchmark"
        PARAMS="--headed"
        CMD="start-benchmark"
        env[BENCHMARK_PLUGIN_ENABLED]=true
        env[BENCHMARK_PLUGIN_RESULTS_FOLDER]=../../e2e/benchmarks/"${args[1]}"/results
        cypressConfig[video]=false
        cypressConfig[integrationFolder]=../../e2e/benchmarks/"${args[1]}"
        cypressConfig[screenshotsFolder]=../../e2e/benchmarks/"${args[1]}"/screenshots
        cypressConfig[testFiles]=$testFilesForSingleSuite
        ;;
    "")
        ;;
    *)
        cypressConfig[integrationFolder]=../../e2e/"${args[0]}"
        cypressConfig[testFiles]=$testFilesForSingleSuite
        ;;
esac

function join () {
  local -n map=$1
  local delimiter=","

  local res=""

  for key in "${!map[@]}"
  do
    value=${map[$key]}
    if [ -z "${res}" ]; then
      res=$key=$value
    else
      res=$res$delimiter$key=$value
    fi
  done

  echo "$res"
}


yarn $CMD --env "$(join env)" \
  --config "$(join cypressConfig)" \
  $PARAMS
back to top