spiff-arena/spiffworkflow-frontend/bin/cypress_pilot

43 lines
1.1 KiB
Plaintext
Raw Normal View History

2023-03-07 02:41:27 +00:00
#!/usr/bin/env bash
function error_handler() {
>&2 echo "Exited with BAD EXIT CODE '${2}' in ${0} script at line: ${1}."
exit "$2"
}
trap 'error_handler ${LINENO} $?' ERR
set -o errtrace -o errexit -o nounset -o pipefail
# see also: npx cypress run --env grep="can filter",grepFilterSpecs=true
# https://github.com/cypress-io/cypress/tree/develop/npm/grep#pre-filter-specs-grepfilterspecs
command="${1:-}"
if [[ -z "$command" ]]; then
command=open
else
shift
fi
if [[ -z "${ATTEMPTS:-}" ]]; then
ATTEMPTS=1
fi
2023-03-07 02:41:27 +00:00
if [[ -z "${CYPRESS_SPIFFWORKFLOW_FRONTEND_AUTH_WITH_KEYCLOAK:-}" ]]; then
export CYPRESS_SPIFFWORKFLOW_FRONTEND_AUTH_WITH_KEYCLOAK=true
fi
cypress_run_file="/var/tmp/cypress_run_$(date +%s)"
echo "Recording stats to ${cypress_run_file}"
for attempt in $(seq 1 "$ATTEMPTS" ); do
echo "Running attempt: ${attempt}"
start_time=$(date +%s)
success="false"
if ./node_modules/.bin/cypress "$command" -c specPattern="cypress/pilot/**/*.cy.{js,jsx,ts,tsx}" --e2e --browser chrome "$@"; then
success="true"
fi
end_time=$(date +%s)
echo "${success},$(( end_time - start_time ))" >>"$cypress_run_file"
done