diff options
author | David Robillard <d@drobilla.net> | 2020-12-01 10:23:51 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-12-01 10:23:51 +0100 |
commit | 24e392f843e69e3cbe98e743870cc2502bb9ca19 (patch) | |
tree | 665fb42a3be1b1f07797cdc50795a40ae48d8102 | |
parent | 721b677f1d8131436465998f8d696e24053ab624 (diff) | |
download | lilv-24e392f843e69e3cbe98e743870cc2502bb9ca19.tar.gz lilv-24e392f843e69e3cbe98e743870cc2502bb9ca19.tar.bz2 lilv-24e392f843e69e3cbe98e743870cc2502bb9ca19.zip |
Factor out loading test plugin
-rw-r--r-- | test/test_state.c | 45 |
1 files changed, 29 insertions, 16 deletions
diff --git a/test/test_state.c b/test/test_state.c index 2ebf6be..ae382ef 100644 --- a/test/test_state.c +++ b/test/test_state.c @@ -42,6 +42,8 @@ #include <stdlib.h> #include <string.h> +#define TEST_PLUGIN_URI "http://example.org/lilv-test-plugin" + typedef struct { LilvTestEnv* env; @@ -137,29 +139,41 @@ lilv_free_path(LV2_State_Free_Path_Handle handle, char* path) lilv_free(path); } -int -main(void) +static const LilvPlugin* +load_test_plugin(const TestContext* const ctx, const LilvTestEnv* const env) { - TestContext* const ctx = test_context_new(); - LilvTestEnv* const env = ctx->env; - LilvWorld* const world = env->world; - - LilvTestUriMap uri_map; - lilv_test_uri_map_init(&uri_map); + LilvWorld* world = env->world; + uint8_t* abs_bundle = (uint8_t*)lilv_path_absolute(LILV_TEST_BUNDLE); + SerdNode bundle = serd_node_new_file_uri(abs_bundle, 0, 0, true); + LilvNode* bundle_uri = lilv_new_uri(world, (const char*)bundle.buf); + LilvNode* plugin_uri = lilv_new_uri(world, TEST_PLUGIN_URI); - uint8_t* abs_bundle = (uint8_t*)lilv_path_absolute(LILV_TEST_BUNDLE); - SerdNode bundle = serd_node_new_file_uri(abs_bundle, 0, 0, true); - LilvNode* bundle_uri = lilv_new_uri(world, (const char*)bundle.buf); - LilvNode* plugin_uri = - lilv_new_uri(world, "http://example.org/lilv-test-plugin"); lilv_world_load_bundle(world, bundle_uri); - free(abs_bundle); - serd_node_free(&bundle); const LilvPlugins* plugins = lilv_world_get_all_plugins(world); const LilvPlugin* plugin = lilv_plugins_get_by_uri(plugins, plugin_uri); + + lilv_node_free(plugin_uri); + lilv_node_free(bundle_uri); + serd_node_free(&bundle); + free(abs_bundle); + + return plugin; +} + +int +main(void) +{ + TestContext* const ctx = test_context_new(); + LilvTestEnv* const env = ctx->env; + LilvWorld* const world = env->world; + LilvNode* plugin_uri = lilv_new_uri(world, TEST_PLUGIN_URI); + const LilvPlugin* plugin = load_test_plugin(ctx, env); assert(plugin); + LilvTestUriMap uri_map; + lilv_test_uri_map_init(&uri_map); + LV2_URID_Map map = {&uri_map, map_uri}; LV2_Feature map_feature = {LV2_URID_MAP_URI, &map}; LV2_URID_Unmap unmap = {&uri_map, unmap_uri}; @@ -573,7 +587,6 @@ main(void) lilv_test_uri_map_clear(&uri_map); lilv_node_free(plugin_uri); - lilv_node_free(bundle_uri); free(link_dir); free(copy_dir); free(temp_dir); |