tests: Skip tests that would hit the shebang length limitation.
* tests/gexp.scm (shebang): New variable. Skip "gexp->script" when SHEBANG is longer than 127 chars. * guix/gexp.scm (gexp->script): Add comment on the issue.master
parent
d3bbe992ec
commit
c17b5ab4db
|
@ -351,6 +351,10 @@ its search path."
|
|||
(gexp
|
||||
(call-with-output-file (ungexp output)
|
||||
(lambda (port)
|
||||
;; Note: that makes a long shebang. When the store
|
||||
;; is /gnu/store, that fits within the 128-byte
|
||||
;; limit imposed by Linux, but that may go beyond
|
||||
;; when running tests.
|
||||
(format port
|
||||
"#!~a/bin/guile --no-auto-compile~%!#~%"
|
||||
(ungexp guile))
|
||||
|
|
|
@ -211,6 +211,14 @@
|
|||
(return (string=? (readlink (string-append out "/foo"))
|
||||
guile))))
|
||||
|
||||
(define shebang
|
||||
(string-append (derivation->output-path guile-for-build)
|
||||
"/bin/guile --no-auto-compile"))
|
||||
|
||||
;; If we're going to hit the silly shebang limit (128 chars on Linux-based
|
||||
;; systems), then skip the following test.
|
||||
(test-skip (if (> (string-length shebang) 127) 1 0))
|
||||
|
||||
(test-assertm "gexp->script"
|
||||
(mlet* %store-monad ((n -> (random (expt 2 50)))
|
||||
(exp -> (gexp
|
||||
|
|
Reference in New Issue