Browse Source

build(vhs): gen_test support automatic gen

The idea behind this is that it makes it easier for users of this system
to change the reference. They should now only have to delete the old
reference, and a new one will be generated.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
Christina Sørensen 2 years ago
parent
commit
23acc987fa
1 changed files with 15 additions and 5 deletions
  1. 15 5
      tests/vhs-runner.sh

+ 15 - 5
tests/vhs-runner.sh

@@ -12,13 +12,14 @@ function run_test -d "Run VHS test" -a NAME
     set SUCCESS "[+] $NAME: Success"
     set SUCCESS "[+] $NAME: Success"
     set FAILURE "[+] $NAME: Failure"
     set FAILURE "[+] $NAME: Failure"
 
 
-    echo "[*] Testing $NAME..."
-
     set GEN_DIR $TEMP
     set GEN_DIR $TEMP
     set GEN_FILE $GEN_DIR/$NAME.txt
     set GEN_FILE $GEN_DIR/$NAME.txt
     set GEN_FILE_ESCAPE (echo $GEN_FILE | sed "s/\//\\\\\//g")
     set GEN_FILE_ESCAPE (echo $GEN_FILE | sed "s/\//\\\\\//g")
 
 
+    echo "[*] Testing $NAME..."
+
     cat $TAPES/$NAME_TAPE | sed s/outfile/$GEN_FILE_ESCAPE/ | sed s/-l// | vhs >/dev/null
     cat $TAPES/$NAME_TAPE | sed s/outfile/$GEN_FILE_ESCAPE/ | sed s/-l// | vhs >/dev/null
+
     cmp -s -- $REFERENCES/$NAME.txt $TEMP/$NAME.txt && echo $SUCCESS || echo $FAILURE
     cmp -s -- $REFERENCES/$NAME.txt $TEMP/$NAME.txt && echo $SUCCESS || echo $FAILURE
 end
 end
 
 
@@ -29,19 +30,28 @@ function gen_test -d "Generate VHS test" -a NAME
     set SUCCESS "[+] $NAME: Success"
     set SUCCESS "[+] $NAME: Success"
     set FAILURE "[+] $NAME: Failure"
     set FAILURE "[+] $NAME: Failure"
 
 
-    echo "[*] Generating $NAME..."
-
     set GEN_DIR $REFERENCES
     set GEN_DIR $REFERENCES
     set GEN_FILE $GEN_DIR/$NAME.txt
     set GEN_FILE $GEN_DIR/$NAME.txt
     set GEN_FILE_ESCAPE (echo $GEN_FILE | sed "s/\//\\\\\//g")
     set GEN_FILE_ESCAPE (echo $GEN_FILE | sed "s/\//\\\\\//g")
 
 
+    # The idea behind this is that it makes it easier for users of this system
+    # to change the reference. They should now only have to delete the old
+    # reference, and a new one will be generated.
+    if builtin test -f $GEN_FILE
+        echo "[*] $GEN_FILE exists, skipping generating it"
+        return
+    end
+
+    echo "[*] Generating $NAME..."
+
     cat $TAPES/$NAME_TAPE | sed s/outfile/$GEN_FILE_ESCAPE/ | sed s/-l// | vhs >/dev/null
     cat $TAPES/$NAME_TAPE | sed s/outfile/$GEN_FILE_ESCAPE/ | sed s/-l// | vhs >/dev/null
+
     cmp -s -- $REFERENCES/$NAME.txt $TEMP/$NAME.txt && echo $SUCCESS || echo $FAILURE
     cmp -s -- $REFERENCES/$NAME.txt $TEMP/$NAME.txt && echo $SUCCESS || echo $FAILURE
 end
 end
 
 
 function main
 function main
 
 
-    # gen_test main
+    gen_test main
 
 
     run_test main
     run_test main