From b69c5c2ced1e41fdb5c2e747b1fb3a338ca63768 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 23 Feb 2015 23:52:28 +0100 Subject: tests: Skip tests that would fail due to the shebang length. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reported by Daniel KochmaƄski . Fixes . * guix/tests.scm (shebang-too-long?): New procedure. * tests/builders.scm ("gnu-build"): Conditionalize on not (shebang-too-long?). * tests/packages.scm ("GNU Make, bootstrap"): Likewise. * tests/guix-package.sh (shebang_not_too_long): New function. Use it to determine whether to build 'gnu-make-boot0'. --- guix/tests.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'guix/tests.scm') diff --git a/guix/tests.scm b/guix/tests.scm index d004a50a36..0896e842da 100644 --- a/guix/tests.scm +++ b/guix/tests.scm @@ -32,6 +32,7 @@ random-text random-bytevector network-reachable? + shebang-too-long? mock %substitute-directory with-derivation-narinfo @@ -185,6 +186,17 @@ CONTENTS." (delete-file (string-append dir "/example.out")) (delete-file (string-append dir "/example.nar"))))) +(define (shebang-too-long?) + "Return true if the typical shebang in the current store would exceed +Linux's static limit---the BINPRM_BUF_SIZE constant, normally 128 characters +all included." + (define shebang + (string-append "#!" (%store-prefix) "/" + (make-string 32 #\a) + "-bootstrap-binaries-0/bin/bash\0")) + + (> (string-length shebang) 128)) + (define-syntax with-derivation-substitute (syntax-rules (sha256 =>) "Evaluate BODY in a context where DRV is substitutable with the given -- cgit v1.2.3