test: remove asset test that needs internal method

The test_proxy_asset test needs the internal method
ges_asset_finish_proxy. The test also uses the associated internal methods
ges_asset_try_proxy and ges_asset_cache_lookup. However, these are
marked with GES_API in ges-internal.h, which allows us access to them
here.
The new method is not marked as GES_API because it would not allow us to
remove the method in the future without removing it from the symbols list.
We do not want to add to the problem.

The test was simply commented out since we may wish to support tests
that access internal methods in the future using meson.
This commit is contained in:
Henry Wilkes 2020-03-04 17:00:46 +00:00 committed by Thibault Saunier
parent 8f12663428
commit b03915bc87

View file

@ -20,7 +20,7 @@
*/ */
#include "test-utils.h" #include "test-utils.h"
#include "../../../ges/ges-internal.h" /* #include "../../../ges/ges-internal.h" */
#include <ges/ges.h> #include <ges/ges.h>
#include <gst/check/gstcheck.h> #include <gst/check/gstcheck.h>
@ -267,6 +267,20 @@ GST_START_TEST (test_list_asset)
GST_END_TEST; GST_END_TEST;
/*
* NOTE: this test is commented out because it requires the internal
* ges_asset_finish_proxy method. This method replaces the behaviour of
* ges_asset_set_proxy (NULL, proxy), which is no longer supported.
*
* ges_asset_cache_lookup and ges_asset_try_proxy are similarly internal,
* but they are marked with GES_API in ges-internal.h
* The newer ges_asset_finish_proxy is not marked as GES_API, because it
* would add it to the symbols list, and could therefore not be easily
* removed.
*
* Once we have a nice way to call internal methods for tests, we should
* uncomment this.
*
GST_START_TEST (test_proxy_asset) GST_START_TEST (test_proxy_asset)
{ {
GESAsset *identity, *nothing, *nothing_at_all; GESAsset *identity, *nothing, *nothing_at_all;
@ -291,7 +305,7 @@ GST_START_TEST (test_proxy_asset)
nothing_at_all = ges_asset_cache_lookup (GES_TYPE_EFFECT, "nothing_at_all"); nothing_at_all = ges_asset_cache_lookup (GES_TYPE_EFFECT, "nothing_at_all");
fail_unless (nothing_at_all != NULL); fail_unless (nothing_at_all != NULL);
/* Now we proxy nothing_at_all to nothing which is itself proxied to identity */ // Now we proxy nothing_at_all to nothing which is itself proxied to identity
fail_unless (ges_asset_try_proxy (nothing_at_all, "nothing")); fail_unless (ges_asset_try_proxy (nothing_at_all, "nothing"));
fail_unless (ges_asset_finish_proxy (nothing)); fail_unless (ges_asset_finish_proxy (nothing));
fail_unless_equals_int (g_list_length (ges_asset_list_proxies fail_unless_equals_int (g_list_length (ges_asset_list_proxies
@ -300,7 +314,7 @@ GST_START_TEST (test_proxy_asset)
fail_unless_equals_pointer (ges_asset_get_proxy_target (nothing), fail_unless_equals_pointer (ges_asset_get_proxy_target (nothing),
nothing_at_all); nothing_at_all);
/* If we request nothing_at_all we should get the good proxied identity */ // If we request nothing_at_all we should get the good proxied identity
nothing_at_all = ges_asset_request (GES_TYPE_EFFECT, "nothing_at_all", NULL); nothing_at_all = ges_asset_request (GES_TYPE_EFFECT, "nothing_at_all", NULL);
fail_unless (nothing_at_all == identity); fail_unless (nothing_at_all == identity);
@ -311,6 +325,7 @@ GST_START_TEST (test_proxy_asset)
} }
GST_END_TEST; GST_END_TEST;
*/
static Suite * static Suite *
ges_suite (void) ges_suite (void)
@ -325,7 +340,6 @@ ges_suite (void)
tcase_add_test (tc_chain, test_transition_change_asset); tcase_add_test (tc_chain, test_transition_change_asset);
tcase_add_test (tc_chain, test_uri_clip_change_asset); tcase_add_test (tc_chain, test_uri_clip_change_asset);
tcase_add_test (tc_chain, test_list_asset); tcase_add_test (tc_chain, test_list_asset);
tcase_add_test (tc_chain, test_proxy_asset);
return s; return s;
} }