From 1e992e31a0ca7691dc576011e475a3a801d5a0ea Mon Sep 17 00:00:00 2001 From: Joursoir Date: Sun, 12 Mar 2023 10:57:00 +0400 Subject: add an output comparison test --- test.sh | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 test.sh diff --git a/test.sh b/test.sh new file mode 100755 index 0000000..d6db5f5 --- /dev/null +++ b/test.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +trgrep_output_file="rust_output.txt" +grep_output_file="grep_output.txt" + +function run_test { + local options="$1" + + # Run trgrep and redirect its output to a file + cargo run --quiet -- $options > "$trgrep_output_file" + + # Run the real grep and redirect its output to a file + grep $options > "$grep_output_file" + + # Compare the two output files using diff + if diff "$trgrep_output_file" "$grep_output_file" >/dev/null ; then + echo "$options: passed" + return 0 + else + echo "$options: FAILED" + return 1 + fi +} + +# Run some tests +run_test "-v --ignore-case twinkle sample-files/poem.txt" +run_test "-w 'apple' sample-files/words.txt" +run_test "a sample-files/words.txt" +run_test "-n 4 sample-files/numbers.txt" +run_test "-h -n fil src/lib.rs src/main.rs" +run_test "-l { src/lib.rs src/main.rs" +run_test "-c -l l src/lib.rs src/main.rs" + +# Clean up +rm -f $trgrep_output_file $grep_output_file -- cgit v1.2.3-18-g5258