File 1244-Add-tests-for-schema-merge-when-using-external-backe.patch of Package erlang

From 95726dc41669b30366e9fc58c651c18b3ec3b707 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20W=C4=85sowski?= <michal@erlang.org>
Date: Thu, 6 Mar 2025 09:19:26 +0100
Subject: [PATCH 2/2] Add tests for schema merge when using external backend

---
 .../test/mnesia_external_backend_test.erl     | 22 +++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/lib/mnesia/test/mnesia_external_backend_test.erl b/lib/mnesia/test/mnesia_external_backend_test.erl
index 0fcb075ea8..f0a58b16d6 100644
--- a/lib/mnesia/test/mnesia_external_backend_test.erl
+++ b/lib/mnesia/test/mnesia_external_backend_test.erl
@@ -27,7 +27,8 @@
 -export([
     conversion_from_external_to_disc_copies_should_not_result_in_data_loss_after_node_restart/1,
     backup_and_restore_should_work_with_external_backend/1,
-    schema_creation_should_work_when_external_tables_exist/1
+    schema_creation_should_work_when_external_tables_exist/1,
+    schema_merge_should_work_when_node_is_removed_from_the_cluster_and_later_rejoins/1
 ]).
 
 -include("mnesia_test_lib.hrl").
@@ -37,7 +38,8 @@
 all() -> [
     conversion_from_external_to_disc_copies_should_not_result_in_data_loss_after_node_restart,
     backup_and_restore_should_work_with_external_backend,
-    schema_creation_should_work_when_external_tables_exist
+    schema_creation_should_work_when_external_tables_exist,
+    schema_merge_should_work_when_node_is_removed_from_the_cluster_and_later_rejoins
 ].
 
 groups() ->
@@ -166,6 +168,22 @@ schema_creation_should_work_when_external_tables_exist(Config) when is_list(Conf
     Ext = proplists:get_value(default_properties, Config, ?BACKEND),
     ?match(ok, mnesia:create_schema([Node], Ext)).
 
+schema_merge_should_work_when_node_is_removed_from_the_cluster_and_later_rejoins(Config) when is_list(Config) ->
+    [N1, N2] = All = ?acquire_nodes(2, Config),
+
+    ?match({atomic,ok}, mnesia:create_table(table, [
+        {type, set},
+        {record_name, some_rec},
+        {attributes, record_info(fields, some_rec)},
+        {ext_ram_copies, [N1, N2]}
+    ])),
+
+    ?match([], mnesia_test_lib:kill_mnesia([N2])),
+    ?match({atomic, ok}, mnesia:del_table_copy(schema, N2)),
+
+    ?match([], mnesia_test_lib:start_mnesia([N2])),
+    ?verify_mnesia(All, []).
+
 load_backup(BUP) ->
     ?match(ok, mnesia:install_fallback(BUP)),
     ?match(stopped, mnesia:stop()),
-- 
2.43.0

openSUSE Build Service is sponsored by