Running with gitlab-runner 16.4.1 (d89a789a)
  on gajim-docker e5YFqTrW, system ID: s_6f30b725890a
section_start:1714765435:prepare_executor
Preparing the "docker" executor
Using Docker executor with image gajim-test ...
Using docker image sha256:b7f6528a77338413543e9ea1f1dbe9177a787a649863e05fed55c8863e9037c5 for gajim-test ...
section_end:1714765438:prepare_executor
section_start:1714765438:prepare_script
Preparing environment
Running on runner-e5yfqtrw-project-85-concurrent-5 via v22019037948584228...
section_end:1714765440:prepare_script
section_start:1714765440:get_sources
Getting source from Git repository
Fetching changes...
Reinitialized existing Git repository in /builds/mimi89999/gajim/.git/
Checking out ec582a43 as detached HEAD (ref is pip_msys)...
Removing .coverage
Removing coverage.xml
Removing gajim/__pycache__/
Removing gajim/common/__pycache__/
Removing gajim/common/dbus/__pycache__/
Removing gajim/common/modules/__pycache__/
Removing gajim/common/storage/__pycache__/
Removing gajim/common/storage/archive/__pycache__/
Removing gajim/common/util/__pycache__/
Removing gajim/gtk/__pycache__/
Removing test/common/__pycache__/
Removing test/database/__pycache__/
Removing test/dialogs/__pycache__/
Removing test/gui/__pycache__/

Skipping Git submodules setup
section_end:1714765442:get_sources
section_start:1714765442:step_script
Executing "step_script" stage of the job script
Using docker image sha256:b7f6528a77338413543e9ea1f1dbe9177a787a649863e05fed55c8863e9037c5 for gajim-test ...
$ pip install git+https://dev.gajim.org/gajim/python-nbxmpp.git
Collecting git+https://dev.gajim.org/gajim/python-nbxmpp.git
  Cloning https://dev.gajim.org/gajim/python-nbxmpp.git to /tmp/pip-req-build-qc5s6s_g
  Running command git clone --filter=blob:none --quiet https://dev.gajim.org/gajim/python-nbxmpp.git /tmp/pip-req-build-qc5s6s_g
  Resolved https://dev.gajim.org/gajim/python-nbxmpp.git to commit cd11cc3f6f3cf51ff1c624d51848ccf7b0e73836
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Installing backend dependencies: started
  Installing backend dependencies: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Requirement already satisfied: precis-i18n>=1.0.0 in /usr/lib/python3/dist-packages (from nbxmpp==4.5.4) (1.0.5)
Requirement already satisfied: packaging in /usr/lib/python3/dist-packages (from nbxmpp==4.5.4) (23.0)
Requirement already satisfied: idna in /usr/lib/python3/dist-packages (from nbxmpp==4.5.4) (3.3)
Requirement already satisfied: PyGObject>=3.42.0 in /usr/lib/python3/dist-packages (from nbxmpp==4.5.4) (3.42.2)
Requirement already satisfied: pycairo>=1.16.0 in /opt/venv/lib/python3.11/site-packages (from PyGObject>=3.42.0->nbxmpp==4.5.4) (1.26.0)
Building wheels for collected packages: nbxmpp
  Building wheel for nbxmpp (pyproject.toml): started
  Building wheel for nbxmpp (pyproject.toml): finished with status 'done'
  Created wheel for nbxmpp: filename=nbxmpp-4.5.4-py3-none-any.whl size=230740 sha256=5809cc0a99d7d6b7bb3251208a94eaabb2755f0060759e5f3b5c558b91ec3d89
  Stored in directory: /tmp/pip-ephem-wheel-cache-m0qfr9ri/wheels/9d/57/11/8e30bdc9eb671209e3a4d6d3c1923109cbc22b0049565fa27d
