zsh-workers
 help / color / mirror / code / Atom feed
From: Peter Stephenson <p.stephenson@samsung.com>
To: undisclosed-recipients: ;
Cc: Zsh Hackers' List <zsh-workers@zsh.org>
Subject: Re: PATCH: ztrftime: Pass everything unhandled to the system strftime()
Date: Fri, 10 Jul 2015 14:37:08 +0100	[thread overview]
Message-ID: <20150710143708.71ec8178@pwslap01u.europe.root.pri> (raw)
In-Reply-To: <20150709111756.631dac65@pwslap01u.europe.root.pri>

On Thu, 9 Jul 2015 11:17:56 +0100
Peter Stephenson <p.stephenson@samsung.com> wrote:
> On Thu, 9 Jul 2015 11:58:07 +0200
> Mikael Magnusson <mikachu@gmail.com> wrote:
> > This seems to work, I've added tests, and a comment.
> 
> OK, the printing "skipped" trick looks like it should cover all bases.
> Still, it ought to be possible to make it redundant within the test
> framework...

e.g.

pws

diff --git a/Test/A01grammar.ztst b/Test/A01grammar.ztst
index 8221735..82d9c8c 100644
--- a/Test/A01grammar.ztst
+++ b/Test/A01grammar.ztst
@@ -13,6 +13,19 @@
 #
 # Tests for `Simple Commands and Pipelines'
 #
+
+  # Test skipping early to ensure we run the remainder...
+  if [[ -n $ZTST_test_skip ]]; then
+    ZTST_skip="Test system verification for skipping"
+  else
+    print "This is standard output"
+    print "This is standard error" >&2
+    false
+  fi
+1:Test skipping if ZTST_test_skip is set
+>This is standard output
+?This is standard error
+
   echo foo | cat | sed 's/foo/bar/'
 0:Basic pipeline handling
 >bar
diff --git a/Test/C02cond.ztst b/Test/C02cond.ztst
index 02fa4d4..e9a596a 100644
--- a/Test/C02cond.ztst
+++ b/Test/C02cond.ztst
@@ -151,14 +151,11 @@
   cat $unmodified
   touch $newnewnew
   if [[ $OSTYPE == "cygwin" ]]; then
-    print -u$ZTST_fd "Warning: not testing [[ -N file ]] (not supported on Cygwin)"
-    true
+    ZTST_skip="[[ -N file ]] not supported on Cygwin"
   elif (( isnfs )); then
-    print -u$ZTST_fd "Warning: not testing [[ -N file ]] (not supported with NFS)"
-    true
+    ZTST_skip="[[ -N file ]] not supported with NFS"
   elif test -f /etc/mtab && { grep $(df . 2>/dev/null| tail -n1 | awk '{print $1}') /etc/mtab | grep -q noatime; }; then
-    print -u$ZTST_fd "Warning: not testing [[ -N file ]] (not supported with noatime file system)"
-    true
+    ZTST_skip="[[ -N file ]] not supported with noatime file system"
   else
     [[ -N $newnewnew && ! -N $unmodified ]]
   fi
diff --git a/Test/V09datetime.ztst b/Test/V09datetime.ztst
index a3b4e8c..a7ef983 100644
--- a/Test/V09datetime.ztst
+++ b/Test/V09datetime.ztst
@@ -10,11 +10,9 @@
   TZ=UTC+0
   if [[ "$(strftime %04y 1)" = "0070" ]]; then
     [[ "$(LC_TIME=ja_JP.UTF-8 strftime %OS 1)" = 一 ]] || {
-      print -u $ZTST_fd "Not testing alternate date format extensions (missing ja_JP.UTF-8 locale)"
       skip_japanese=1
     }
   else
-    print -u $ZTST_fd "Skipping strftime extension tests"
     skip_extensions=1
   fi
 
@@ -36,29 +34,37 @@
 >6_6_3_3
 >000000
 
-  [[ $skip_japanese = 1 ]] && repeat 5; do echo skipped; done || (
-  LC_TIME=ja_JP.UTF-8
-  strftime %Ey 1000000000
-  strftime %Oy 1000000000
-  strftime %Ex 1000000000
-  strftime %OS 1000000000
-  strftime %03Ey 650000000
-  )
+  if [[ $skip_japanese = 1 ]]; then
+    ZTST_skip="Japanese UTF-8 locale not supported"
+  else
+    (
+    LC_TIME=ja_JP.UTF-8
+    strftime %Ey 1000000000
+    strftime %Oy 1000000000
+    strftime %Ex 1000000000
+    strftime %OS 1000000000
+    strftime %03Ey 650000000
+    )
+  fi
 0:alternate format extensions
