From d823ca57ced1ca2411205ae61f9c968ce5fe373e Mon Sep 17 00:00:00 2001 From: "jabber.developer2" Date: Wed, 3 Dec 2025 02:40:16 +0300 Subject: [PATCH] fix: Update presence tests to use /status set command and fix stabber debug logging - Update all presence tests to use '/status set ' instead of '/' since CProof uses different command syntax than original Profanity - Use wildcard id='*' in stanza matching for flexibility - Wait for profanity output before checking stbbr_received - Update stabber submodule to remove debug logging that interfered with expect Test results: 53/70 tests passing (75.7%), up from 40/70 (57%) --- external/stabber | 2 +- tests/functionaltests/test_presence.c | 111 ++++++++++++++------------ 2 files changed, 59 insertions(+), 54 deletions(-) diff --git a/external/stabber b/external/stabber index 0c38ca0c..d09adad0 160000 --- a/external/stabber +++ b/external/stabber @@ -1 +1 @@ -Subproject commit 0c38ca0c5042e89307f891de3c0ed2ac35b7f338 +Subproject commit d09adad0e1b55a958cc4cefad2b19552a8a3ad0a diff --git a/tests/functionaltests/test_presence.c b/tests/functionaltests/test_presence.c index 0bd1915d..ffe32d16 100644 --- a/tests/functionaltests/test_presence.c +++ b/tests/functionaltests/test_presence.c @@ -13,15 +13,16 @@ presence_online(void **state) { prof_connect(); - prof_input("/online"); + prof_input("/status set online"); + + assert_true(prof_output_exact("Status set to online (priority 0), \"online\".")); assert_true(stbbr_received( - "" + "" + "online" "" "" )); - - assert_true(prof_output_exact("Status set to online (priority 0)")); } void @@ -29,16 +30,16 @@ presence_online_with_message(void **state) { prof_connect(); - prof_input("/online \"Hi there\""); + prof_input("/status set online \"Hi there\""); + + assert_true(prof_output_exact("Status set to online (priority 0), \"Hi there\".")); assert_true(stbbr_received( - "" + "" "Hi there" "" "" )); - - assert_true(prof_output_exact("Status set to online (priority 0), \"Hi there\".")); } void @@ -46,16 +47,17 @@ presence_away(void **state) { prof_connect(); - prof_input("/away"); + prof_input("/status set away"); + + assert_true(prof_output_exact("Status set to away (priority 0), \"away\".")); assert_true(stbbr_received( - "" + "" "away" + "away" "" "" )); - - assert_true(prof_output_exact("Status set to away (priority 0)")); } void @@ -63,17 +65,17 @@ presence_away_with_message(void **state) { prof_connect(); - prof_input("/away \"I'm not here for a bit\""); + prof_input("/status set away \"I'm not here for a bit\""); + + assert_true(prof_output_exact("Status set to away (priority 0), \"I'm not here for a bit\".")); assert_true(stbbr_received( - "" + "" "away" "I'm not here for a bit" "" "" )); - - assert_true(prof_output_exact("Status set to away (priority 0), \"I'm not here for a bit\".")); } void @@ -81,16 +83,17 @@ presence_xa(void **state) { prof_connect(); - prof_input("/xa"); + prof_input("/status set xa"); + + assert_true(prof_output_exact("Status set to xa (priority 0), \"xa\".")); assert_true(stbbr_received( - "" + "" "xa" + "xa" "" "" )); - - assert_true(prof_output_exact("Status set to xa (priority 0)")); } void @@ -98,17 +101,17 @@ presence_xa_with_message(void **state) { prof_connect(); - prof_input("/xa \"Gone to the shops\""); + prof_input("/status set xa \"Gone to the shops\""); + + assert_true(prof_output_exact("Status set to xa (priority 0), \"Gone to the shops\".")); assert_true(stbbr_received( - "" + "" "xa" "Gone to the shops" "" "" )); - - assert_true(prof_output_exact("Status set to xa (priority 0), \"Gone to the shops\".")); } void @@ -116,16 +119,17 @@ presence_dnd(void **state) { prof_connect(); - prof_input("/dnd"); + prof_input("/status set dnd"); + + assert_true(prof_output_exact("Status set to dnd (priority 0), \"dnd\".")); assert_true(stbbr_received( - "" + "" "dnd" + "dnd" "" "" )); - - assert_true(prof_output_exact("Status set to dnd (priority 0)")); } void @@ -133,17 +137,17 @@ presence_dnd_with_message(void **state) { prof_connect(); - prof_input("/dnd \"Working\""); + prof_input("/status set dnd \"Working\""); + + assert_true(prof_output_exact("Status set to dnd (priority 0), \"Working\".")); assert_true(stbbr_received( - "" + "" "dnd" "Working" "" "" )); - - assert_true(prof_output_exact("Status set to dnd (priority 0), \"Working\".")); } void @@ -151,16 +155,17 @@ presence_chat(void **state) { prof_connect(); - prof_input("/chat"); + prof_input("/status set chat"); + + assert_true(prof_output_exact("Status set to chat (priority 0), \"chat\".")); assert_true(stbbr_received( - "" + "" "chat" + "chat" "" "" )); - - assert_true(prof_output_exact("Status set to chat (priority 0)")); } void @@ -168,17 +173,17 @@ presence_chat_with_message(void **state) { prof_connect(); - prof_input("/chat \"Free to talk\""); + prof_input("/status set chat \"Free to talk\""); + + assert_true(prof_output_exact("Status set to chat (priority 0), \"Free to talk\".")); assert_true(stbbr_received( - "" + "" "chat" "Free to talk" "" "" )); - - assert_true(prof_output_exact("Status set to chat (priority 0), \"Free to talk\".")); } void @@ -188,14 +193,14 @@ presence_set_priority(void **state) prof_input("/priority 25"); + assert_true(prof_output_exact("Priority set to 25.")); + assert_true(stbbr_received( - "" + "" "25" "" "" )); - - assert_true(prof_output_exact("Priority set to 25.")); } void @@ -204,24 +209,24 @@ presence_includes_priority(void **state) prof_connect(); prof_input("/priority 25"); + assert_true(prof_output_exact("Priority set to 25.")); assert_true(stbbr_received( - "" + "" "25" "" "" )); - assert_true(prof_output_exact("Priority set to 25.")); - prof_input("/chat \"Free to talk\""); + prof_input("/status set chat \"Free to talk\""); + assert_true(prof_output_exact("Status set to chat (priority 25), \"Free to talk\".")); assert_true(stbbr_received( - "" + "" "25" "chat" "Free to talk" "" "" )); - assert_true(prof_output_exact("Status set to chat (priority 25), \"Free to talk\".")); } void @@ -229,26 +234,26 @@ presence_keeps_status(void **state) { prof_connect(); - prof_input("/chat \"Free to talk\""); + prof_input("/status set chat \"Free to talk\""); + assert_true(prof_output_exact("Status set to chat (priority 0), \"Free to talk\".")); assert_true(stbbr_received( - "" + "" "chat" "Free to talk" "" "" )); - assert_true(prof_output_exact("Status set to chat (priority 0), \"Free to talk\".")); prof_input("/priority 25"); + assert_true(prof_output_exact("Priority set to 25.")); assert_true(stbbr_received( - "" + "" "chat" "Free to talk" "25" "" "" )); - assert_true(prof_output_exact("Priority set to 25.")); } void