diff options
| author | Corentin Noël <corentin@elementary.io> | 2017-10-03 20:26:16 +0200 |
|---|---|---|
| committer | Corentin Noël <corentin@elementary.io> | 2017-10-03 20:26:16 +0200 |
| commit | 1320a98a33e4e9f188e5daa143316b24d0dce819 (patch) | |
| tree | 82ea281b163115277e1c9524283b0d371b6c21ac /test cases | |
| parent | f13887b64a9d535682668960493158ae15bfbb2d (diff) | |
| parent | 0c3d58baba4a61558ed9b4905f26155a3e95cf6c (diff) | |
| download | meson-1320a98a33e4e9f188e5daa143316b24d0dce819.tar.gz | |
Merge github.com:mesonbuild/meson into vala-target-dirs
Diffstat (limited to 'test cases')
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(); +} |
