瀏覽代碼

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 年之前
父節點
當前提交
23acc987fa
共有 1 個文件被更改,包括 15 次插入5 次删除
  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 FAILURE "[+] $NAME: Failure"
 
-    echo "[*] Testing $NAME..."
-
     set GEN_DIR $TEMP
     set GEN_FILE $GEN_DIR/$NAME.txt
     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
+
     cmp -s -- $REFERENCES/$NAME.txt $TEMP/$NAME.txt && echo $SUCCESS || echo $FAILURE
 end
 
@@ -29,19 +30,28 @@ function gen_test -d "Generate VHS test" -a NAME
     set SUCCESS "[+] $NAME: Success"
     set FAILURE "[+] $NAME: Failure"
 
-    echo "[*] Generating $NAME..."
-
     set GEN_DIR $REFERENCES
     set GEN_FILE $GEN_DIR/$NAME.txt
     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
+
     cmp -s -- $REFERENCES/$NAME.txt $TEMP/$NAME.txt && echo $SUCCESS || echo $FAILURE
 end
 
 function main
 
-    # gen_test main
+    gen_test main
 
     run_test main