From ec9107dc1f502c758777139f0d7ed59a81557f19 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Thu, 21 Jul 2016 13:52:16 +0900 Subject: [PATCH] eo: Fix override test case to match new policy The new policy is a lot more restrictive. Honestly, I don't like it. --- src/tests/eo/suite/eo_test_general.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/tests/eo/suite/eo_test_general.c b/src/tests/eo/suite/eo_test_general.c index dcbf73f3c8..de7c25883d 100644 --- a/src/tests/eo/suite/eo_test_general.c +++ b/src/tests/eo/suite/eo_test_general.c @@ -88,17 +88,28 @@ START_TEST(eo_override_tests) EO_OVERRIDE_OPS_DEFINE( overrides2, EO_OP_FUNC_OVERRIDE(simple_a_set, _simple_obj_override_a_double_set)); + fail_if(!eo_override(obj, NULL)); fail_if(!eo_override(obj, &overrides2)); simple_a_set(obj, OVERRIDE_A_SIMPLE); - ck_assert_int_eq(simple_a_get(obj), OVERRIDE_A + (OVERRIDE_A_SIMPLE * 2)); + ck_assert_int_eq(simple_a_get(obj), OVERRIDE_A_SIMPLE * 2); + + /* Try overriding again - not allowed by policy */ + fail_if(eo_override(obj, &overrides)); + ck_assert_int_eq(simple_a_get(obj), OVERRIDE_A_SIMPLE * 2); /* Try introducing a new function */ EO_OVERRIDE_OPS_DEFINE( overrides3, EO_OP_FUNC(simple2_class_beef_get, _simple_obj_override_a_double_set)); + fail_if(!eo_override(obj, NULL)); fail_if(eo_override(obj, &overrides3)); + /* Test override reset */ + fail_if(!eo_override(obj, NULL)); + simple_a_set(obj, 42 * OVERRIDE_A_SIMPLE); + ck_assert_int_eq(simple_a_get(obj), 42 * OVERRIDE_A_SIMPLE); + eo_unref(obj); eo_shutdown();