Successfully built nbxmpp
Installing collected packages: nbxmpp
Successfully installed nbxmpp-4.5.4
$ coverage run --source=gajim -m unittest discover -s test -v
test_contact_object (common.test_contacts.ContactTest.test_contact_object) ... ok
test_month_day (common.test_get_uf_relative_time.GetRelativeTimeTest.test_month_day)
Test month_day: timestamp more than 7 days ago but less than 365 ... ok
test_sub_15_minutes (common.test_get_uf_relative_time.GetRelativeTimeTest.test_sub_15_minutes)
Test timedelta less than 15 minutes and more than 1 minute ago ... ok
test_sub_15_minutes_next_day (common.test_get_uf_relative_time.GetRelativeTimeTest.test_sub_15_minutes_next_day)
Test timedelta less than 15 minutes and it is the next day ... ok
test_sub_1_minute (common.test_get_uf_relative_time.GetRelativeTimeTest.test_sub_1_minute)
Test timedelta less than 1 minute ... ok
test_today (common.test_get_uf_relative_time.GetRelativeTimeTest.test_today)
Test today: same day and more than 15 minutes ago ... ok
test_weekday (common.test_get_uf_relative_time.GetRelativeTimeTest.test_weekday)
Test weekday: timestamp older than yesterday and less ... ok
test_year (common.test_get_uf_relative_time.GetRelativeTimeTest.test_year)
Test year: timestamp more than 365 days ago ... ok
test_yesterday_less_than_24h (common.test_get_uf_relative_time.GetRelativeTimeTest.test_yesterday_less_than_24h)
Test yesterday and less than 24h ago ... ok
test_yesterday_more_than_24h (common.test_get_uf_relative_time.GetRelativeTimeTest.test_yesterday_more_than_24h)
Test yesterday and more than 24h ago ... ok
test_highlight (common.test_message_needs_highlight.HighlightTest.test_highlight) ... ok
test_links_regexp_entire (common.test_regex.Test.test_links_regexp_entire) ... ok
test_extensions (common.test_sanitize_filename.SanitizeTest.test_extensions)
Filename extensions should be preserved when possible. ... ok
test_invalid_chars (common.test_sanitize_filename.SanitizeTest.test_invalid_chars)
Make sure invalid characters are removed in filenames ... ok
test_invalid_suffix (common.test_sanitize_filename.SanitizeTest.test_invalid_suffix)
Dots are not allowed at the end ... ok
test_long_names (common.test_sanitize_filename.SanitizeTest.test_long_names)
Make sure long names are truncated ... ok
test_reserved_words (common.test_sanitize_filename.SanitizeTest.test_reserved_words)
Make sure reserved Windows words are prefixed ... ok
test_unicode_normalization (common.test_sanitize_filename.SanitizeTest.test_unicode_normalization)
Names should be NFKD normalized ... ok
test_invalid_uris (common.test_styling.Test.test_invalid_uris) ... ok
test_jids (common.test_styling.Test.test_jids) ... ok
test_nonjids (common.test_styling.Test.test_nonjids) ... ok
test_styling (common.test_styling.Test.test_styling) ... ok
test_uris (common.test_styling.Test.test_uris) ... ok
test_uris_with_text (common.test_styling.Test.test_uris_with_text) ... ok
test_escape_iri_path_segment (common.test_text_util.Test.test_escape_iri_path_segment) ... ok
test_format_bytes_as_hex (common.test_text_util.Test.test_format_bytes_as_hex) ... ok
test_format_duration (common.test_text_util.Test.test_format_duration) ... ok
test_format_duration_width (common.test_text_util.Test.test_format_duration_width) ... ok
test_jid_to_iri (common.test_text_util.Test.test_jid_to_iri) ... ok
test_remove_invalid_xml_chars (common.test_text_util.Test.test_remove_invalid_xml_chars) ... ok
test_xmpp_query_type_handlers_dict (common.test_uri_util.Test.test_xmpp_query_type_handlers_dict) ... ok
test_join_correction_groupchat_occupant_id (database.test_corrections.CorrectionsTest.test_join_correction_groupchat_occupant_id) ... ok
test_join_correction_groupchat_resource (database.test_corrections.CorrectionsTest.test_join_correction_groupchat_resource) ... ok
test_join_correction_single_chat (database.test_corrections.CorrectionsTest.test_join_correction_single_chat) ... ok
test_markers_join (database.test_displayed_markers.DisplayedMarkersTest.test_markers_join) ... ok
test_markers_join_groupchat (database.test_displayed_markers.DisplayedMarkersTest.test_markers_join_groupchat) ... ok
test_encryption_join (database.test_encryption.EncryptionTest.test_encryption_join) ... ok
test_encryption_update (database.test_encryption.EncryptionTest.test_encryption_update) ... ok
test_error_join (database.test_errors.ErrorTest.test_error_join) ... ok
test_insert_error (database.test_errors.ErrorTest.test_insert_error) ... ok
test_filetransfer_join (database.test_filetransfers.ForeignKeyTest.test_filetransfer_join) ... ok
test_message_delete_cascade (database.test_foreign_keys.ForeignKeyTest.test_message_delete_cascade) ... ok
test_check_if_message_id_exists (database.test_methods.MethodsTest.test_check_if_message_id_exists) ... ok
test_check_if_stanza_id_exists (database.test_methods.MethodsTest.test_check_if_stanza_id_exists) ... ok
test_get_conversation_before_after (database.test_methods.MethodsTest.test_get_conversation_before_after) ... ok
test_get_conversation_jids (database.test_methods.MethodsTest.test_get_conversation_jids) ... ok
test_get_days_containing_messages (database.test_methods.MethodsTest.test_get_days_containing_messages) ... ok
test_get_first_message_meta_for_date (database.test_methods.MethodsTest.test_get_first_message_meta_for_date) ... ok
test_get_first_message_ts (database.test_methods.MethodsTest.test_get_first_message_ts) ... ok
test_get_last_conversation_row (database.test_methods.MethodsTest.test_get_last_conversation_row) ... ok
test_get_last_correctable_message (database.test_methods.MethodsTest.test_get_last_correctable_message) ... ok
test_get_last_message_ts (database.test_methods.MethodsTest.test_get_last_message_ts) ... ok
test_get_mam_archive_state (database.test_methods.MethodsTest.test_get_mam_archive_state) ... ok
test_get_recent_muc_nicks (database.test_methods.MethodsTest.test_get_recent_muc_nicks) ... ok
test_remove_history (database.test_methods.MethodsTest.test_remove_history) ... ok
test_reset_mam_archive_state (database.test_methods.MethodsTest.test_reset_mam_archive_state) ... ok
test_rollback (database.test_methods.MethodsTest.test_rollback) ... ok
test_search_archive (database.test_methods.MethodsTest.test_search_archive) ... ok
test_insert_moderation (database.test_moderations.ModerationTest.test_insert_moderation) ... ok
test_moderation_join (database.test_moderations.ModerationTest.test_moderation_join) ... ok
test_insert_occupant (database.test_occupants.OccupantTest.test_insert_occupant) ... ok
test_occupant_join (database.test_occupants.OccupantTest.test_occupant_join) ... ok
test_receipt_join (database.test_receipts.ReceiptTest.test_receipt_join) ... ok
test_security_labels_join (database.test_security_labels.SecurityLabelsTest.test_security_labels_join) ... ok
test_security_labels_update (database.test_security_labels.SecurityLabelsTest.test_security_labels_update) ... ok
test_insert_thread (database.test_threads.ThreadsTest.test_insert_thread) ... ok
test_uri_menus_dict (gui.test_menus.Test.test_uri_menus_dict) ... ok
test_xmpp_uri_menus_dict (gui.test_menus.Test.test_xmpp_uri_menus_dict) ... ok
test_generate_suggestions (gui.test_nick_completion.Test.test_generate_suggestions) ... ok
test_get_first_grapheme (gui.test_util.Test.test_get_first_grapheme) ... ok

