diff options
author | Naïm Favier <n@monade.li> | 2022-05-11 23:03:35 +0200 |
---|---|---|
committer | Naïm Favier <n@monade.li> | 2022-05-30 23:07:58 +0200 |
commit | 1c70b694fe0fece5ae74beb747a40f1b7237d251 (patch) | |
tree | 624619308a2a7dfea21c4178abf9ce2620d0058a /pkgs/test | |
parent | f1c167688a6f81f4a51ab542e5f476c8c595e457 (diff) | |
download | nixpkgs-1c70b694fe0fece5ae74beb747a40f1b7237d251.tar nixpkgs-1c70b694fe0fece5ae74beb747a40f1b7237d251.tar.gz nixpkgs-1c70b694fe0fece5ae74beb747a40f1b7237d251.tar.bz2 nixpkgs-1c70b694fe0fece5ae74beb747a40f1b7237d251.tar.lz nixpkgs-1c70b694fe0fece5ae74beb747a40f1b7237d251.tar.xz nixpkgs-1c70b694fe0fece5ae74beb747a40f1b7237d251.tar.zst nixpkgs-1c70b694fe0fece5ae74beb747a40f1b7237d251.zip |
makeWrapper,makeBinaryWrapper: implement `--append-flags`
Diffstat (limited to 'pkgs/test')
-rw-r--r-- | pkgs/test/make-binary-wrapper/add-flags.c | 6 | ||||
-rw-r--r-- | pkgs/test/make-binary-wrapper/add-flags.cmdline | 1 | ||||
-rw-r--r-- | pkgs/test/make-binary-wrapper/add-flags.env | 2 | ||||
-rw-r--r-- | pkgs/test/make-binary-wrapper/combination.c | 4 | ||||
-rw-r--r-- | pkgs/test/make-wrapper/default.nix | 10 |
5 files changed, 14 insertions, 9 deletions
diff --git a/pkgs/test/make-binary-wrapper/add-flags.c b/pkgs/test/make-binary-wrapper/add-flags.c index 7ce682c6be6..3ae8678d442 100644 --- a/pkgs/test/make-binary-wrapper/add-flags.c +++ b/pkgs/test/make-binary-wrapper/add-flags.c @@ -3,7 +3,7 @@ #include <assert.h> int main(int argc, char **argv) { - char **argv_tmp = calloc(5 + argc, sizeof(*argv_tmp)); + char **argv_tmp = calloc(4 + argc + 2 + 1, sizeof(*argv_tmp)); assert(argv_tmp != NULL); argv_tmp[0] = argv[0]; argv_tmp[1] = "-x"; @@ -13,7 +13,9 @@ int main(int argc, char **argv) { for (int i = 1; i < argc; ++i) { argv_tmp[4 + i] = argv[i]; } - argv_tmp[4 + argc] = NULL; + argv_tmp[4 + argc + 0] = "-foo"; + argv_tmp[4 + argc + 1] = "-bar"; + argv_tmp[4 + argc + 2] = NULL; argv = argv_tmp; argv[0] = "/send/me/flags"; diff --git a/pkgs/test/make-binary-wrapper/add-flags.cmdline b/pkgs/test/make-binary-wrapper/add-flags.cmdline index f840c772e34..f42d26f3adf 100644 --- a/pkgs/test/make-binary-wrapper/add-flags.cmdline +++ b/pkgs/test/make-binary-wrapper/add-flags.cmdline @@ -1,2 +1,3 @@ + --append-flags "-foo -bar" \ --add-flags "-x -y -z" \ --add-flags -abc diff --git a/pkgs/test/make-binary-wrapper/add-flags.env b/pkgs/test/make-binary-wrapper/add-flags.env index 9b8d1fb9f6a..3626b8cf97b 100644 --- a/pkgs/test/make-binary-wrapper/add-flags.env +++ b/pkgs/test/make-binary-wrapper/add-flags.env @@ -4,3 +4,5 @@ SUBST_ARGV0 -y -z -abc +-foo +-bar diff --git a/pkgs/test/make-binary-wrapper/combination.c b/pkgs/test/make-binary-wrapper/combination.c index e9ce5f1d724..8ce8a4722a0 100644 --- a/pkgs/test/make-binary-wrapper/combination.c +++ b/pkgs/test/make-binary-wrapper/combination.c @@ -36,7 +36,7 @@ int main(int argc, char **argv) { set_env_suffix("PATH", ":", "/usr/local/bin/"); putenv("MESSAGE2=WORLD"); - char **argv_tmp = calloc(4 + argc, sizeof(*argv_tmp)); + char **argv_tmp = calloc(3 + argc + 0 + 1, sizeof(*argv_tmp)); assert(argv_tmp != NULL); argv_tmp[0] = argv[0]; argv_tmp[1] = "-x"; @@ -45,7 +45,7 @@ int main(int argc, char **argv) { for (int i = 1; i < argc; ++i) { argv_tmp[3 + i] = argv[i]; } - argv_tmp[3 + argc] = NULL; + argv_tmp[3 + argc + 0] = NULL; argv = argv_tmp; argv[0] = "my-wrapper"; diff --git a/pkgs/test/make-wrapper/default.nix b/pkgs/test/make-wrapper/default.nix index 62ccd272adf..5cc7cee5a86 100644 --- a/pkgs/test/make-wrapper/default.nix +++ b/pkgs/test/make-wrapper/default.nix @@ -62,7 +62,7 @@ runCommand "make-wrapper-test" (mkWrapperBinary { name = "test-unset"; args = [ "--unset" "VAR" ]; }) (mkWrapperBinary { name = "test-run"; args = [ "--run" "echo bar" ]; }) (mkWrapperBinary { name = "test-run-and-set"; args = [ "--run" "export VAR=foo" "--set" "VAR" "bar" ]; }) - (mkWrapperBinary { name = "test-args"; args = [ "--add-flags" "abc" ]; wrapped = wrappedBinaryArgs; }) + (mkWrapperBinary { name = "test-args"; args = [ "--add-flags" "abc" "--append-flags" "xyz" ]; wrapped = wrappedBinaryArgs; }) (mkWrapperBinary { name = "test-prefix"; args = [ "--prefix" "VAR" ":" "abc" ]; }) (mkWrapperBinary { name = "test-prefix-noglob"; args = [ "--prefix" "VAR" ":" "./*" ]; }) (mkWrapperBinary { name = "test-suffix"; args = [ "--suffix" "VAR" ":" "abc" ]; }) @@ -89,10 +89,10 @@ runCommand "make-wrapper-test" # --unset works + mkTest "VAR=foo test-unset" "VAR=" - # --add-flags works - + mkTest "test-args" "abc" - # given flags are appended - + mkTest "test-args foo" "abc foo" + # --add-flags and --append-flags work + + mkTest "test-args" "abc xyz" + # given flags are kept + + mkTest "test-args foo" "abc foo xyz" # --run works + mkTest "test-run" "bar\nVAR=" |