Files
revng-revng/tests/tools/pipeline/MultiStepPipelineTest.sh
Alessandro Di Federico a38819d8d9 revng-pipeline tests: cleanup temporary files
Certain revng-pipeline tests did not clean up temporary files leading to
weird effects running the tests twice in the same build directory.
2022-02-14 10:56:30 +01:00

44 lines
990 B
Bash
Executable File

#!/bin/bash
set -e
set -o pipefail
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
OUTPUT="$PWD/MultiStepPipelineOut.txt"
WORKING_DIRECTORY="$PWD/MultiStepPipelineTestDir/"
REFERENCE_OUTPUT="$SCRIPT_DIR/MultiStepPipelineOutput.txt"
function run() {
"$PWD/bin/revng-pipeline" \
-P="$SCRIPT_DIR/MultiStepPipeline.yml" \
Strings3:Root:Root \
-i "FirstStep:Strings1:$SCRIPT_DIR/MultiStepPipelineInput.txt" \
-o "End:Strings3:$OUTPUT" \
-p "$WORKING_DIRECTORY" \
-s \
"$@"
}
# Cleanup
rm -rf "$WORKING_DIRECTORY"
mkdir -p "$WORKING_DIRECTORY"
# Produce $OUTPUT
run "$@"
diff "$OUTPUT" "$REFERENCE_OUTPUT"
# Produce $OUTPUT again and make sure it has not changed
run "$@"
diff "$OUTPUT" "$REFERENCE_OUTPUT"
# Drop an interemdiate results and recompute
rm "$WORKING_DIRECTORY/SecondStep/Strings1"
run "$@"
diff "$OUTPUT" "$REFERENCE_OUTPUT"
# Recreate the output again
rm "$OUTPUT"
run "$@"
diff "$OUTPUT" "$REFERENCE_OUTPUT"