Reproducibility test
This commit is contained in:
parent
20346a784e
commit
ced35084ba
57
scripts/reproducability-test.sh
Executable file
57
scripts/reproducability-test.sh
Executable file
@ -0,0 +1,57 @@
|
|||||||
|
#!/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"
|
Loading…
Reference in New Issue
Block a user