@@ -24,23 +24,23 @@ printShellTest format actualMode ShellTest{command=c,stdin=i,comments=comments,
2424              printComments comments
2525              printCommand " "   c
2626              printStdin " <<<"   i
27-               printStdouterr " >>>"   o
28-               printStdouterr " >>>2"   e
29-               printExitStatus " >>>="   x
27+               printStdouterr " >>>"   $  justMatcherOutErr  o
28+               printStdouterr " >>>2"   $  justMatcherOutErr  e
29+               printExitStatus True   " >>>="   x
3030            " v2"   ->  do 
3131              printComments comments
3232              printCommand " $ "   c
3333              printStdin " <<<"   i
3434              printStdouterr " >>>"   o
3535              printStdouterr " >>>2"   e
36-               printExitStatus " >>>="   x
36+               printExitStatus False   " >>>="   x
3737            " v3"   ->  do 
3838              printComments comments
3939              printCommand " $ "    c
4040              printStdin " <"   i
4141              printStdouterr " >"   o
4242              printStdouterr " >2"   e
43-               printExitStatus " >="   x
43+               printExitStatus False   " >="   x
4444            _ ->  fail  $  " Unsupported --print format: "   ++  format
4545  where 
4646    computeResults  ::  Maybe   String   ->  IO   (Maybe   Matcher , Maybe   Matcher , Matcher )
@@ -77,10 +77,12 @@ printStdouterr _ (Just (NegativeNumeric _)) = fail "FATAL: Cannot handle Matcher
7777printStdouterr prefix (Just  (Lines  _ s))    =  printf " %s\n %s\n "   prefix s --  TODO trailing \n ?
7878printStdouterr prefix (Just  regex)          =  printf " %s %s\n "   prefix (show  regex)
7979
80- printExitStatus  ::  String   ->  Matcher  ->  IO   () 
81- printExitStatus _ (Numeric  " 0"  ) =  return  () 
82- printExitStatus _ (Lines  _ _) =  fail  " FATAL: Cannot handle Matcher (Lines) for exit status." 
83- printExitStatus prefix s =  printf " %s %s\n "   prefix (show  s)
80+ --  |  Print exit status. First arg says 'alwaysPrintEvenIfZero'. 
81+ printExitStatus  ::  Bool   ->  String   ->  Matcher  ->  IO   () 
82+ printExitStatus _ _ (Lines  _ _) =  fail  " FATAL: Cannot handle Matcher (Lines) for exit status." 
83+ printExitStatus False   _     (Numeric  " 0"  ) =  return  () 
84+ printExitStatus True   prefix (Numeric  " 0"  ) =  printf " %s 0\n "   prefix
85+ printExitStatus _ prefix s =  printf " %s %s\n "   prefix (show  s)
8486
8587mkEither  ::  Bool   ->  a  ->  Either   a  a 
8688mkEither True   =  Right 
@@ -89,3 +91,6 @@ mkEither False = Left
8991fromEither  ::  Either   a  a  ->  a 
9092fromEither =  either  id  id 
9193
94+ --  |  Make a Matcher out of Nothing. 
95+ justMatcherOutErr  ::  Maybe   Matcher  ->  Maybe   Matcher 
96+ justMatcherOutErr =  Just  .  fromMaybe (Lines  0  " "  )
0 commit comments