Skip to content

Commit 5d8df20

Browse files
mmathesiussgallagher
authored andcommitted
Include static_context attribute for StreamV2 "equals" comparison
Signed-off-by: Merlin Mathesius <[email protected]>
1 parent c8ef49d commit 5d8df20

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

modulemd/modulemd-module-stream-v2.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,14 @@ modulemd_module_stream_v2_equals (ModulemdModuleStream *self_1,
154154
return FALSE;
155155
}
156156

157+
/* Test the negations of static_context just in case somehow they are
158+
* different non-zero values
159+
*/
160+
if (!v2_self_1->static_context != !v2_self_2->static_context)
161+
{
162+
return FALSE;
163+
}
164+
157165
if (!modulemd_buildopts_equals (v2_self_1->buildopts, v2_self_2->buildopts))
158166
{
159167
return FALSE;

modulemd/tests/test-modulemd-modulestream.c

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2262,6 +2262,42 @@ module_stream_v2_test_equals (void)
22622262
g_clear_object (&stream_1);
22632263
g_clear_object (&stream_2);
22642264
g_clear_object (&entry_1);
2265+
2266+
/* Test equality of 2 streams with same NSVC and static_context attributes */
2267+
stream_1 = modulemd_module_stream_v2_new ("name_1", "stream_1");
2268+
modulemd_module_stream_set_version (MODULEMD_MODULE_STREAM (stream_1), 11);
2269+
modulemd_module_stream_set_context (MODULEMD_MODULE_STREAM (stream_1),
2270+
"context_1");
2271+
modulemd_module_stream_v2_set_static_context (stream_1);
2272+
2273+
stream_2 = modulemd_module_stream_v2_new ("name_1", "stream_1");
2274+
modulemd_module_stream_set_version (MODULEMD_MODULE_STREAM (stream_2), 11);
2275+
modulemd_module_stream_set_context (MODULEMD_MODULE_STREAM (stream_2),
2276+
"context_1");
2277+
modulemd_module_stream_v2_set_static_context (stream_2);
2278+
2279+
g_assert_true (modulemd_module_stream_equals (
2280+
(ModulemdModuleStream *)stream_1, (ModulemdModuleStream *)stream_2));
2281+
g_clear_object (&stream_1);
2282+
g_clear_object (&stream_2);
2283+
2284+
/* Test equality of 2 streams with same NSVC but different static_context attributes */
2285+
stream_1 = modulemd_module_stream_v2_new ("name_1", "stream_1");
2286+
modulemd_module_stream_set_version (MODULEMD_MODULE_STREAM (stream_1), 11);
2287+
modulemd_module_stream_set_context (MODULEMD_MODULE_STREAM (stream_1),
2288+
"context_1");
2289+
modulemd_module_stream_v2_set_static_context (stream_1);
2290+
2291+
stream_2 = modulemd_module_stream_v2_new ("name_1", "stream_1");
2292+
modulemd_module_stream_set_version (MODULEMD_MODULE_STREAM (stream_2), 11);
2293+
modulemd_module_stream_set_context (MODULEMD_MODULE_STREAM (stream_2),
2294+
"context_1");
2295+
modulemd_module_stream_v2_unset_static_context (stream_2);
2296+
2297+
g_assert_false (modulemd_module_stream_equals (
2298+
(ModulemdModuleStream *)stream_1, (ModulemdModuleStream *)stream_2));
2299+
g_clear_object (&stream_1);
2300+
g_clear_object (&stream_2);
22652301
}
22662302

22672303

0 commit comments

Comments
 (0)