new approach for trying to dup space bug

bugfix-109-spaces
Dave Musicant (home machine) 2 years ago
parent 910f143505
commit 0bbf2b5848

@ -2,30 +2,12 @@
# This inserts customs setup and teardown because of spaces in the file name # This inserts customs setup and teardown because of spaces in the file name
function spaces_in_target_dir { #@test load startup-shutdown-spaces
# Time to wait for gitwatch to respond
# shellcheck disable=SC2034
WAITTIME=4
# Set up directory structure and initialize remote
testdir=$(mktemp -d "/tmp/tmpspace.XXXXXXX")
# shellcheck disable=SC2164
cd "$testdir"
mkdir remote
# shellcheck disable=SC2164
cd remote
git init -q --bare
# shellcheck disable=SC2103
cd ..
# shellcheck disable=SC2164
mkdir local
# shellcheck disable=SC2164
cd local
git clone -q ../remote
function spaces_in_target_dir { #@test
# Start up gitwatch with logging, see if works # Start up gitwatch with logging, see if works
"${BATS_TEST_DIRNAME}"/../gitwatch.sh -l 10 "$testdir/local/remote" 3>&- & "${BATS_TEST_DIRNAME}"/../gitwatch.sh -l 10 "$testdir/local/remote" 3>&- &
GITWATCH_PID=$! GITWATCH_PID=$!
echo "$GITWATCH_PID"
# Keeps kill message from printing to screen # Keeps kill message from printing to screen
disown disown
@ -33,23 +15,21 @@ function spaces_in_target_dir { #@test
# Create a file, verify that it hasn't been added yet, then commit # Create a file, verify that it hasn't been added yet, then commit
cd remote cd remote
echo '# Teardown started' >&3 # According to inotify documentation, a race condition results if you write
# Remove testing directories # to directory too soon after it has been created; hence, a short wait.
# shellcheck disable=SC2164 sleep 1
cd /tmp echo "line1" >> file1.txt
# Kill background process # Wait a bit for inotify to figure out the file has changed, and do its add,
# kill -9 %1 # and commit
# fg sleep "$WAITTIME"
# Also make sure to kill fswatch if on Mac # Make a new change
killall fswatch || true echo "line2" >> file1.txt
# Make sure gitwatch script gets killed if script stopped background sleep "$WAITTIME"
# Must kill the entire tree of processes generated
pkill -15 -f gitwatch.sh
pkill -15 -f gitwatch.sh
# pkill -15 -P "$GITWATCH_PID"
echo '# Teardown complete' >&3 # Check commit log that the diff is in there
run git log -1 --oneline
[[ $output == *"file1.txt"* ]]
} }

@ -0,0 +1,41 @@
# This inserts customs setup and teardown because of spaces in the file name
setup() {
# Time to wait for gitwatch to respond
# shellcheck disable=SC2034
WAITTIME=4
# Set up directory structure and initialize remote
testdir=$(mktemp -d "/tmp/tmp space.XXXXXXX")
# shellcheck disable=SC2164
cd "$testdir"
mkdir remote
# shellcheck disable=SC2164
cd remote
git init -q --bare
# shellcheck disable=SC2103
cd ..
# shellcheck disable=SC2164
mkdir local
# shellcheck disable=SC2164
cd local
git clone -q ../remote
}
teardown() {
echo '# Teardown started' >&3
# Remove testing directories
# shellcheck disable=SC2164
cd /tmp
# Kill background process
kill -9 %1
fg
# Also make sure to kill fswatch if on Mac
killall fswatch
# Make sure gitwatch script gets killed if script stopped background
# Must kill the entire tree of processes generated
pkill -15 -P "$GITWATCH_PID"
echo '# Teardown complete' >&3
}
Loading…
Cancel
Save