diff options
author | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
---|---|---|
committer | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /meson/test cases/common/190 install_mode | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'meson/test cases/common/190 install_mode')
11 files changed, 95 insertions, 0 deletions
diff --git a/meson/test cases/common/190 install_mode/config.h.in b/meson/test cases/common/190 install_mode/config.h.in new file mode 100644 index 000000000..14a155874 --- /dev/null +++ b/meson/test cases/common/190 install_mode/config.h.in @@ -0,0 +1,5 @@ +#define MESSAGE "@var@" +#define OTHER "@other@" "@second@" "@empty@" + +#mesondefine BE_TRUE +#mesondefine SHOULD_BE_UNDEF diff --git a/meson/test cases/common/190 install_mode/data_source.txt b/meson/test cases/common/190 install_mode/data_source.txt new file mode 100644 index 000000000..0c23cc0c3 --- /dev/null +++ b/meson/test cases/common/190 install_mode/data_source.txt @@ -0,0 +1 @@ +This is a text only input file. diff --git a/meson/test cases/common/190 install_mode/foo.1 b/meson/test cases/common/190 install_mode/foo.1 new file mode 100644 index 000000000..647c0970c --- /dev/null +++ b/meson/test cases/common/190 install_mode/foo.1 @@ -0,0 +1 @@ +this is a man page of foo.1 its contents are irrelevant diff --git a/meson/test cases/common/190 install_mode/meson.build b/meson/test cases/common/190 install_mode/meson.build new file mode 100644 index 000000000..cae1e91ab --- /dev/null +++ b/meson/test cases/common/190 install_mode/meson.build @@ -0,0 +1,59 @@ +project('install_mode test', 'c', + default_options : ['install_umask=027', 'libdir=libtest']) + +if build_machine.system() == 'windows' + error('MESON_SKIP_TEST: install_mode test requires a Unix-like OS') +endif + +# confirm no regressions in install_data +install_data('runscript.sh', + install_dir : get_option('bindir'), + install_mode : ['rwxr-sr-x', 'root', 0]) + +# confirm no regressions in install_subdir +install_subdir('sub1', + install_dir : 'share', + install_mode : ['rwxr-x--t', 'root']) + +install_subdir('sub2', + install_dir : 'share') + +# test install_mode in configure_file +conf = configuration_data() +conf.set('var', 'mystring') +conf.set('other', 'string 2') +conf.set('second', ' bonus') +conf.set('BE_TRUE', true) +configure_file(input : 'config.h.in', + output : 'config.h', + configuration : conf, + install_dir : 'include', + install_mode : 'rw-rwSr--') + +# test install_mode in custom_target +custom_target('bindat', + output : 'data.dat', + input : 'data_source.txt', + command : ['cp', '@INPUT@', '@OUTPUT@'], + install : true, + install_dir : 'subdir', + install_mode : 'rw-rwSr--') + +# test install_mode in install_headers +install_headers('rootdir.h', + install_mode : 'r--r--r-T') + +# test install_mode in install_man +install_man('foo.1', + install_mode : 'r--r--r-T') + +# test install_mode in executable +executable('trivialprog', + sources : 'trivial.c', + install : true, + install_mode : ['rwxr-sr-x', 'root', 'root']) + +# test install_mode in static_library +static_library('stat', 'stat.c', + install : true, + install_mode : ['rw---Sr--']) diff --git a/meson/test cases/common/190 install_mode/rootdir.h b/meson/test cases/common/190 install_mode/rootdir.h new file mode 100644 index 000000000..72fb13220 --- /dev/null +++ b/meson/test cases/common/190 install_mode/rootdir.h @@ -0,0 +1,3 @@ +/* This header goes to include dir root. */ + +int root_func(); diff --git a/meson/test cases/common/190 install_mode/runscript.sh b/meson/test cases/common/190 install_mode/runscript.sh new file mode 100644 index 000000000..8bc5ca6ce --- /dev/null +++ b/meson/test cases/common/190 install_mode/runscript.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +echo "Runscript" diff --git a/meson/test cases/common/190 install_mode/stat.c b/meson/test cases/common/190 install_mode/stat.c new file mode 100644 index 000000000..4825cefd2 --- /dev/null +++ b/meson/test cases/common/190 install_mode/stat.c @@ -0,0 +1 @@ +int func(void) { return 933; } diff --git a/meson/test cases/common/190 install_mode/sub1/second.dat b/meson/test cases/common/190 install_mode/sub1/second.dat new file mode 100644 index 000000000..48857a8b6 --- /dev/null +++ b/meson/test cases/common/190 install_mode/sub1/second.dat @@ -0,0 +1 @@ +Test that multiple install_subdirs meld their results.
\ No newline at end of file diff --git a/meson/test cases/common/190 install_mode/sub2/stub b/meson/test cases/common/190 install_mode/sub2/stub new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/meson/test cases/common/190 install_mode/sub2/stub diff --git a/meson/test cases/common/190 install_mode/test.json b/meson/test cases/common/190 install_mode/test.json new file mode 100644 index 000000000..3614dbcca --- /dev/null +++ b/meson/test cases/common/190 install_mode/test.json @@ -0,0 +1,15 @@ +{ + "installed": [ + {"type": "file", "file": "usr/bin/runscript.sh"}, + {"type": "exe", "file": "usr/bin/trivialprog"}, + {"type": "pdb", "file": "usr/bin/trivialprog"}, + {"type": "file", "file": "usr/include/config.h"}, + {"type": "file", "file": "usr/include/rootdir.h"}, + {"type": "file", "file": "usr/libtest/libstat.a"}, + {"type": "file", "file": "usr/share/man/man1/foo.1"}, + {"type": "file", "file": "usr/share/sub1/second.dat"}, + {"type": "file", "file": "usr/share/sub2/stub"}, + {"type": "file", "file": "usr/subdir/data.dat"} + ], + "do_not_set_opts": ["libdir"] +} diff --git a/meson/test cases/common/190 install_mode/trivial.c b/meson/test cases/common/190 install_mode/trivial.c new file mode 100644 index 000000000..96612d48b --- /dev/null +++ b/meson/test cases/common/190 install_mode/trivial.c @@ -0,0 +1,6 @@ +#include<stdio.h> + +int main(void) { + printf("Trivial test is working.\n"); + return 0; +} |