mirror of
https://github.com/gitlabhq/gitlabhq.git
synced 2025-07-23 02:54:40 +00:00
31 lines
899 B
Bash
Executable File
31 lines
899 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
## Usage: scripts/rspec_bisect_flaky <files...>
|
|
#
|
|
# The files should be listed in order, with the last file being the file where
|
|
# the flaky spec lives.
|
|
|
|
if [ $# -eq 0 ]; then
|
|
echo "Usage: scripts/rspec_bisect_flaky <files...>"
|
|
exit
|
|
fi
|
|
|
|
files=( "$@" )
|
|
len=${#files[@]}
|
|
target=${files[$len-1]}
|
|
|
|
# Trap interrupts and exit instead of continuing the loop
|
|
trap "echo Exited!; exit 2;" SIGINT SIGTERM
|
|
|
|
# Show which set of specs are running and exit immediately if they fail.
|
|
set -xe
|
|
|
|
# Do the speedy case first, run each spec with our failing spec
|
|
for file in "${files[@]}"; do
|
|
bin/rspec "$file" "$target"
|
|
done
|
|
|
|
# Do a full bisect given we did not find candidates with speedy cases
|
|
# Explicitly require macos.rb to ensure fork works correctly https://gitlab.com/gitlab-org/gitlab/-/merge_requests/170190
|
|
bin/rspec --require ./config/initializers/macos.rb --bisect=verbose "$@"
|