----------------------------------------------------------------------
Ran 70 tests in 7.580s

OK
$ coverage report -mi
Name                                                  Stmts   Miss  Cover   Missing
-----------------------------------------------------------------------------------
gajim/__init__.py                                         6      0   100%
gajim/common/__init__.py                                  0      0   100%
gajim/common/app.py                                     364    259    29%   45-56, 134, 138, 142, 146, 154, 159-167, 171, 175-290, 295, 301-303, 310-311, 318-321, 325, 334-342, 346-350, 357-363, 370-372, 382-392, 396, 402, 406-408, 413-415, 432-453, 458-460, 476-480, 487-503, 507-509, 514-515, 519-525, 529-531, 535-543, 547, 551-557, 561-567, 571-614
gajim/common/application.py                             302    302     0%   5-459
gajim/common/call_manager.py                            247    247     0%   1-441
gajim/common/cert_store.py                               55     55     0%   5-84
gajim/common/client.py                                  409    409     0%   5-653
gajim/common/client_modules.py                          141     45    68%   14-57, 152
gajim/common/commands.py                                195    195     0%   5-313
gajim/common/config.py                                  239    145    39%   337-345, 351-366, 371-372, 377, 379, 384, 392, 396, 399-401, 404-410, 413-417, 420-422, 425-427, 430-433, 436-439, 443, 448, 454-462, 467-475, 479, 481, 484, 487, 491, 495-511, 514, 517, 520-525, 528-533, 536-544, 547-561, 564-566, 573, 576-580
gajim/common/configpaths.py                             102     36    65%   38-41, 47-51, 55, 59, 63, 71-86, 97-103, 127, 129, 132, 135, 139, 141-142, 160-161
gajim/common/const.py                                   343     44    87%   114, 186, 239-242, 246-249, 262, 266, 270, 274, 278, 282, 286, 290, 303, 307, 311, 315, 319, 323, 334, 338, 342, 346, 357, 832, 836, 840, 844, 848, 852, 856, 860, 864, 1121, 1124-1128
gajim/common/dbus/__init__.py                             0      0   100%
gajim/common/dbus/file_manager.py                        28     17    39%   23-24, 36-39, 42, 60-75, 79
gajim/common/dbus/location.py                            86     86     0%   7-127
gajim/common/dbus/logind.py                              57     57     0%   7-151
gajim/common/dbus/music_track.py                        111    111     0%   12-220
gajim/common/dbus/remote_control.py                     189    189     0%   5-394
gajim/common/dbus/system_style.py                        41     41     0%   5-81
gajim/common/events.py                                  608     14    98%   37-38, 164-166, 383, 387, 410-412, 803-806
gajim/common/exceptions.py                               14     14     0%   11-38
gajim/common/file_props.py                              119     88    26%   32, 36-38, 42, 47-51, 60-64, 71-75, 82-86, 90, 94, 98-107, 114-160, 164, 169-171, 177-178
gajim/common/filetransfer.py                             66     66     0%   6-96
gajim/common/ged.py                                      84     40    52%   53-59, 66-70, 76-99, 107, 115, 121-125, 132-133, 136-138
gajim/common/helpers.py                                 972    631    35%   100, 104-110, 124-127, 135-143, 151-156, 163-169, 173-175, 179-191, 195-201, 206-223, 230-247, 255, 282-283, 291-293, 297-312, 341, 358-362, 366-374, 385-389, 404-417, 435-450, 454-459, 463-472, 476-485, 489-499, 506-518, 525-528, 535-538, 545, 555-556, 561-571, 595, 619-626, 630-637, 641-663, 672-681, 687-693, 697-700, 704-710, 714-723, 734-746, 750-752, 756-761, 767-776, 784-786, 789-797, 805-815, 818-828, 831, 837-849, 853-870, 876-881, 892, 911, 925-926, 929, 946, 953-955, 967-969, 1022-1024, 1036-1084, 1089-1095, 1100-1106, 1111-1115, 1119, 1123-1125, 1129-1136, 1140-1141, 1149-1172, 1176, 1180-1188, 1192, 1228-1233, 1237-1244, 1248-1257, 1263-1280, 1286-1288, 1294-1296, 1301, 1314-1333, 1336, 1343, 1346, 1349, 1352, 1357-1366, 1371, 1374-1375, 1378-1390, 1399-1426, 1438-1449, 1453-1454, 1462-1474, 1480-1482, 1486-1492, 1499-1506, 1510-1519, 1523, 1530-1538, 1542-1550, 1554, 1558, 1564, 1570-1577, 1581-1582, 1586-1595, 1599-1612
gajim/common/i18n.py                                     82     45    45%   27, 31, 35-37, 41-43, 51-58, 75, 79, 90-91, 95-97, 101-105, 108-114, 117-140
gajim/common/iana.py                                     11      1    91%   15
gajim/common/idle.py                                    211    211     0%   12-377
gajim/common/jingle_content.py                          107    107     0%   9-261
gajim/common/jingle_ft.py                               319    319     0%   9-548
gajim/common/jingle_ftstates.py                         126    126     0%   5-226
gajim/common/jingle_rtp.py                              293    293     0%   9-583
gajim/common/jingle_session.py                          529    529     0%   19-1023
gajim/common/jingle_transport.py                        287    287     0%   9-515
gajim/common/logging_helpers.py                         160    160     0%   7-270
gajim/common/modules/__init__.py                         60     40    33%   20, 33-58, 65-67, 71-75, 79-83, 87-88, 92, 96-99
gajim/common/modules/adhoc_commands.py                    8      8     0%   5-20
gajim/common/modules/annotations.py                      29     29     0%   8-51
gajim/common/modules/base.py                            225     42    81%   87-94, 98, 101-106, 109-124, 127, 130-134, 137-140, 145, 149-151, 262-269
gajim/common/modules/bits_of_binary.py                  140    140     0%   7-215
gajim/common/modules/blocking.py                         90     90     0%   7-154
gajim/common/modules/bookmarks.py                       209    209     0%   7-308
gajim/common/modules/bytestream.py                      438    438     0%   17-739
gajim/common/modules/caps.py                            135    135     0%   10-240
gajim/common/modules/carbons.py                          19     19     0%   7-33
gajim/common/modules/chat_markers.py                     85     85     0%   7-174
gajim/common/modules/chatstates.py                      270    270     0%   7-462
gajim/common/modules/contacts.py                        741    429    42%   65, 74, 80-81, 91, 102, 108-112, 117, 123-124, 127-140, 143-157, 160-175, 180-193, 200-214, 225, 231-235, 238-242, 245-246, 266, 273, 289, 292, 296-300, 304, 308, 312, 316, 320, 323, 327, 331, 335-344, 347, 366-367, 370-372, 377-380, 384-387, 390-403, 406, 409-412, 415-418, 422-426, 429-431, 435-437, 442-449, 453-458, 462-467, 471-475, 478-479, 483-496, 499, 502, 506, 510, 513-522, 525-529, 538-542, 552-556, 559-566, 570-571, 575-578, 582-585, 589-592, 596-599, 603, 607, 610-611, 614, 618-620, 624, 628, 632-637, 642-644, 647-649, 653-654, 658-666, 670-674, 679-680, 685, 689-691, 695, 699, 703, 707, 713-715, 719, 723, 728-731, 735, 739-742, 746-752, 756-760, 764-766, 769-788, 791-794, 797-799, 803-804, 808, 811, 814-821, 832, 835-836, 839-840, 843-846, 850-853, 857-860, 864-867, 871-874, 878-881, 885-888, 891-892, 895-896, 899, 902-904, 908, 911, 914, 919-925, 929-930, 933-936, 939-941, 945, 949, 953-955, 959, 963, 966, 970, 974-976, 980, 984, 988-989, 993, 996-1002, 1006, 1010, 1014, 1018, 1028-1029, 1033, 1036-1037, 1041, 1045, 1049-1051, 1058-1066
gajim/common/modules/delimiter.py                        26     26     0%   7-46
gajim/common/modules/discovery.py                       163    163     0%   7-263
gajim/common/modules/entity_time.py                      25     25     0%   7-48
gajim/common/modules/gateway.py                          56     56     0%   7-95
gajim/common/modules/http_auth.py                        38     38     0%   7-74
gajim/common/modules/httpupload.py                      266    266     0%   7-456
gajim/common/modules/ibb.py                             162    162     0%   7-240
gajim/common/modules/iq.py                               43     43     0%   7-83
gajim/common/modules/jingle.py                          181    181     0%   21-300
gajim/common/modules/last_activity.py                    26     26     0%   7-50
gajim/common/modules/mam.py                             252    252     0%   7-504
gajim/common/modules/message.py                         276    276     0%   5-590
gajim/common/modules/misc.py                              9      9     0%   8-24
gajim/common/modules/moderations.py                      91     91     0%   17-234
gajim/common/modules/muc.py                             626    626     0%   8-1137
gajim/common/modules/omemo.py                           372    372     0%   9-658
gajim/common/modules/pep.py                              14     14     0%   7-26
gajim/common/modules/ping.py                             34     34     0%   7-65
gajim/common/modules/presence.py                        118    118     0%   7-287
gajim/common/modules/pubsub.py                           42     42     0%   13-94
gajim/common/modules/receipts.py                         56     56     0%   7-111
gajim/common/modules/register.py                         13     13     0%   7-33
gajim/common/modules/roster.py                          120    120     0%   7-201
gajim/common/modules/roster_item_exchange.py             71     71     0%   7-128
gajim/common/modules/search.py                           64     64     0%   7-105
gajim/common/modules/security_labels.py                  41     41     0%   7-70
gajim/common/modules/software_version.py                 23     23     0%   7-45
gajim/common/modules/user_avatar.py                      54     54     0%   7-103
gajim/common/modules/user_location.py                    66     66     0%   7-108
gajim/common/modules/user_nickname.py                    30     30     0%   7-57
gajim/common/modules/user_tune.py                        64     64     0%   7-104
gajim/common/modules/util.py                            102     72    29%   33-42, 48-57, 61-75, 79-86, 90-93, 98, 102-119, 123-125, 133-135, 142-166
gajim/common/modules/vcard4.py                            8      8     0%   7-22
gajim/common/modules/vcard_avatars.py                   147    147     0%   7-256
gajim/common/modules/vcard_temp.py                       17     17     0%   7-35
gajim/common/multimedia_helpers.py                       63     63     0%   7-115
gajim/common/optparser.py                               160    134    16%   34-35, 39-83, 86-97, 100-117, 120-141, 144-151, 154-159, 162-165, 168-169, 172-174, 177-183, 187-189, 193-201, 205-216
gajim/common/passwords.py                               121    121     0%   13-211
gajim/common/preview.py                                 391    281    28%   83-111, 116, 120, 124, 128-129, 133, 137, 141, 145, 149, 153-159, 163-165, 169-171, 175-177, 180-185, 188, 191-192, 197-217, 220, 223, 229-233, 240, 243, 248-250, 259-294, 302-324, 333-363, 373-380, 393-409, 416-439, 446-464, 472-484, 493-516, 523-524, 528-576, 582-594, 600-627, 630-631
gajim/common/preview_helpers.py                         290    233    20%   47-49, 66-84, 91-131, 139-147, 155-192, 196-238, 243-255, 259-288, 292-309, 318-332, 341-364, 368-384, 388-390, 395-400, 406-418, 440-458, 464-476, 480-482
gajim/common/proxy65_manager.py                         342    342     0%   9-496
gajim/common/regex.py                                    56      0   100%
gajim/common/setting_values.py                           57      0   100%
gajim/common/settings.py                                888    580    35%   105, 138-144, 147-153, 165-172, 184-209, 216, 231, 234, 240-247, 256-265, 274-277, 283-296, 299, 302-303, 318, 321-323, 329-334, 337-383, 389-429, 432-463, 467-497, 501-506, 509-522, 525-540, 543-551, 555-568, 571-574, 587-588, 611, 615, 619, 623, 627, 631, 644, 650, 656, 662, 668, 675, 678-680, 684, 688-695, 705-714, 717, 724-737, 740-743, 748, 759-766, 769, 772-777, 780-784, 787-792, 798, 804, 810, 817, 820, 824-825, 832, 839, 846, 854, 857, 861, 865-872, 885, 893, 901, 909-949, 957, 965, 973, 981-1040, 1048-1055, 1063, 1071, 1079-1095, 1103, 1111, 1119-1155, 1161-1163, 1170-1186, 1192-1198, 1205-1218, 1221-1227, 1230, 1233-1237, 1244-1257, 1260-1266, 1269, 1272-1275, 1278-1279, 1282-1293, 1300, 1308, 1315-1327, 1334, 1340, 1347-1356, 1359, 1362-1374, 1377-1382, 1385-1386, 1389-1395, 1402, 1406, 1410-1415, 1419-1421
gajim/common/socks5.py                                  985    985     0%   11-1380
gajim/common/sound.py                                   106    106     0%   5-166
gajim/common/storage/__init__.py                          0      0   100%
gajim/common/storage/archive/__init__.py                  0      0   100%
gajim/common/storage/archive/const.py                    11      0   100%
gajim/common/storage/archive/migration.py               276    197    29%   102-118, 121-123, 126-176, 179-219, 222-227, 235-278, 281-360, 363-375, 378-390, 398-417, 427-462, 467-508, 512
gajim/common/storage/archive/models.py                  313      8    97%   52-53, 435, 721, 724-727
gajim/common/storage/archive/storage.py                 461     97    79%   87, 94-97, 102-104, 162, 211, 255, 307, 320-334, 346-360, 367-368, 374-375, 381, 526-547, 554-568, 578-582, 621-657, 860-876, 917-921, 926-930, 938-955, 962-977
gajim/common/storage/base.py                            334    120    64%   65-70, 76, 80, 88, 99, 107, 111, 119, 126, 137-151, 159-175, 202-204, 210, 213, 219, 222, 225-226, 242, 246-251, 257-260, 265-268, 271, 278-288, 292-294, 298, 303-309, 330-331, 339, 352-358, 369, 388-392, 395, 398, 401-406, 411-413, 416, 422-428, 431-434, 485, 503, 508, 512-517
gajim/common/storage/cache.py                           206    101    51%   116-119, 124-127, 131-132, 135-136, 145, 153-161, 164, 168-171, 190-191, 206-211, 227-249, 253-263, 267-276, 280-282, 292-302, 306-315, 325-339, 360-361, 365-367, 377-384, 388-390, 394-396
gajim/common/storage/draft.py                            18     18     0%   5-30
gajim/common/storage/events/__init__.py                   0      0   100%
gajim/common/storage/events/models.py                    22     22     0%   5-39
gajim/common/storage/events/storage.py                   48     48     0%   5-109
gajim/common/storage/omemo.py                           378    378     0%   8-771
gajim/common/structs.py                                 220    121    45%   54-66, 70, 74, 78, 102-143, 146-152, 155, 159, 163, 167, 171, 175-176, 180-189, 192, 196, 201, 206, 219-224, 255-260, 292-308, 311-332, 336-345
gajim/common/styling.py                                 277      9    97%   63-65, 106, 178, 183, 206, 238, 444
gajim/common/task_manager.py                             66     66     0%   5-98
gajim/common/types.py                                    43     13    70%   23-38
gajim/common/util/__init__.py                             0      0   100%
gajim/common/util/classes.py                              8      3    62%   16-19
gajim/common/util/datetime.py                            10      2    80%   15-16
gajim/common/util/decorators.py                          25     25     0%   5-42
gajim/common/util/http.py                                18     10    44%   19-30, 34-35
gajim/common/util/text.py                                43      1    98%   44
gajim/common/winapi/__init__.py                           0      0   100%
gajim/common/winapi/system_style.py                      36     36     0%   7-61
gajim/gtk/__init__.py                                     0      0   100%
gajim/gtk/about.py                                       59     59     0%   5-81
gajim/gtk/account_page.py                               106    106     0%   5-169
gajim/gtk/account_side_bar.py                           115    115     0%   5-176
gajim/gtk/account_wizard.py                             773    773     0%   5-1182
gajim/gtk/accounts.py                                   573    573     0%   5-1197
gajim/gtk/add_contact.py                                331    331     0%   5-509
gajim/gtk/adhoc.py                                      290    290     0%   5-428
gajim/gtk/advanced_config.py                            157    157     0%   13-265
gajim/gtk/app_page.py                                   141    141     0%   5-223
gajim/gtk/app_side_bar.py                                50     50     0%   5-79
gajim/gtk/application.py                                485    485     0%   26-885
gajim/gtk/apply_button_box.py                            43     43     0%   5-66
gajim/gtk/assistant.py                                  193    193     0%   5-301
gajim/gtk/avatar.py                                     376    376     0%   5-625
gajim/gtk/avatar_selector.py                            516    516     0%   8-798
gajim/gtk/blocking.py                                    90     90     0%   5-133
gajim/gtk/bookmarks.py                                   31     31     0%   5-56
gajim/gtk/builder.py                                     46     46     0%   5-79
gajim/gtk/call_window.py                                191    191     0%   5-282
gajim/gtk/certificate_dialog.py                         114    114     0%   5-182
gajim/gtk/change_password.py                            193    193     0%   5-270
gajim/gtk/chat_action_processor.py                      249    249     0%   5-362
gajim/gtk/chat_banner.py                                279    279     0%   5-450
gajim/gtk/chat_filter.py                                 44     44     0%   5-68
gajim/gtk/chat_function_page.py                         324    324     0%   5-497
gajim/gtk/chat_list.py                                  470    470     0%   5-712
gajim/gtk/chat_list_row.py                              408    408     0%   5-701
gajim/gtk/chat_list_stack.py                            197    197     0%   5-346
gajim/gtk/chat_page.py                                  214    214     0%   5-378
gajim/gtk/chat_stack.py                                 502    502     0%   5-903
gajim/gtk/component_search.py                           218    218     0%   7-337
gajim/gtk/const.py                                       98      5    95%   62, 120, 124, 128, 131
gajim/gtk/contact_info.py                               360    360     0%   5-560
gajim/gtk/contact_settings.py                            20     20     0%   5-47
gajim/gtk/contacts_flowbox.py                            82     82     0%   4-120
gajim/gtk/control.py                                    549    549     0%   5-1082
gajim/gtk/conversation/__init__.py                        0      0   100%
gajim/gtk/conversation/code_widget.py                    90     90     0%   5-126
gajim/gtk/conversation/jump_to_end_button.py             55     55     0%   5-87
gajim/gtk/conversation/message_selection.py              29     29     0%   5-49
gajim/gtk/conversation/message_widget.py                107    107     0%   5-147
gajim/gtk/conversation/plain_widget.py                   99     99     0%   5-138
gajim/gtk/conversation/quote_widget.py                   12     12     0%   5-19
gajim/gtk/conversation/rows/__init__.py                   0      0   100%
gajim/gtk/conversation/rows/base.py                      43     43     0%   5-60
gajim/gtk/conversation/rows/call.py                     162    162     0%   5-228
gajim/gtk/conversation/rows/command_output.py            34     34     0%   5-50
gajim/gtk/conversation/rows/date.py                      19     19     0%   5-32
gajim/gtk/conversation/rows/encryption_info.py           47     47     0%   5-70
gajim/gtk/conversation/rows/file_transfer.py             90     90     0%   5-142
gajim/gtk/conversation/rows/file_transfer_jingle.py     258    258     0%   5-368
gajim/gtk/conversation/rows/info.py                      31     31     0%   5-54
gajim/gtk/conversation/rows/message.py                  298    298     0%   5-462
gajim/gtk/conversation/rows/muc_join_left.py             48     48     0%   5-82
gajim/gtk/conversation/rows/muc_subject.py               48     48     0%   5-76
gajim/gtk/conversation/rows/read_marker.py               37     37     0%   5-58
gajim/gtk/conversation/rows/scroll_hint.py               22     22     0%   5-37
gajim/gtk/conversation/rows/user_status.py               42     42     0%   5-65
gajim/gtk/conversation/rows/widgets.py                  183    183     0%   5-271
gajim/gtk/conversation/view.py                          547    547     0%   5-853
gajim/gtk/css_config.py                                 417    417     0%   7-647
gajim/gtk/dataform.py                                   591    591     0%   5-964
gajim/gtk/db_migration.py                                47     47     0%   5-99
gajim/gtk/dialogs.py                                    166    166     0%   5-331
gajim/gtk/discovery.py                                 1311   1311     0%   34-2183
gajim/gtk/emoji_data_gtk.py                              97     97     0%   5-213
gajim/gtk/exception.py                                  142    142     0%   10-260
gajim/gtk/features.py                                   102    102     0%   12-210
gajim/gtk/file_transfer_selector.py                     184    184     0%   5-313
gajim/gtk/filechoosers.py                               129    129     0%   7-240
gajim/gtk/filetransfer.py                               671    671     0%   10-1051
gajim/gtk/groupchat_affiliation.py                      196    196     0%   5-313
gajim/gtk/groupchat_config.py                            70     70     0%   5-108
gajim/gtk/groupchat_creation.py                         214    214     0%   5-313
gajim/gtk/groupchat_details.py                          139    139     0%   5-215
gajim/gtk/groupchat_info.py                             178    178     0%   5-312
gajim/gtk/groupchat_invitation.py                        86     86     0%   5-118
gajim/gtk/groupchat_inviter.py                          259    259     0%   5-385
gajim/gtk/groupchat_join.py                             139    139     0%   6-200
gajim/gtk/groupchat_manage.py                           184    184     0%   4-287
gajim/gtk/groupchat_nick.py                              32     32     0%   5-46
gajim/gtk/groupchat_nick_completion.py                   95     49    48%   44-112, 118, 122, 151-160
gajim/gtk/groupchat_outcasts.py                         151    151     0%   5-230
gajim/gtk/groupchat_roster.py                           375    375     0%   5-649
gajim/gtk/groupchat_settings.py                          21     21     0%   5-71
gajim/gtk/groupchat_state.py                             73     73     0%   5-124
gajim/gtk/groupchat_voice_requests_button.py             89     89     0%   5-140
gajim/gtk/gstreamer.py                                   26     26     0%   5-36
gajim/gtk/history_export.py                             144    144     0%   5-214
gajim/gtk/history_sync.py                               206    206     0%   5-307
gajim/gtk/main.py                                       778    778     0%   5-1466
gajim/gtk/main_stack.py                                  54     54     0%   5-84
gajim/gtk/mam_preferences.py                            106    106     0%   5-163
gajim/gtk/manage_sounds.py                               93     93     0%   5-156
gajim/gtk/menus.py                                      420    338    20%   60-71, 75-102, 106-116, 120-126, 130-136, 141-169, 173-208, 213-220, 226-292, 296-298, 308, 325, 330, 337, 345, 352-354, 363-365, 373, 382, 401-412, 421-444, 448-454, 458-463, 467-480, 485-493, 497-502, 511-562, 570-578, 584-615, 622-646, 654-673, 677-686, 701-800, 804-832, 837-843, 847-857, 861-865
gajim/gtk/message_actions_box.py                        444    444     0%   5-702
gajim/gtk/message_input.py                              287    287     0%   10-469
gajim/gtk/notification.py                               272    272     0%   17-475
gajim/gtk/notification_manager.py                       343    343     0%   5-535
gajim/gtk/omemo_trust_manager.py                        272    272     0%   7-453
gajim/gtk/password_dialog.py                             51     51     0%   5-80
gajim/gtk/pep_config.py                                 176    176     0%   5-261
gajim/gtk/plugins.py                                    311    311     0%   5-475
gajim/gtk/preferences.py                                331    331     0%   5-992
gajim/gtk/preview.py                                    175    175     0%   5-253
gajim/gtk/preview_audio.py                              355    355     0%   5-631
gajim/gtk/preview_audio_analyzer.py                     109    109     0%   5-158
gajim/gtk/preview_audio_visualizer.py                   129    129     0%   5-263
gajim/gtk/profile.py                                    273    273     0%   6-426
gajim/gtk/proxies.py                                    191    191     0%   5-238
gajim/gtk/referenced_message.py                         142    142     0%   5-236
gajim/gtk/remove_account.py                             158    158     0%   5-230
gajim/gtk/resource_selector.py                           94     94     0%   5-150
gajim/gtk/roster.py                                     468    468     0%   5-749
gajim/gtk/roster_item_exchange.py                       160    160     0%   6-256
gajim/gtk/search_view.py                                303    303     0%   5-458
gajim/gtk/security_label_selector.py                    100    100     0%   5-153
gajim/gtk/server_info.py                                236    236     0%   5-373
gajim/gtk/service_registration.py                       134    134     0%   5-198
gajim/gtk/settings.py                                   596    596     0%   7-933
gajim/gtk/sidebar_switcher.py                            66     66     0%   5-96
gajim/gtk/ssl_error_dialog.py                            50     50     0%   5-87
gajim/gtk/start_chat.py                                 716    716     0%   5-1035
gajim/gtk/status_icon.py                                215    215     0%   12-337
gajim/gtk/status_message_selector.py                     67     67     0%   5-101
gajim/gtk/status_selector.py                             98     98     0%   5-149
gajim/gtk/structs.py                                     72     17    76%   82-86, 91-98, 103-109
gajim/gtk/synchronize_accounts.py                       115    115     0%   5-187
gajim/gtk/themes.py                                     239    239     0%   7-430
gajim/gtk/tooltips.py                                   232    232     0%   17-383
gajim/gtk/types.py                                       21     21     0%   7-41
gajim/gtk/util.py                                       669    513    23%   69-70, 74, 82-100, 110-126, 135-151, 155-161, 166-169, 173-183, 187-199, 206-212, 219-228, 232-239, 243-247, 253-256, 264-277, 281-288, 300-310, 322-324, 329-336, 340, 344, 348-351, 355-358, 363-365, 369, 373-375, 380-386, 394, 398-400, 404-406, 410-417, 421-426, 430-434, 441-443, 447-459, 463-465, 469-476, 480-486, 490-495, 500-504, 509-512, 515, 518-525, 529-533, 539-546, 550-552, 557-565, 569-572, 581-603, 613-626, 634-656, 660-667, 672-675, 682-684, 690-720, 725-739, 743-754, 758-763, 770-782, 786-795, 799, 807-808, 811, 815-817, 834-851, 855, 859-872, 877-889, 894-907, 910-912, 917-926, 929-942, 954-955, 959-965, 987-999, 1003-1006, 1013-1026, 1031, 1035-1039, 1045-1046, 1049-1051, 1062-1066, 1076-1084, 1087, 1090-1091, 1094-1095
gajim/gtk/vcard_grid.py                                 483    483     0%   5-805
gajim/gtk/video_preview.py                               98     98     0%   5-138
gajim/gtk/workspace_dialog.py                           115    115     0%   5-172
gajim/gtk/workspace_side_bar.py                         238    238     0%   5-405
gajim/gtk/xml_console.py                                340    340     0%   5-556
gajim/gui_interface.py                                  101    101     0%   24-216
gajim/main.py                                           101    101     0%   7-160
gajim/plugins/__init__.py                                 2      2     0%   3-5
gajim/plugins/events.py                                  12     12     0%   5-22
gajim/plugins/gajimplugin.py                            111    111     0%   5-190
gajim/plugins/helpers.py                                 14     14     0%   6-34
gajim/plugins/manifest.py                                63     63     0%   5-98
gajim/plugins/pluginmanager.py                          359    359     0%   5-656
gajim/plugins/plugins_i18n.py                            18     18     0%   7-31
gajim/plugins/repository.py                             167    167     0%   5-258
gajim/remote.py                                          64     64     0%   5-146
-----------------------------------------------------------------------------------
TOTAL                                                 49449  44586    10%
$ coverage xml -i
Wrote XML report to coverage.xml
section_end:1714765488:step_script
section_start:1714765488:upload_artifacts_on_success
Uploading artifacts for successful job
Uploading artifacts...
coverage.xml: found 1 matching artifact files and directories 
Uploading artifacts as "cobertura" to coordinator... 201 Created  id=56625 responseStatus=201 Created token=64_2HYwK
section_end:1714765489:upload_artifacts_on_success
section_start:1714765489:cleanup_file_variables
Cleaning up project directory and file based variables
section_end:1714765489:cleanup_file_variables
Job succeeded