From 8e2d20786992d1e820d1fdf0d43af4b76353b898 Mon Sep 17 00:00:00 2001
From: ridiculousfish <corydoras@ridiculousfish.com>
Date: Mon, 3 Sep 2018 14:13:31 -0700
Subject: [PATCH] Report duration of each test

---
 tests/interactive.fish | 4 +++-
 tests/test.fish        | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/tests/interactive.fish b/tests/interactive.fish
index ad10cbf54..230241a84 100644
--- a/tests/interactive.fish
+++ b/tests/interactive.fish
@@ -45,12 +45,14 @@ end
 function test_file
     set -l file $argv[1]
     echo -n "Testing file $file ... "
+    set starttime (date +%s)
     begin
         set -lx TERM dumb
         expect -n -c 'source interactive.expect.rc' -f $file >$file.tmp.out 2>$file.tmp.err
     end
     set -l exit_status $status
     set -l res ok
+    set test_duration (math (date +%s) - $starttime)
     mv -f interactive.tmp.log $file.tmp.log
 
     diff $file.tmp.out $file.out >/dev/null
@@ -59,7 +61,7 @@ function test_file
     set -l err_status $status
 
     if test $out_status -eq 0 -a $err_status -eq 0 -a $exit_status -eq 0
-        say green "ok"
+        say green "ok ($test_duration sec)"
         # clean up tmp files
         rm -f $file.tmp.{err,out,log}
         return 0
diff --git a/tests/test.fish b/tests/test.fish
index 0a0dd5605..0711e0933 100644
--- a/tests/test.fish
+++ b/tests/test.fish
@@ -34,10 +34,12 @@ function test_file
     set -l base (basename $file .in)
 
     echo -n "Testing file $file ... "
+    set starttime (date +%s)
 
     ../test/root/bin/fish <$file >$base.tmp.out 2>$base.tmp.err
     set -l exit_status $status
     set -l res ok
+    set test_duration (math (date +%s) - $starttime)
 
     diff $base.tmp.out $base.out >/dev/null
     set -l out_status $status
@@ -45,7 +47,7 @@ function test_file
     set -l err_status $status
 
     if test $out_status -eq 0 -a $err_status -eq 0 -a $exit_status -eq 0
-        say green "ok"
+        say green "ok ($test_duration sec)"
         # clean up tmp files
         rm -f $base.tmp.{err,out}
         return 0