Skip to content
Snippets Groups Projects
Commit c17b5ab4 authored by Ludovic Courtès's avatar Ludovic Courtès
Browse files

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.
parent d3bbe992
No related branches found
No related tags found
No related merge requests found
......@@ -351,6 +351,10 @@ (define* (gexp->script name exp
(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 @@ (define (match-input thing)
(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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment