diff options
author | Benjamin Gilbert <bgilbert@backtick.net> | 2024-04-27 06:32:11 -0500 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2024-07-10 21:39:28 +0300 |
commit | 2ad1113b7ebf09c08ae6df89e1e8d8bf1960a24a (patch) | |
tree | 4a7f33e0b14cb9546a74ce2d052660d5afd67502 | |
parent | 43bcaacfc9f6ed6217d2b4e3956fa3cffc207998 (diff) | |
download | meson-2ad1113b7ebf09c08ae6df89e1e8d8bf1960a24a.zip meson-2ad1113b7ebf09c08ae6df89e1e8d8bf1960a24a.tar.gz meson-2ad1113b7ebf09c08ae6df89e1e8d8bf1960a24a.tar.bz2 |
tests: add werror tests for several languages
20 files changed, 106 insertions, 0 deletions
diff --git a/test cases/failing build/10 nasm werror/meson.build b/test cases/failing build/10 nasm werror/meson.build new file mode 100644 index 0000000..d0c056a --- /dev/null +++ b/test cases/failing build/10 nasm werror/meson.build @@ -0,0 +1,8 @@ +project('test', default_options: ['werror=true']) +if meson.backend().startswith('vs') + error('MESON_SKIP_TEST: VS backend does not recognise NASM yet') +endif +if not add_languages('nasm', required: false) + error('MESON_SKIP_TEST: nasm not found') +endif +executable('prog', 'test.asm') diff --git a/test cases/failing build/10 nasm werror/test.asm b/test cases/failing build/10 nasm werror/test.asm new file mode 100644 index 0000000..2f7a7d6 --- /dev/null +++ b/test cases/failing build/10 nasm werror/test.asm @@ -0,0 +1,8 @@ +SECTION .text +global main +main: + mov ebx,0 + mov eax,1 + int 0x80 + +%warning oops diff --git a/test cases/failing build/11 objc werror/meson.build b/test cases/failing build/11 objc werror/meson.build new file mode 100644 index 0000000..9f8e478 --- /dev/null +++ b/test cases/failing build/11 objc werror/meson.build @@ -0,0 +1,5 @@ +project('test', default_options: ['werror=true']) +if not add_languages('objc', required: false) + error('MESON_SKIP_TEST: Objective C not found') +endif +executable('prog', 'test.m') diff --git a/test cases/failing build/11 objc werror/test.m b/test cases/failing build/11 objc werror/test.m new file mode 100644 index 0000000..b03db46 --- /dev/null +++ b/test cases/failing build/11 objc werror/test.m @@ -0,0 +1,5 @@ +#import<stdio.h> + +int main(void) { + return 1 / 0; +} diff --git a/test cases/failing build/12 objcpp werror/meson.build b/test cases/failing build/12 objcpp werror/meson.build new file mode 100644 index 0000000..5bc9bee --- /dev/null +++ b/test cases/failing build/12 objcpp werror/meson.build @@ -0,0 +1,5 @@ +project('test', default_options: ['werror=true']) +if not add_languages('objcpp', required: false) + error('MESON_SKIP_TEST: Objective C++ not found') +endif +executable('prog', 'test.mm') diff --git a/test cases/failing build/12 objcpp werror/test.mm b/test cases/failing build/12 objcpp werror/test.mm new file mode 100644 index 0000000..732cffa --- /dev/null +++ b/test cases/failing build/12 objcpp werror/test.mm @@ -0,0 +1,8 @@ +#import<stdio.h> + +class MyClass { +}; + +int main(void) { + return 1 / 0; +} diff --git a/test cases/failing build/13 rust werror/meson.build b/test cases/failing build/13 rust werror/meson.build new file mode 100644 index 0000000..fd11de1 --- /dev/null +++ b/test cases/failing build/13 rust werror/meson.build @@ -0,0 +1,8 @@ +project('test', default_options: ['werror=true']) +if meson.backend() != 'ninja' + error('MESON_SKIP_TEST: Rust requires Ninja backend') +endif +if not add_languages('rust', required: false) + error('MESON_SKIP_TEST: Rust not found') +endif +executable('prog', 'test.rs') diff --git a/test cases/failing build/13 rust werror/test.rs b/test cases/failing build/13 rust werror/test.rs new file mode 100644 index 0000000..c0e4223 --- /dev/null +++ b/test cases/failing build/13 rust werror/test.rs @@ -0,0 +1,4 @@ +#[warn(unconditional_panic)] +fn main() { + println!("Hello, world {}!", 1 / 0); +} diff --git a/test cases/failing build/14 swift werror/meson.build b/test cases/failing build/14 swift werror/meson.build new file mode 100644 index 0000000..1d82751 --- /dev/null +++ b/test cases/failing build/14 swift werror/meson.build @@ -0,0 +1,5 @@ +project('test', default_options: ['werror=true']) +if not add_languages('swift', required: false) + error('MESON_SKIP_TEST: Swift not found') +endif +executable('prog', 'test.swift') diff --git a/test cases/failing build/14 swift werror/test.swift b/test cases/failing build/14 swift werror/test.swift new file mode 100644 index 0000000..b569811 --- /dev/null +++ b/test cases/failing build/14 swift werror/test.swift @@ -0,0 +1,2 @@ +#warning("oops") +print("Hello, World!") diff --git a/test cases/failing build/5 c werror/meson.build b/test cases/failing build/5 c werror/meson.build new file mode 100644 index 0000000..ff6026a --- /dev/null +++ b/test cases/failing build/5 c werror/meson.build @@ -0,0 +1,2 @@ +project('test', 'c', default_options: ['werror=true']) +executable('prog', 'test.c') diff --git a/test cases/failing build/5 c werror/test.c b/test cases/failing build/5 c werror/test.c new file mode 100644 index 0000000..f0b7f0b --- /dev/null +++ b/test cases/failing build/5 c werror/test.c @@ -0,0 +1,3 @@ +int main(int argc, char **argv) { + return 1 / 0; +} diff --git a/test cases/failing build/6 cpp werror/meson.build b/test cases/failing build/6 cpp werror/meson.build new file mode 100644 index 0000000..0d1c4c5 --- /dev/null +++ b/test cases/failing build/6 cpp werror/meson.build @@ -0,0 +1,2 @@ +project('test', 'cpp', default_options: ['werror=true']) +executable('prog', 'test.cpp') diff --git a/test cases/failing build/6 cpp werror/test.cpp b/test cases/failing build/6 cpp werror/test.cpp new file mode 100644 index 0000000..f0b7f0b --- /dev/null +++ b/test cases/failing build/6 cpp werror/test.cpp @@ -0,0 +1,3 @@ +int main(int argc, char **argv) { + return 1 / 0; +} diff --git a/test cases/failing build/7 csharp werror/meson.build b/test cases/failing build/7 csharp werror/meson.build new file mode 100644 index 0000000..8e73c6a --- /dev/null +++ b/test cases/failing build/7 csharp werror/meson.build @@ -0,0 +1,8 @@ +project('test', default_options: ['werror=true']) +if meson.backend() != 'ninja' + error('MESON_SKIP_TEST: C# requires Ninja backend') +endif +if not add_languages('cs', required: false) + error('MESON_SKIP_TEST: C# not found') +endif +executable('prog', 'test.cs') diff --git a/test cases/failing build/7 csharp werror/test.cs b/test cases/failing build/7 csharp werror/test.cs new file mode 100644 index 0000000..262f4d1 --- /dev/null +++ b/test cases/failing build/7 csharp werror/test.cs @@ -0,0 +1,8 @@ +namespace HelloWorld { + class Hello { + static void Main(string[] args) { + int w = 0; // unused + System.Console.WriteLine("Hello World!"); + } + } +} diff --git a/test cases/failing build/8 fortran werror/meson.build b/test cases/failing build/8 fortran werror/meson.build new file mode 100644 index 0000000..9cccbec --- /dev/null +++ b/test cases/failing build/8 fortran werror/meson.build @@ -0,0 +1,5 @@ +project('test', default_options: ['warning_level=3', 'werror=true']) +if not add_languages('fortran', required: false) + error('MESON_SKIP_TEST: Fortran not found') +endif +executable('prog', 'test.f90') diff --git a/test cases/failing build/8 fortran werror/test.f90 b/test cases/failing build/8 fortran werror/test.f90 new file mode 100644 index 0000000..78edb8d --- /dev/null +++ b/test cases/failing build/8 fortran werror/test.f90 @@ -0,0 +1,4 @@ +program main +integer :: i +print *, ii +end program diff --git a/test cases/failing build/9 java werror/Test.java b/test cases/failing build/9 java werror/Test.java new file mode 100644 index 0000000..3bfb2d0 --- /dev/null +++ b/test cases/failing build/9 java werror/Test.java @@ -0,0 +1,5 @@ +public class Test { + public static void main(String args[]) { + System.out.println(1 / 0); + } +} diff --git a/test cases/failing build/9 java werror/meson.build b/test cases/failing build/9 java werror/meson.build new file mode 100644 index 0000000..3923259 --- /dev/null +++ b/test cases/failing build/9 java werror/meson.build @@ -0,0 +1,8 @@ +project('test', default_options: ['werror=true']) +if meson.backend() != 'ninja' + error('MESON_SKIP_TEST: Java requires Ninja backend') +endif +if not add_languages('java', required: false) + error('MESON_SKIP_TEST: Java not found') +endif +jar('prog', 'Test.java') |