summaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorCorentin Noël <corentin@elementary.io>2017-10-03 20:26:16 +0200
committerCorentin Noël <corentin@elementary.io>2017-10-03 20:26:16 +0200
commit1320a98a33e4e9f188e5daa143316b24d0dce819 (patch)
tree82ea281b163115277e1c9524283b0d371b6c21ac /test cases
parentf13887b64a9d535682668960493158ae15bfbb2d (diff)
parent0c3d58baba4a61558ed9b4905f26155a3e95cf6c (diff)
downloadmeson-1320a98a33e4e9f188e5daa143316b24d0dce819.tar.gz
Merge github.com:mesonbuild/meson into vala-target-dirs
Diffstat (limited to 'test cases')
-rw-r--r--test cases/frameworks/1 boost/meson.build5
-rw-r--r--test cases/frameworks/1 boost/nolinkexe.cc12
-rw-r--r--test cases/frameworks/4 qt/meson.build10
-rw-r--r--test cases/frameworks/4 qt/plugin/plugin.cpp7
-rw-r--r--test cases/frameworks/4 qt/plugin/plugin.h11
-rw-r--r--test cases/frameworks/4 qt/plugin/plugin.json3
-rw-r--r--test cases/frameworks/4 qt/pluginInterface/plugin_if.h21
-rw-r--r--test cases/frameworks/7 gnome/gir/dep1/meson.build1
-rw-r--r--test cases/frameworks/7 gnome/gir/meson.build2
-rw-r--r--test cases/unit/14 prebuilt object/main.c (renamed from test cases/prebuilt/1 object/main.c)0
-rw-r--r--test cases/unit/14 prebuilt object/meson.build (renamed from test cases/prebuilt/1 object/meson.build)0
-rw-r--r--test cases/unit/14 prebuilt object/source.c (renamed from test cases/prebuilt/1 object/source.c)0
-rw-r--r--test cases/unit/15 prebuilt static/libdir/best.c (renamed from test cases/prebuilt/2 static/libdir/best.c)0
-rw-r--r--test cases/unit/15 prebuilt static/libdir/best.h (renamed from test cases/prebuilt/2 static/libdir/best.h)0
-rw-r--r--test cases/unit/15 prebuilt static/libdir/meson.build (renamed from test cases/prebuilt/2 static/libdir/meson.build)0
-rw-r--r--test cases/unit/15 prebuilt static/main.c (renamed from test cases/prebuilt/2 static/main.c)0
-rw-r--r--test cases/unit/15 prebuilt static/meson.build (renamed from test cases/prebuilt/2 static/meson.build)0
-rw-r--r--test cases/unit/16 prebuilt shared/alexandria.c6
-rw-r--r--test cases/unit/16 prebuilt shared/alexandria.h20
-rw-r--r--test cases/unit/16 prebuilt shared/another_visitor.c10
-rw-r--r--test cases/unit/16 prebuilt shared/meson.build14
-rw-r--r--test cases/unit/16 prebuilt shared/patron.c8
22 files changed, 113 insertions, 17 deletions
diff --git a/test cases/frameworks/1 boost/meson.build b/test cases/frameworks/1 boost/meson.build
index 6f25f8bb2..b73f93a74 100644
--- a/test cases/frameworks/1 boost/meson.build
+++ b/test cases/frameworks/1 boost/meson.build
@@ -9,21 +9,18 @@ add_project_arguments(['-DBOOST_LOG_DYN_LINK'],
# within one project. The need to be independent of each other.
# Use one without a library dependency and one with it.
-nolinkdep = dependency('boost', modules: 'utility')
linkdep = dependency('boost', modules : ['thread', 'system'])
staticdep = dependency('boost', modules : ['thread', 'system'], static : true)
-testdep = dependency('boost', modules : 'test')
+testdep = dependency('boost', modules : ['unit_test_framework'])
nomoddep = dependency('boost')
extralibdep = dependency('boost', modules : ['thread', 'system', 'log_setup', 'log'])
-nolinkexe = executable('nolinkedexe', 'nolinkexe.cc', dependencies : nolinkdep)
linkexe = executable('linkedexe', 'linkexe.cc', dependencies : linkdep)
staticexe = executable('staticlinkedexe', 'linkexe.cc', dependencies : staticdep)
unitexe = executable('utf', 'unit_test.cpp', dependencies: testdep)
nomodexe = executable('nomod', 'nomod.cpp', dependencies : nomoddep)
extralibexe = executable('extralibexe', 'extralib.cpp', dependencies : extralibdep)
-test('Boost nolinktest', nolinkexe)
test('Boost linktest', linkexe)
test('Boost statictest', staticexe)
test('Boost UTF test', unitexe)
diff --git a/test cases/frameworks/1 boost/nolinkexe.cc b/test cases/frameworks/1 boost/nolinkexe.cc
deleted file mode 100644
index 7b6c6d92b..000000000
--- a/test cases/frameworks/1 boost/nolinkexe.cc
+++ /dev/null
@@ -1,12 +0,0 @@
-#include<boost/utility.hpp>
-
-class MyClass : boost::noncopyable {
-public:
- MyClass() {};
- ~MyClass() {};
-};
-
-int main(int argc, char **argv) {
- MyClass obj;
- return 0;
-}
diff --git a/test cases/frameworks/4 qt/meson.build b/test cases/frameworks/4 qt/meson.build
index d9cab6fbe..c6f108bbc 100644
--- a/test cases/frameworks/4 qt/meson.build
+++ b/test cases/frameworks/4 qt/meson.build
@@ -70,5 +70,15 @@ foreach qt : ['qt4', 'qt5']
dependencies : qtcore)
test(qt + 'maninclude', qtmaninclude)
+
+ # building Qt plugins implies to give include path to moc
+ plugin_includes = include_directories('pluginInterface', 'plugin')
+ pluginpreprocess = qtmodule.preprocess(
+ moc_headers : 'plugin/plugin.h',
+ include_directories : plugin_includes
+ )
+ plugin = library('plugin', 'plugin/plugin.cpp', pluginpreprocess,
+ include_directories : plugin_includes,
+ dependencies : qtcore)
endif
endforeach
diff --git a/test cases/frameworks/4 qt/plugin/plugin.cpp b/test cases/frameworks/4 qt/plugin/plugin.cpp
new file mode 100644
index 000000000..eeae98db7
--- /dev/null
+++ b/test cases/frameworks/4 qt/plugin/plugin.cpp
@@ -0,0 +1,7 @@
+#include "plugin.h"
+#include <QFile>
+
+QString plugin1::getResource()
+{
+ return "hello world";
+}
diff --git a/test cases/frameworks/4 qt/plugin/plugin.h b/test cases/frameworks/4 qt/plugin/plugin.h
new file mode 100644
index 000000000..1138f412e
--- /dev/null
+++ b/test cases/frameworks/4 qt/plugin/plugin.h
@@ -0,0 +1,11 @@
+#pragma once
+#include <plugin_if.h>
+
+class plugin1:public QObject,public PluginInterface
+{
+ Q_OBJECT
+ Q_INTERFACES(PluginInterface)
+ Q_PLUGIN_METADATA(IID "demo.PluginInterface" FILE "plugin.json")
+public:
+ QString getResource() override;
+};
diff --git a/test cases/frameworks/4 qt/plugin/plugin.json b/test cases/frameworks/4 qt/plugin/plugin.json
new file mode 100644
index 000000000..6c6a0116d
--- /dev/null
+++ b/test cases/frameworks/4 qt/plugin/plugin.json
@@ -0,0 +1,3 @@
+{
+ "name" : "Plugin1"
+}
diff --git a/test cases/frameworks/4 qt/pluginInterface/plugin_if.h b/test cases/frameworks/4 qt/pluginInterface/plugin_if.h
new file mode 100644
index 000000000..97d2800c3
--- /dev/null
+++ b/test cases/frameworks/4 qt/pluginInterface/plugin_if.h
@@ -0,0 +1,21 @@
+#ifndef PLUGIN_IF_H
+#define PLUGIN_IF_H
+
+#include <QString>
+#include <QtPlugin>
+
+/**
+ * @brief Interface for a plugin
+ */
+class PluginInterface
+{
+public:
+ virtual ~PluginInterface() = default;
+
+ /// Initializes the plugin
+ virtual QString getResource() = 0;
+};
+
+Q_DECLARE_INTERFACE(PluginInterface, "demo.PluginInterface")
+
+#endif
diff --git a/test cases/frameworks/7 gnome/gir/dep1/meson.build b/test cases/frameworks/7 gnome/gir/dep1/meson.build
index 75dd73166..baa0b1d68 100644
--- a/test cases/frameworks/7 gnome/gir/dep1/meson.build
+++ b/test cases/frameworks/7 gnome/gir/dep1/meson.build
@@ -19,6 +19,7 @@ dep1gir = gnome.generate_gir(
namespace : 'MesonDep1',
symbol_prefix : 'meson',
identifier_prefix : 'Meson',
+ header: 'dep1.h',
includes : ['GObject-2.0', 'MesonDep2-1.0'],
dependencies : [dep2_dep],
install : true
diff --git a/test cases/frameworks/7 gnome/gir/meson.build b/test cases/frameworks/7 gnome/gir/meson.build
index 3598b663d..a91cb977a 100644
--- a/test cases/frameworks/7 gnome/gir/meson.build
+++ b/test cases/frameworks/7 gnome/gir/meson.build
@@ -27,7 +27,7 @@ gnome.generate_gir(
identifier_prefix : 'Meson',
includes : ['GObject-2.0', 'MesonDep1-1.0'],
# dep1_dep pulls in dep2_dep for us
- dependencies : [fake_dep, dep1_dep],
+ dependencies : [[fake_dep, dep1_dep]],
install : true,
build_by_default : true,
# Test that unknown kwargs do not crash the parser.
diff --git a/test cases/prebuilt/1 object/main.c b/test cases/unit/14 prebuilt object/main.c
index 480bda5f4..480bda5f4 100644
--- a/test cases/prebuilt/1 object/main.c
+++ b/test cases/unit/14 prebuilt object/main.c
diff --git a/test cases/prebuilt/1 object/meson.build b/test cases/unit/14 prebuilt object/meson.build
index 92f966b97..92f966b97 100644
--- a/test cases/prebuilt/1 object/meson.build
+++ b/test cases/unit/14 prebuilt object/meson.build
diff --git a/test cases/prebuilt/1 object/source.c b/test cases/unit/14 prebuilt object/source.c
index f39b4f366..f39b4f366 100644
--- a/test cases/prebuilt/1 object/source.c
+++ b/test cases/unit/14 prebuilt object/source.c
diff --git a/test cases/prebuilt/2 static/libdir/best.c b/test cases/unit/15 prebuilt static/libdir/best.c
index ab774e1f5..ab774e1f5 100644
--- a/test cases/prebuilt/2 static/libdir/best.c
+++ b/test cases/unit/15 prebuilt static/libdir/best.c
diff --git a/test cases/prebuilt/2 static/libdir/best.h b/test cases/unit/15 prebuilt static/libdir/best.h
index 063017f86..063017f86 100644
--- a/test cases/prebuilt/2 static/libdir/best.h
+++ b/test cases/unit/15 prebuilt static/libdir/best.h
diff --git a/test cases/prebuilt/2 static/libdir/meson.build b/test cases/unit/15 prebuilt static/libdir/meson.build
index 8d74ccf3f..8d74ccf3f 100644
--- a/test cases/prebuilt/2 static/libdir/meson.build
+++ b/test cases/unit/15 prebuilt static/libdir/meson.build
diff --git a/test cases/prebuilt/2 static/main.c b/test cases/unit/15 prebuilt static/main.c
index d172625b9..d172625b9 100644
--- a/test cases/prebuilt/2 static/main.c
+++ b/test cases/unit/15 prebuilt static/main.c
diff --git a/test cases/prebuilt/2 static/meson.build b/test cases/unit/15 prebuilt static/meson.build
index 9ea1d0dc7..9ea1d0dc7 100644
--- a/test cases/prebuilt/2 static/meson.build
+++ b/test cases/unit/15 prebuilt static/meson.build
diff --git a/test cases/unit/16 prebuilt shared/alexandria.c b/test cases/unit/16 prebuilt shared/alexandria.c
new file mode 100644
index 000000000..2d6b84831
--- /dev/null
+++ b/test cases/unit/16 prebuilt shared/alexandria.c
@@ -0,0 +1,6 @@
+#include"alexandria.h"
+#include<stdio.h>
+
+void alexandria_visit() {
+ printf("You are surrounded by wisdom and knowledge. You feel enlightened.\n");
+}
diff --git a/test cases/unit/16 prebuilt shared/alexandria.h b/test cases/unit/16 prebuilt shared/alexandria.h
new file mode 100644
index 000000000..6e507c5ae
--- /dev/null
+++ b/test cases/unit/16 prebuilt shared/alexandria.h
@@ -0,0 +1,20 @@
+#pragma once
+
+/* Both funcs here for simplicity. */
+
+#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
+
+void DLL_PUBLIC alexandria_visit();
diff --git a/test cases/unit/16 prebuilt shared/another_visitor.c b/test cases/unit/16 prebuilt shared/another_visitor.c
new file mode 100644
index 000000000..18e5f150e
--- /dev/null
+++ b/test cases/unit/16 prebuilt shared/another_visitor.c
@@ -0,0 +1,10 @@
+#include<alexandria.h>
+#include<stdio.h>
+
+int main(int argc, char **argv) {
+ printf("Ahh, another visitor. Stay a while.\n");
+ printf("You enter the library.\n\n");
+ alexandria_visit();
+ printf("\nYou decided not to stay forever.\n");
+ return 0;
+}
diff --git a/test cases/unit/16 prebuilt shared/meson.build b/test cases/unit/16 prebuilt shared/meson.build
new file mode 100644
index 000000000..41c11c656
--- /dev/null
+++ b/test cases/unit/16 prebuilt shared/meson.build
@@ -0,0 +1,14 @@
+project('prebuilt shared library', 'c')
+
+cc = meson.get_compiler('c')
+shlib = cc.find_library('alexandria', dirs : meson.current_source_dir())
+
+exe = executable('patron', 'patron.c', dependencies : shlib)
+test('visitation', exe)
+
+d = declare_dependency(dependencies : shlib)
+
+exe2 = executable('another_visitor', 'another_visitor.c',
+ dependencies : d)
+test('another', exe2)
+
diff --git a/test cases/unit/16 prebuilt shared/patron.c b/test cases/unit/16 prebuilt shared/patron.c
new file mode 100644
index 000000000..82d9678aa
--- /dev/null
+++ b/test cases/unit/16 prebuilt shared/patron.c
@@ -0,0 +1,8 @@
+#include<alexandria.h>
+#include<stdio.h>
+
+int main(int argc, char **argv) {
+ printf("You are standing outside the Great Library of Alexandria.\n");
+ printf("You decide to go inside.\n\n");
+ alexandria_visit();
+}