summaryrefslogtreecommitdiffstats
path: root/test cases/unit/31 forcefallback
diff options
context:
space:
mode:
Diffstat (limited to 'test cases/unit/31 forcefallback')
-rw-r--r--test cases/unit/31 forcefallback/meson.build9
-rw-r--r--test cases/unit/31 forcefallback/subprojects/notzlib/meson.build7
-rw-r--r--test cases/unit/31 forcefallback/subprojects/notzlib/notzlib.c6
-rw-r--r--test cases/unit/31 forcefallback/subprojects/notzlib/notzlib.h18
-rw-r--r--test cases/unit/31 forcefallback/test_not_zlib.c8
5 files changed, 48 insertions, 0 deletions
diff --git a/test cases/unit/31 forcefallback/meson.build b/test cases/unit/31 forcefallback/meson.build
new file mode 100644
index 0000000..8d84a60
--- /dev/null
+++ b/test cases/unit/31 forcefallback/meson.build
@@ -0,0 +1,9 @@
+project('mainproj', 'c',
+ default_options : [])
+
+zlib_dep = dependency('zlib', fallback: ['notzlib', 'zlib_dep'])
+notfound_dep = dependency('cannotabletofind', fallback: ['definitelynotfound', 'some_var'], required : false)
+
+test_not_zlib = executable('test_not_zlib', ['test_not_zlib.c'], dependencies: [zlib_dep, notfound_dep])
+
+test('test_not_zlib', test_not_zlib)
diff --git a/test cases/unit/31 forcefallback/subprojects/notzlib/meson.build b/test cases/unit/31 forcefallback/subprojects/notzlib/meson.build
new file mode 100644
index 0000000..254a136
--- /dev/null
+++ b/test cases/unit/31 forcefallback/subprojects/notzlib/meson.build
@@ -0,0 +1,7 @@
+project('notzlib', 'c')
+
+notzlib_sources = ['notzlib.c']
+
+notzlib = library('notzlib', notzlib_sources)
+
+zlib_dep = declare_dependency(link_with: notzlib, include_directories: include_directories(['.']))
diff --git a/test cases/unit/31 forcefallback/subprojects/notzlib/notzlib.c b/test cases/unit/31 forcefallback/subprojects/notzlib/notzlib.c
new file mode 100644
index 0000000..c3b6bf9
--- /dev/null
+++ b/test cases/unit/31 forcefallback/subprojects/notzlib/notzlib.c
@@ -0,0 +1,6 @@
+#include "notzlib.h"
+
+int not_a_zlib_function (void)
+{
+ return 42;
+}
diff --git a/test cases/unit/31 forcefallback/subprojects/notzlib/notzlib.h b/test cases/unit/31 forcefallback/subprojects/notzlib/notzlib.h
new file mode 100644
index 0000000..695921d
--- /dev/null
+++ b/test cases/unit/31 forcefallback/subprojects/notzlib/notzlib.h
@@ -0,0 +1,18 @@
+#pragma once
+
+#if defined _WIN32 || defined __CYGWIN__
+#if defined BUILDING_DLL
+ #define DLL_PUBLIC __declspec(dllexport)
+#else
+ #define DLL_PUBLIC __declspec(dllimport)
+#endif
+#else
+ #if defined __GNUC__
+ #define DLL_PUBLIC __attribute__ ((visibility("default")))
+ #else
+ #pragma message ("Compiler does not support symbol visibility.")
+ #define DLL_PUBLIC
+ #endif
+#endif
+
+int DLL_PUBLIC not_a_zlib_function (void);
diff --git a/test cases/unit/31 forcefallback/test_not_zlib.c b/test cases/unit/31 forcefallback/test_not_zlib.c
new file mode 100644
index 0000000..36256af
--- /dev/null
+++ b/test cases/unit/31 forcefallback/test_not_zlib.c
@@ -0,0 +1,8 @@
+#include <notzlib.h>
+
+int main (int ac, char **av)
+{
+ if (not_a_zlib_function () != 42)
+ return 1;
+ return 0;
+}