bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#44626: tests/build-utils, tests/guix-system: fail when build path co


From: Ludovic Courtès
Subject: bug#44626: tests/build-utils, tests/guix-system: fail when build path contains "~"
Date: Tue, 17 Nov 2020 15:29:55 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Hi Vagrant,

Vagrant Cascadian <vagrant@debian.org> skribis:

> Though may introduce a different issue in tests/build-utils.log:
>
> ...
> test-name: wrap-script, simple case
> location: /build/guix-41NMGX/guix-1.2.0~rc1/tests/build-utils.scm:152
> source:
> + (test-equal
> +   "wrap-script, simple case"
> +   (string-append
> +     (format
> +       #f
> +       "#!~a --no-auto-compile\n#!#; Guix wrapper\n#\\-~s\n#\\-~s\n"
> +       (which "guile")
> +       '(begin
> +          (let ((current (getenv "GUIX_FOO")))
> +            (setenv
> +              "GUIX_FOO"
> +              (if current
> +                (string-append
> +                  "/some/path:/some/other/path"
> +                  ":"
> +                  current)
> +                "/some/path:/some/other/path"))))
> +       '(let ((cl (command-line)))
> +          (apply execl
> +                 "/anything/cabbage-bash-1.2.3/bin/sh"
> +                 (car cl)
> +                 (cons (car cl) (append '("") cl)))))
> +     script-contents)
> +   (call-with-temporary-directory
> +     (lambda (directory)
> +       (let ((script-file-name
> +               (string-append directory "/foo")))
> +         (call-with-output-file
> +           script-file-name
> +           (lambda (port) (display script-contents port)))
> +         (chmod script-file-name 511)
> +         (wrap-script
> +           script-file-name
> +           `("GUIX_FOO"
> +             prefix
> +             ("/some/path" "/some/other/path")))
> +         (let ((str (call-with-input-file
> +                      script-file-name
> +                      get-string-all)))
> +           (with-directory-excursion
> +             directory
> +             (delete-file "foo"))
> +           str)))))
> FORMAT: INTERNAL ERROR IN FORMAT-ERROR!
>         destination: #<input-output:
>         /tmp/guix-directory.YrSRbV/foo.3efcPU 8>
>         format string: "#!/build/guix-41NMGX/guix-1.2.0~rc1/guile
>         --no-auto-compile\n#!#; Guix wrapper\n#\\-(begin (let ((current
>         (getenv \"GUIX_FOO\"))) (setenv \"GUIX_FOO\" (if current
>         (string-append \"/some/path:/some/other/path\" \":\" current)
>         \"/some/path:/some/other/path\"))))\n#\\-(let ((cl
>         (command-line))) (apply execl
>         \"/anything/cabbage-bash-1.2.3/bin/sh\" (car cl) (cons (car cl)
>         (append (quote (\"\")) cl))))\n"
>         format args: ()
>         error args:  (#f "error in format" () #f)
> FORMAT: INTERNAL ERROR IN FORMAT-ERROR!
>         destination: #<input-output:
>         /tmp/guix-directory.YrSRbV/foo.3efcPU 8>
>         format string: "#!/build/guix-41NMGX/guix-1.2.0~rc1/guile
>         --no-auto-compile\n#!#; Guix wrapper\n#\\-(begin (let ((current
>         (getenv \"GUIX_FOO\"))) (setenv \"GUIX_FOO\" (if current
>         (string-append \"/some/path:/some/other/path\" \":\" current)
>         \"/some/path:/some/other/path\"))))\n#\\-(let ((cl
>         (command-line))) (apply execl
>         \"/anything/cabbage-bash-1.2.3/bin/sh\" (car cl) (cons (car cl)
>         (append (quote (\"\")) cl))))\n"
>         format args: ()
>         error args:  (#<&wrap-error program:
>         "/tmp/guix-directory.YrSRbV/foo" type: misc-error>)
> expected-value: "#!/build/guix-41NMGX/guix-1.2.0~rc1/guile
> --no-auto-compile\n#!#; Guix wrapper\n#\\-(begin (let ((current (getenv
> \"GUIX_FOO\"))) (setenv \"GUIX_FOO\" (if current (string-append
> \"/some/path:/some/other/path\" \":\" current)
> \"/some/path:/some/other/path\"))))\n#\\-(let ((cl (command-line)))
> (apply execl \"/anything/cabbage-bash-1.2.3/bin/sh\" (car cl) (cons (car
> cl) (append (quote (\"\"))
> cl))))\n#!/anything/cabbage-bash-1.2.3/bin/sh\n\necho hello world"
> actual-value: #f
> actual-error:
> + (%exception
> +   #<&wrap-error program: "/tmp/guix-directory.YrSRbV/foo" type:
> misc-error>)
> result: FAIL

Turns out ‘wrap-script’ itself passes a non-literal string to ‘format’,
hence this error.  I’m fixing this in ‘core-updates’ since it’s a
full-rebuild change: commit 55fb5e5d2113a732a03e255371f0172800483023.

Thanks,
Ludo’.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]