summaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
Diffstat (limited to 'test cases')
-rw-r--r--test cases/common/135 generated assembly/square-arm.S.in4
-rw-r--r--test cases/common/135 generated assembly/square-x86.S.in4
-rw-r--r--test cases/common/135 generated assembly/square-x86_64.S.in4
-rw-r--r--test cases/common/140 get define/meson.build25
-rw-r--r--test cases/frameworks/15 llvm/meson.build24
-rw-r--r--test cases/frameworks/17 mpi/meson.build5
-rw-r--r--test cases/frameworks/18 vulkan/meson.build5
-rw-r--r--test cases/frameworks/2 gtest/meson.build5
-rw-r--r--test cases/frameworks/3 gmock/meson.build10
-rw-r--r--test cases/objc/2 nsstring/meson.build5
-rw-r--r--test cases/objc/3 objc args/meson.build (renamed from test cases/objc/4 objc args/meson.build)0
-rw-r--r--test cases/objc/3 objc args/prog.m (renamed from test cases/objc/4 objc args/prog.m)0
-rw-r--r--test cases/objcpp/1 simple/meson.build (renamed from test cases/objc/3 objc++/meson.build)0
-rw-r--r--test cases/objcpp/1 simple/prog.mm (renamed from test cases/objc/3 objc++/prog.mm)0
-rw-r--r--test cases/objcpp/2 objc++ args/meson.build (renamed from test cases/objc/5 objc++ args/meson.build)0
-rw-r--r--test cases/objcpp/2 objc++ args/prog.mm (renamed from test cases/objc/5 objc++ args/prog.mm)0
16 files changed, 66 insertions, 25 deletions
diff --git a/test cases/common/135 generated assembly/square-arm.S.in b/test cases/common/135 generated assembly/square-arm.S.in
index 168c980a8..d2fb7ac20 100644
--- a/test cases/common/135 generated assembly/square-arm.S.in
+++ b/test cases/common/135 generated assembly/square-arm.S.in
@@ -2,8 +2,8 @@
.text
.globl SYMBOL_NAME(square_unsigned)
-/* Only supported on Linux with GAS */
-# ifdef __linux__
+/* Only supported with GAS */
+# if defined(__linux__) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__)
.type square_unsigned,%function
#endif
diff --git a/test cases/common/135 generated assembly/square-x86.S.in b/test cases/common/135 generated assembly/square-x86.S.in
index 19dd9f580..ee77b81be 100644
--- a/test cases/common/135 generated assembly/square-x86.S.in
+++ b/test cases/common/135 generated assembly/square-x86.S.in
@@ -21,8 +21,8 @@ END
.text
.globl SYMBOL_NAME(square_unsigned)
-/* Only supported on Linux with GAS */
-# ifdef __linux__
+/* Only supported with GAS */
+# if defined(__linux__) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__)
.type square_unsigned,@function
# endif
diff --git a/test cases/common/135 generated assembly/square-x86_64.S.in b/test cases/common/135 generated assembly/square-x86_64.S.in
index 0834f1662..856af137e 100644
--- a/test cases/common/135 generated assembly/square-x86_64.S.in
+++ b/test cases/common/135 generated assembly/square-x86_64.S.in
@@ -18,8 +18,8 @@ END
.text
.globl SYMBOL_NAME(square_unsigned)
-/* Only supported on Linux with GAS */
-# ifdef __linux__
+/* Only supported with GAS */
+# if defined(__linux__) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__)
.type square_unsigned,@function
# endif
diff --git a/test cases/common/140 get define/meson.build b/test cases/common/140 get define/meson.build
index e23b7dedb..fd8717755 100644
--- a/test cases/common/140 get define/meson.build
+++ b/test cases/common/140 get define/meson.build
@@ -19,6 +19,19 @@ foreach lang : ['c', 'cpp']
elif host_system == 'haiku'
d = cc.get_define('__HAIKU__')
assert(d == '1', '__HAIKU__ value is @0@ instead of 1'.format(d))
+ elif host_system == 'freebsd'
+ # the __FreeBSD__ define will be equal to the major version of the release
+ # (ex, in FreeBSD 11.x, __FreeBSD__ == 11). To make the test robust when
+ # being run on various versions of FreeBSD, just test that the define is
+ # set.
+ d = cc.get_define('__FreeBSD__')
+ assert(d != '', '__FreeBSD__ value is unset')
+ elif host_system == 'dragonfly'
+ d = cc.get_define('__DragonFly__')
+ assert(d == '1', '__DragonFly__ value is @0@ instead of 1'.format(d))
+ elif host_system == 'netbsd'
+ d = cc.get_define('__NetBSD__')
+ assert(d == '1', '__NetBSD__ value is @0@ instead of 1'.format(d))
else
error('Please report a bug and help us improve support for this platform')
endif
@@ -28,8 +41,16 @@ foreach lang : ['c', 'cpp']
# found in the compiler's default search path, GCC inserts an extra comment
# between the delimiter and the define which causes a parsing error.
# https://github.com/mesonbuild/meson/issues/1726
- ver = cc.get_define('ZLIB_VER_MAJOR', prefix : '#include <zlib.h>')
- assert(ver == '1', 'ZLIB_VER_MAJOR value is "@0@" instead of "1"'.format(ver))
+ if host_machine.system() == 'netbsd'
+ # NetBSD's zlib doesn't is version 1.2.3 and doesn't have a
+ # ZLIB_VER_MAJOR, but it does have a ZLIB_VERSION (which is a string), so
+ # check the first non-quote character of that.
+ ver = cc.get_define('ZLIB_VERSION', prefix : '#include <zlib.h>')[1]
+ assert(ver == '1', 'ZLIB_VERSION (major) value is "@0@" instead of "1"'.format(ver))
+ else
+ ver = cc.get_define('ZLIB_VER_MAJOR', prefix : '#include <zlib.h>')
+ assert(ver == '1', 'ZLIB_VER_MAJOR value is "@0@" instead of "1"'.format(ver))
+ endif
endif
# Check that an undefined value is empty.
diff --git a/test cases/frameworks/15 llvm/meson.build b/test cases/frameworks/15 llvm/meson.build
index 521100694..549adce90 100644
--- a/test cases/frameworks/15 llvm/meson.build
+++ b/test cases/frameworks/15 llvm/meson.build
@@ -20,17 +20,19 @@ foreach static : [true, false]
'llvm',
modules : ['bitwriter', 'asmprinter', 'executionengine', 'target',
'mcjit', 'nativecodegen'],
- required : true,
+ required : false,
static : static,
)
- name = static ? 'static' : 'dynamic'
- executable(
- 'sum-@0@'.format(name),
- 'sum.c',
- dependencies : [
- llvm_dep, dep_tinfo,
- dependency('zlib'),
- meson.get_compiler('c').find_library('dl', required : false),
- ]
- )
+ if llvm_dep.found()
+ name = static ? 'static' : 'dynamic'
+ executable(
+ 'sum-@0@'.format(name),
+ 'sum.c',
+ dependencies : [
+ llvm_dep, dep_tinfo,
+ dependency('zlib'),
+ meson.get_compiler('c').find_library('dl', required : false),
+ ]
+ )
+ endif
endforeach
diff --git a/test cases/frameworks/17 mpi/meson.build b/test cases/frameworks/17 mpi/meson.build
index 17acd713d..01ad61dc5 100644
--- a/test cases/frameworks/17 mpi/meson.build
+++ b/test cases/frameworks/17 mpi/meson.build
@@ -6,7 +6,10 @@ if build_machine.system() == 'windows' and cc.get_id() != 'msvc'
error('MESON_SKIP_TEST: MPI not available on Windows without MSVC.')
endif
-mpic = dependency('mpi', language : 'c')
+mpic = dependency('mpi', language : 'c', required : false)
+if not mpic.found()
+ error('MESON_SKIP_TEST: MPI not found, skipping.')
+endif
exec = executable('exec',
'main.c',
dependencies : [mpic])
diff --git a/test cases/frameworks/18 vulkan/meson.build b/test cases/frameworks/18 vulkan/meson.build
index 54f1d4746..e98854ebe 100644
--- a/test cases/frameworks/18 vulkan/meson.build
+++ b/test cases/frameworks/18 vulkan/meson.build
@@ -1,6 +1,9 @@
project('vulkan test', 'c')
-vulkan_dep = dependency('vulkan')
+vulkan_dep = dependency('vulkan', required : false)
+if not vulkan_dep.found()
+ error('MESON_SKIP_TEST: vulkan not found.')
+endif
e = executable('vulkanprog', 'vulkanprog.c', dependencies : vulkan_dep)
diff --git a/test cases/frameworks/2 gtest/meson.build b/test cases/frameworks/2 gtest/meson.build
index 419f451b7..e5418e963 100644
--- a/test cases/frameworks/2 gtest/meson.build
+++ b/test cases/frameworks/2 gtest/meson.build
@@ -1,6 +1,9 @@
project('gtest', 'cpp')
-gtest = dependency('gtest', main : true)
+gtest = dependency('gtest', main : true, required : false)
+if not gtest.found()
+ error('MESON_SKIP_TEST: gtest not installed.')
+endif
gtest_nomain = dependency('gtest', main : false)
e = executable('testprog', 'test.cc', dependencies : gtest)
diff --git a/test cases/frameworks/3 gmock/meson.build b/test cases/frameworks/3 gmock/meson.build
index 341f9d749..516547fc7 100644
--- a/test cases/frameworks/3 gmock/meson.build
+++ b/test cases/frameworks/3 gmock/meson.build
@@ -3,8 +3,14 @@ project('gmock test', 'cpp')
# Using gmock without gtest is a pain so just
# don't support that then.
-gtest = dependency('gtest', main : true)
-gmock = dependency('gmock')
+gtest = dependency('gtest', main : true, required : false)
+if not gtest.found()
+ error('MESON_SKIP_TEST: gtest not installed.')
+endif
+gmock = dependency('gmock', required : false)
+if not gmock.found()
+ error('MESON_SKIP_TEST: gmock not installed.')
+endif
e = executable('gmocktest', 'gmocktest.cc', dependencies : [gtest, gmock])
test('gmock test', e)
diff --git a/test cases/objc/2 nsstring/meson.build b/test cases/objc/2 nsstring/meson.build
index a877d7465..7f2483f4c 100644
--- a/test cases/objc/2 nsstring/meson.build
+++ b/test cases/objc/2 nsstring/meson.build
@@ -5,7 +5,10 @@ if host_machine.system() == 'darwin'
elif host_machine.system() == 'cygwin'
error('MESON_SKIP_TEST GNUstep is not packaged for Cygwin.')
else
- dep = dependency('gnustep')
+ dep = dependency('gnustep', required : false)
+ if not dep.found()
+ error('MESON_SKIP_TEST: GNUstep is not installed')
+ endif
if host_machine.system() == 'linux' and meson.get_compiler('objc').get_id() == 'clang'
error('MESON_SKIP_TEST: GNUstep is broken on Linux with Clang')
endif
diff --git a/test cases/objc/4 objc args/meson.build b/test cases/objc/3 objc args/meson.build
index 8887d96bc..8887d96bc 100644
--- a/test cases/objc/4 objc args/meson.build
+++ b/test cases/objc/3 objc args/meson.build
diff --git a/test cases/objc/4 objc args/prog.m b/test cases/objc/3 objc args/prog.m
index bfd686a86..bfd686a86 100644
--- a/test cases/objc/4 objc args/prog.m
+++ b/test cases/objc/3 objc args/prog.m
diff --git a/test cases/objc/3 objc++/meson.build b/test cases/objcpp/1 simple/meson.build
index 7d9188471..7d9188471 100644
--- a/test cases/objc/3 objc++/meson.build
+++ b/test cases/objcpp/1 simple/meson.build
diff --git a/test cases/objc/3 objc++/prog.mm b/test cases/objcpp/1 simple/prog.mm
index 927e8104e..927e8104e 100644
--- a/test cases/objc/3 objc++/prog.mm
+++ b/test cases/objcpp/1 simple/prog.mm
diff --git a/test cases/objc/5 objc++ args/meson.build b/test cases/objcpp/2 objc++ args/meson.build
index e0e34b0f1..e0e34b0f1 100644
--- a/test cases/objc/5 objc++ args/meson.build
+++ b/test cases/objcpp/2 objc++ args/meson.build
diff --git a/test cases/objc/5 objc++ args/prog.mm b/test cases/objcpp/2 objc++ args/prog.mm
index 3decaf230..3decaf230 100644
--- a/test cases/objc/5 objc++ args/prog.mm
+++ b/test cases/objcpp/2 objc++ args/prog.mm