during my first tests for Python 3.13 (hooray...) I noticed that some tests in T610 started to fail independent of that. It seems that with notmuch 0.38.1 on current Fedora rawhide, `notmuch_message_get_properties()` returns properties in a different order, while the tests expect a specific order. So I'm wondering:
If not there's some work to do making the tests independent of the order ...
T610-message-property: Testing message property API
PASS notmuch_message_{add,get,remove}_property
PASS testing string map binary search (via message properties)
PASS notmuch_message_get_properties: empty list
PASS notmuch_message_properties: one value
PASS notmuch_message_remove_all_properties
PASS notmuch_message_properties: multiple values
FAIL notmuch_message_properties: prefix
--- T610-message-property.7.EXPECTED 2023-11-23 12:39:05.368791821 +0000
+++ T610-message-property.7.OUTPUT 2023-11-23 12:39:05.370791961 +0000
@@ -1,7 +1,7 @@
= stdout =
testkey1 = alice
-testkey1 = bob
testkey1 = testvalue2
+testkey1 = bob
testkey3 = alice3
testkey3 = bob3
testkey3 = testvalue3
PASS notmuch_message_properties: modify during iteration
FAIL dump message properties
--- T610-message-property.9.PROPERTIES 2023-11-23 12:39:05.787821095 +0000
+++ T610-message-property.9.OUTPUT 2023-11-23 12:39:05.789821235 +0000
@@ -1 +1 @@
-#=
4EFC743A.3060609@april.org fancy%20key%20with%20%c3%a1cc%c3%a8nts=import%20value%20with%20= testkey1=alice testkey1=bob testkey1=testvalue2 testkey3=alice3 testkey3=bob3 testkey3=testvalue3
+#=
4EFC743A.3060609@april.org fancy%20key%20with%20%c3%a1cc%c3%a8nts=import%20value%20with%20= testkey1=testvalue2 testkey1=bob testkey1=alice testkey3=alice3 testkey3=bob3 testkey3=testvalue3
FAIL dump _only_ message properties
--- T610-message-property.10.EXPECTED 2023-11-23 12:39:05.815823052 +0000
+++ T610-message-property.10.OUTPUT 2023-11-23 12:39:05.817823191 +0000
@@ -1,2 +1,2 @@
#notmuch-dump batch-tag:3 properties
-#=
4EFC743A.3060609@april.org fancy%20key%20with%20%c3%a1cc%c3%a8nts=import%20value%20with%20= testkey1=alice testkey1=bob testkey1=testvalue2 testkey3=alice3 testkey3=bob3 testkey3=testvalue3
+#=
4EFC743A.3060609@april.org fancy%20key%20with%20%c3%a1cc%c3%a8nts=import%20value%20with%20= testkey1=testvalue2 testkey1=bob testkey1=alice testkey3=alice3 testkey3=bob3 testkey3=testvalue3
FAIL restore missing message property (single line)
--- T610-message-property.11.PROPERTIES 2023-11-23 12:39:06.042838911 +0000
+++ T610-message-property.11.OUTPUT 2023-11-23 12:39:06.043838981 +0000
@@ -1 +1 @@
-#=
4EFC743A.3060609@april.org fancy%20key%20with%20%c3%a1cc%c3%a8nts=import%20value%20with%20= testkey1=alice testkey1=bob testkey1=testvalue2 testkey3=alice3 testkey3=bob3 testkey3=testvalue3
+#=
4EFC743A.3060609@april.org fancy%20key%20with%20%c3%a1cc%c3%a8nts=import%20value%20with%20= testkey1=testvalue2 testkey1=bob testkey1=alice testkey3=alice3 testkey3=bob3 testkey3=testvalue3
FAIL restore missing message property (full dump)
--- T610-message-property.12.PROPERTIES 2023-11-23 12:39:06.276855260 +0000
+++ T610-message-property.12.OUTPUT 2023-11-23 12:39:06.277855330 +0000
@@ -1 +1 @@
-#=
4EFC743A.3060609@april.org fancy%20key%20with%20%c3%a1cc%c3%a8nts=import%20value%20with%20= testkey1=alice testkey1=bob testkey1=testvalue2 testkey3=alice3 testkey3=bob3 testkey3=testvalue3
+#=
4EFC743A.3060609@april.org fancy%20key%20with%20%c3%a1cc%c3%a8nts=import%20value%20with%20= testkey1=testvalue2 testkey1=bob testkey1=alice testkey3=alice3 testkey3=bob3 testkey3=testvalue3
FAIL restore clear extra message property
--- T610-message-property.13.PROPERTIES 2023-11-23 12:39:06.485869862 +0000
+++ T610-message-property.13.OUTPUT 2023-11-23 12:39:06.487870002 +0000
@@ -1 +1 @@
-#=
4EFC743A.3060609@april.org fancy%20key%20with%20%c3%a1cc%c3%a8nts=import%20value%20with%20= testkey1=alice testkey1=bob testkey1=testvalue2 testkey3=alice3 testkey3=bob3 testkey3=testvalue3
+#=
4EFC743A.3060609@april.org fancy%20key%20with%20%c3%a1cc%c3%a8nts=import%20value%20with%20= testkey1=testvalue2 testkey1=bob testkey1=alice testkey3=alice3 testkey3=bob3 testkey3=testvalue3
PASS test 'property:' queries: empty
PASS test 'property:' queries: single message
FAIL msg.get_property (python)
--- T610-message-property.16.EXPECTED 2023-11-23 12:39:06.601877966 +0000
+++ T610-message-property.16.OUTPUT 2023-11-23 12:39:06.603878106 +0000
@@ -1,2 +1,2 @@
-testkey1 = alice
+testkey1 = testvalue2
testkey3 = alice3
FAIL msg.get_properties (python)
--- T610-message-property.17.EXPECTED 2023-11-23 12:39:06.677883276 +0000
+++ T610-message-property.17.OUTPUT 2023-11-23 12:39:06.678883346 +0000
@@ -1,3 +1,3 @@
-testkey1 = alice
-testkey1 = bob
testkey1 = testvalue2
+testkey1 = bob
+testkey1 = alice
FAIL msg.get_properties (python, prefix)
--- T610-message-property.18.EXPECTED 2023-11-23 12:39:06.779890402 +0000
+++ T610-message-property.18.OUTPUT 2023-11-23 12:39:06.780890472 +0000
@@ -1,6 +1,6 @@
-testkey1 = alice
-testkey1 = bob
testkey1 = testvalue2
+testkey1 = bob
+testkey1 = alice
testkey3 = alice3
testkey3 = bob3
testkey3 = testvalue3
PASS msg.get_properties (python, exact)
PASS notmuch_message_remove_all_properties_with_prefix
PASS edit property on removed message without uncaught exception
PASS remove all properties on removed message without uncaught exception