raco test: add ++ignore-stderr <pattern>
option
I'm using this option to ignore "Xlib: extension \"RANDR\" missing" warnings.
This commit is contained in:
parent
165f21a192
commit
a011f9b816
|
@ -31,6 +31,7 @@
|
||||||
(define table? #f)
|
(define table? #f)
|
||||||
(define fresh-user? #f)
|
(define fresh-user? #f)
|
||||||
(define empty-input? #f)
|
(define empty-input? #f)
|
||||||
|
(define ignore-stderr-patterns null)
|
||||||
|
|
||||||
(define jobs 0) ; 0 mean "default"
|
(define jobs 0) ; 0 mean "default"
|
||||||
(define task-sema (make-semaphore 1))
|
(define task-sema (make-semaphore 1))
|
||||||
|
@ -254,7 +255,10 @@
|
||||||
|
|
||||||
;; Check results:
|
;; Check results:
|
||||||
(when check-stderr?
|
(when check-stderr?
|
||||||
(unless (equal? #"" (get-output-bytes e))
|
(unless (let ([s (get-output-bytes e)])
|
||||||
|
(or (equal? #"" s)
|
||||||
|
(ormap (lambda (p) (regexp-match? p s))
|
||||||
|
ignore-stderr-patterns)))
|
||||||
(error 'test "non-empty stderr: ~e" (get-output-bytes e))))
|
(error 'test "non-empty stderr: ~e" (get-output-bytes e))))
|
||||||
(unless (zero? result-code)
|
(unless (zero? result-code)
|
||||||
(error 'test "non-zero exit: ~e" result-code))
|
(error 'test "non-zero exit: ~e" result-code))
|
||||||
|
@ -913,15 +917,21 @@
|
||||||
[("--fresh-user")
|
[("--fresh-user")
|
||||||
"Fresh PLTUSERHOME, etc., for each test"
|
"Fresh PLTUSERHOME, etc., for each test"
|
||||||
(set! fresh-user? #t)]
|
(set! fresh-user? #t)]
|
||||||
|
[("--empty-stdin")
|
||||||
|
"Call program with an empty stdin"
|
||||||
|
(set! empty-input? #t)]
|
||||||
[("--quiet-program" "-Q")
|
[("--quiet-program" "-Q")
|
||||||
"Quiet the program"
|
"Quiet the program"
|
||||||
(set! quiet-program? #t)]
|
(set! quiet-program? #t)]
|
||||||
[("--check-stderr" "-e")
|
[("--check-stderr" "-e")
|
||||||
"Treat stderr output as a test failure"
|
"Treat stderr output as a test failure"
|
||||||
(set! check-stderr? #t)]
|
(set! check-stderr? #t)]
|
||||||
[("--empty-stdin")
|
#:multi
|
||||||
"Call program with an empty stdin"
|
[("++ignore-stderr") pattern
|
||||||
(set! empty-input? #t)]
|
"Ignore standard error output if it matches #px\"<pattern>\""
|
||||||
|
(set! ignore-stderr-patterns
|
||||||
|
(cons (pregexp pattern) ignore-stderr-patterns))]
|
||||||
|
#:once-each
|
||||||
[("--quiet" "-q")
|
[("--quiet" "-q")
|
||||||
"Suppress `raco test: ...' message"
|
"Suppress `raco test: ...' message"
|
||||||
(set! quiet? #t)]
|
(set! quiet? #t)]
|
||||||
|
|
|
@ -113,14 +113,20 @@ The @exec{raco test} command accepts several flags:
|
||||||
the add-on directory (which is where packages are installed, for
|
the add-on directory (which is where packages are installed, for
|
||||||
example), does @emph{not} change for each test process.}
|
example), does @emph{not} change for each test process.}
|
||||||
|
|
||||||
|
@item{@DFlag{empty-stdin}
|
||||||
|
--- provide an empty stdin to each test program.}
|
||||||
|
|
||||||
@item{@Flag{Q} or @DFlag{quiet-program}
|
@item{@Flag{Q} or @DFlag{quiet-program}
|
||||||
--- suppresses output from each test program.}
|
--- suppresses output from each test program.}
|
||||||
|
|
||||||
@item{@Flag{e} or @DFlag{check-stderr}
|
@item{@Flag{e} or @DFlag{check-stderr}
|
||||||
--- count any stderr output as a test failure.}
|
--- count any stderr output as a test failure.}
|
||||||
|
|
||||||
@item{@DFlag{empty-stdin}
|
@item{@DPFlag{ignore-stderr} @nonterm{pattern}
|
||||||
--- provide an empty stdin to each test program.}
|
--- don't count stderr output as a test failure if it matches
|
||||||
|
@nonterm{pattern}. This flag can be used multiple times, and
|
||||||
|
stderr output is treated as success as long as it matches any
|
||||||
|
one @nonterm{pattern}.}
|
||||||
|
|
||||||
@item{@Flag{q} or @DFlag{quiet}
|
@item{@Flag{q} or @DFlag{quiet}
|
||||||
--- suppresses output of progress information, responsible
|
--- suppresses output of progress information, responsible
|
||||||
|
|
Loading…
Reference in New Issue
Block a user