-*>skipped|13
->skipped|一
->skipped|平成13年09月09日
->skipped|四十
->skipped|002
+>13
+>一
+>平成13年09月09日
+>四十
+>002
 
-  [[ $skip_extensions = 1 ]] && repeat 4; do echo skipped; done || (
-  strftime '%#A' 0
-  strftime '%^_10B' 0
-  strftime %03Ey 650000000
-  strftime %-Oe 0
-  )
+  if [[ $skip_extensions = 1 ]]; then
+    ZTST_skip="strftime extensions not supported"
+  else
+    (
+      strftime '%#A' 0
+      strftime '%^_10B' 0
+      strftime %03Ey 650000000
+      strftime %-Oe 0
+    )
+  fi
 0:various extensions
-*>skipped|THURSDAY
->skipped|   JANUARY
->skipped|090
->skipped|1
+>THURSDAY
+>   JANUARY
+>090
+>1
diff --git a/Test/ztst.zsh b/Test/ztst.zsh
index 74111f6..ce89a83 100755
--- a/Test/ztst.zsh
+++ b/Test/ztst.zsh
@@ -343,6 +343,7 @@ ZTST_diff() {
 ZTST_test() {
   local last match mbegin mend found substlines
   local diff_out diff_err
+  local ZTST_skip
 
   while true; do
     rm -f $ZTST_in $ZTST_out $ZTST_err
@@ -427,6 +428,16 @@ $ZTST_curline"
 
       ZTST_execchunk <$ZTST_in >$ZTST_tout 2>$ZTST_terr
 
+      if [[ -n $ZTST_skip ]]; then
+	ZTST_verbose 0 "Test case skipped: $ZTST_skip"
+	ZTST_skip=
+	if [[ -n $last ]]; then
+	  break
+	else
+	  continue
+	fi
+      fi
+
       # First check we got the right status, if specified.
       if [[ $ZTST_xstatus != - && $ZTST_xstatus != $ZTST_status ]]; then
 	ZTST_testfailed "bad status $ZTST_status, expected $ZTST_xstatus from:


  reply	other threads:[~2015-07-10 13:37 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-07 23:15 PATCH: Make ztrftime pass more things to strftime Mikael Magnusson
2015-07-07 23:21 ` Mikael Magnusson
2015-07-08 10:53   ` Peter Stephenson
2015-07-09  5:16     ` Mikael Magnusson
2015-07-09  8:41       ` Peter Stephenson
2015-07-09  9:58         ` PATCH: ztrftime: Pass everything unhandled to the system strftime() Mikael Magnusson
2015-07-09 10:17           ` Peter Stephenson
2015-07-10 13:37             ` Peter Stephenson [this message]
2015-07-10 16:18               ` Skipping tests (was Re: PATCH: ztrftime: Pass everything ...) Bart Schaefer
2015-07-10 16:23                 ` Peter Stephenson
2015-07-10 18:31               ` PATCH: ztrftime: Pass everything unhandled to the system strftime() Daniel Shahaf
2015-07-10 23:54                 ` ZTST_skip (was Re: PATCH: ztrftime ...) Bart Schaefer
2015-07-09 15:52           ` PATCH: ztrftime: Pass everything unhandled to the system strftime() Jun T.
2015-07-10 14:53           ` Jun T.
2015-07-10 18:23             ` Mikael Magnusson
2015-07-27 11:56           ` Jun T.
2015-07-27 13:31             ` Mikael Magnusson
2015-07-27 16:50               ` Jun T.
2015-07-27 17:01               ` Jun T.
2015-09-01 13:53           ` Oliver Kiddle
2015-09-01 14:07             ` Peter Stephenson
2015-09-01 21:16             ` PATCH: Avoid gcc case syntax Mikael Magnusson
2015-07-08 14:03   ` PATCH: Make ztrftime pass more things to strftime Jun T.
2015-07-09  4:36     ` Mikael Magnusson
2015-07-08 10:39 ` Peter Stephenson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150710143708.71ec8178@pwslap01u.europe.root.pri \
    --to=p.stephenson@samsung.com \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).