diff options
author | sterni <sternenseemann@systemli.org> | 2022-01-29T12·59+0100 |
---|---|---|
committer | sterni <sternenseemann@systemli.org> | 2022-02-02T18·21+0000 |
commit | b57854e24df1f5a72369b44345219f650227ad53 (patch) | |
tree | 1c4f9b1fcca36935476b48fa5811d605f23c2d03 /nix/buildLisp/tests | |
parent | 49c8d8371ca17207157058b4daecded67ade1e5f (diff) |
fix(nix/buildLisp): make uiop:argv0 work also for ccl and sbcl r/3745
Detection is broken there, too, as UIOP relies on setting the variable before dumping the image in its portability wrapper dump-image which we don't use at all. Change-Id: If7bea5a8522a2e64707b1ee88d62d420bd00a952 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5112 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
Diffstat (limited to 'nix/buildLisp/tests')
-rw-r--r-- | nix/buildLisp/tests/argv0.nix | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/nix/buildLisp/tests/argv0.nix b/nix/buildLisp/tests/argv0.nix new file mode 100644 index 000000000000..bc29337d06cd --- /dev/null +++ b/nix/buildLisp/tests/argv0.nix @@ -0,0 +1,36 @@ +{ depot, pkgs, ... }: + +depot.nix.buildLisp.program { + name = "argv0-test"; + + srcs = [ + (pkgs.writeText "argv0-test.lisp" '' + (defpackage :argv0-test (:use :common-lisp :uiop) (:export :main)) + (in-package :argv0-test) + + (defun main () + (format t "~A~%" (uiop:argv0))) + '') + ]; + + deps = [ + { + sbcl = depot.nix.buildLisp.bundled "uiop"; + default = depot.nix.buildLisp.bundled "asdf"; + } + ]; + + passthru.meta.ci = { + extraSteps.verify = { + label = "verify argv[0] output"; + needsOutput = true; + command = pkgs.writeShellScript "check-argv0" '' + set -eux + + for invocation in "$(pwd)/result/bin/argv0-test" "./result/bin/argv0-test"; do + test "$invocation" = "$("$invocation")" + done + ''; + }; + }; +} |