summaryrefslogtreecommitdiffstats
path: root/test/missing_plugin.lv2/test_missing_plugin.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2015-10-04 19:28:20 +0000
committerDavid Robillard <d@drobilla.net>2015-10-04 19:28:20 +0000
commit1bdcf3843770e085adbb7d665153b7a4d6ee7b7b (patch)
treeb31c74f3e9f37915a42d42d69736af3528dad9a6 /test/missing_plugin.lv2/test_missing_plugin.c
parent464659f73bddf4a7d7b254ca3191cc1bf6dc9a31 (diff)
downloadlilv-1bdcf3843770e085adbb7d665153b7a4d6ee7b7b.tar.gz
lilv-1bdcf3843770e085adbb7d665153b7a4d6ee7b7b.tar.bz2
lilv-1bdcf3843770e085adbb7d665153b7a4d6ee7b7b.zip
Improve test coverage
git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@5742 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'test/missing_plugin.lv2/test_missing_plugin.c')
-rw-r--r--test/missing_plugin.lv2/test_missing_plugin.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/test/missing_plugin.lv2/test_missing_plugin.c b/test/missing_plugin.lv2/test_missing_plugin.c
new file mode 100644
index 0000000..01f00cd
--- /dev/null
+++ b/test/missing_plugin.lv2/test_missing_plugin.c
@@ -0,0 +1,44 @@
+#include "lilv/lilv.h"
+#include "../src/lilv_internal.h"
+
+#define PLUGIN_URI "http://example.org/missing-plugin"
+
+#define TEST_ASSERT(check) do {\
+ if (!(check)) {\
+ fprintf(stderr, "%s:%d: failed test: %s\n", __FILE__, __LINE__, #check);\
+ return 1;\
+ }\
+} while (0)
+
+int
+main(int argc, char** argv)
+{
+ if (argc != 2) {
+ fprintf(stderr, "USAGE: %s BUNDLE\n", argv[0]);
+ return 1;
+ }
+
+ const char* bundle_path = argv[1];
+ LilvWorld* world = lilv_world_new();
+
+ // Load test plugin bundle
+ uint8_t* abs_bundle = (uint8_t*)lilv_path_absolute(bundle_path);
+ SerdNode bundle = serd_node_new_file_uri(abs_bundle, 0, 0, true);
+ LilvNode* bundle_uri = lilv_new_uri(world, (const char*)bundle.buf);
+ lilv_world_load_bundle(world, bundle_uri);
+ free(abs_bundle);
+ serd_node_free(&bundle);
+
+ LilvNode* plugin_uri = lilv_new_uri(world, PLUGIN_URI);
+ const LilvPlugins* plugins = lilv_world_get_all_plugins(world);
+ const LilvPlugin* plugin = lilv_plugins_get_by_uri(plugins, plugin_uri);
+ TEST_ASSERT(plugin);
+
+ LilvInstance* instance = lilv_plugin_instantiate(plugin, 48000.0, NULL);
+ TEST_ASSERT(!instance);
+
+ lilv_world_free(world);
+
+ return 0;
+}
+