58 lines
1.4 KiB
Bash
Executable File
58 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
### VARIABLES
|
|
|
|
REPRODUCABILITY=5 # how many times we need to build with same hash
|
|
|
|
### TEST STARTS HERE ###
|
|
|
|
CURRENT_DIR=$(pwd)
|
|
|
|
if [[ $(echo $0 | awk -F"/" '{print NF-1}') -eq 1 ]] ; then
|
|
# we need to go one directory up
|
|
cd ..
|
|
fi
|
|
|
|
# cleanup after self if we already ran and previous test crashed or
|
|
# something before it cleaned up after itself.
|
|
rm -rf /tmp/uw-test-runs/* 2>/dev/null # we not interested if fails
|
|
|
|
# make new folder if it doesn't exist
|
|
mkdir -p /tmp/uw-test-runs
|
|
|
|
for ((run=0;run<$REPRODUCABILITY;run++)) ; do
|
|
echo ""
|
|
echo "---- run ${run} ----"
|
|
|
|
# save hash and then run build. Save hash.
|
|
OLD_HASH=$HASH
|
|
HASH=$(npm run build 2>/dev/null | grep "Hash:")
|
|
|
|
# move build file to /tmp, where it'll be saved for later
|
|
mv dist-ff /tmp/uw-test-runs/${run}
|
|
|
|
# skip comparisons with previous tests on first run,
|
|
# cos we don't have anything to compare against yet
|
|
if [[ $run -ne 0 ]] ; then
|
|
if [[ "$OLD_HASH" == "$HASH" ]] ; then
|
|
echo "Hashes ok${HASH##*:}"
|
|
else
|
|
echo "Webpack hashes do not match! (${OLD_HASH##*:} <---> ${HASH##*:})"
|
|
fi
|
|
|
|
echo "Diff test (no output=ok):"
|
|
diff -qr /tmp/uw-test-runs/${prev_run} /tmp/uw-test-runs/${run}
|
|
else
|
|
echo "Webpack hash: $HASH"
|
|
fi
|
|
|
|
# save id of previous run
|
|
prev_run=$run
|
|
done
|
|
|
|
# clean up after self
|
|
rm -rf /tmp/uw-test-runs
|
|
|
|
# restore dir
|
|
cd "$CURRENT_DIR"
|