From dda1b74ea10a45d9a810b2a982e93cfb13dfeaba Mon Sep 17 00:00:00 2001 From: Douglas Bagnall Date: Wed, 3 Aug 2016 16:03:57 +1200 Subject: blackbox tests: add timestamps for subunit tests There is the icky thing with sed because some kinds of `date` don't have sub-second resolution, which we really want. Another way to do it would be: python -c "import datetime; print datetime.datetime.utcnow().strftime('time: %Y-%m-%d %H:%M:%S.%fZ')" which should be universal, but is a little slower. Signed-off-by: Douglas Bagnall Reviewed-by: Andrew Bartlett Reviewed-by: Garming Sam --- testprogs/blackbox/subunit.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/testprogs/blackbox/subunit.sh b/testprogs/blackbox/subunit.sh index db7fb056b74..70fe2d7e065 100755 --- a/testprogs/blackbox/subunit.sh +++ b/testprogs/blackbox/subunit.sh @@ -18,14 +18,23 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +timestamp() { + # mark the start time. With Gnu date, you get nanoseconds from %N + # (here truncated to microseconds with %6N), but not on BSDs, + # Solaris, etc, which will apparently leave either %N or N at the end. + date -u +'time: %Y-%m-%d %H:%M:%S.%6NZ' | sed 's/%\?NZ$/000000Z/' +} + subunit_start_test () { # emit the current protocol start-marker for test $1 + timestamp echo "test: $1" } subunit_pass_test () { # emit the current protocol test passed marker for test $1 + timestamp echo "success: $1" } @@ -38,6 +47,7 @@ subunit_fail_test () { # the error text. # we use stdin because the failure message can be arbitrarily long, and this # makes it convenient to write in scripts (using <