Commit Graph

52 Commits

Author SHA1 Message Date
Steffen Jaeckel
988d3663d1 Introduce tests/prof_cmocka.h
As 9f2abc75 accidentally got the ordering of some of the includes wrong,
I decided to propose my initial solution again.

Additional to that, I've opened a MR against CMocka to solve this on
their side, since I believe that the current way this is done is not
sustainable [0].

[0] https://gitlab.com/cmocka/cmocka/-/merge_requests/91

Fixes: 9f2abc75 ("Fix tests with gcc15 (uintptr_t)")
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>

CProof note: our new tests need to also be updated.
2025-09-10 14:11:03 +02:00
65cf9ddb9c fix(cmd_sub): Prevent crash with malformed JID in /sub command
Added null check for jidp in cmd_sub to handle jid_create returning NULL.

Crash occurred when processing malformed JID inputs like @example.com.

Ensures robust handling of invalid JIDs.

Fixes #22
2025-09-01 23:29:26 +02:00
f4405d114a Add unit tests for forced encryption check function
All checks were successful
CI / Check coding style (pull_request) Successful in 35s
CI / Check spelling (pull_request) Successful in 18s
CI / Linux (debian) (pull_request) Successful in 10m28s
CI / Linux (ubuntu) (pull_request) Successful in 10m51s
CI / Linux (arch) (pull_request) Successful in 13m17s
CI / Check spelling (push) Successful in 17s
CI / Check coding style (push) Successful in 33s
CI / Linux (arch) (push) Successful in 12m53s
CI / Linux (ubuntu) (push) Successful in 12m56s
CI / Linux (debian) (push) Successful in 13m4s
2025-08-27 16:48:27 +02:00
Steffen Jaeckel
9fc0326428 Add Valgrind to CI
* Also pass `$*` to `configure` when invoking `ci-build.sh`, so one can
  e.g. run `./ci-build.sh --without-xscreensaver`

Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2025-03-11 12:15:09 +01:00
Steffen Jaeckel
c0da36c48d Rage-cleanup.
While trying to get the unit tests working again I stumbled over all those
things that I thought could be better^TM.

Now we also know "TODO: why does this make the test fail?" - because
the unit tests are brittle AF ... and we have to init the subsystems
we use in the test, otherwise the cleanup will fail...

BTW. you can now also only run a single test ... or a pattern or so ...
you'd have to read how `cmocka_set_test_filter()` works exactly.

Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2025-03-10 11:45:15 +01:00
ike08
d35a7a7f7e Refactor tests to use the new cmocka test runner
## Summary

Fixes https://github.com/profanity-im/profanity/issues/1907  

Update functional and unit test code to comply with the current cmocka test runner.  

## Changes

- `UnitTest` struct to `CMUnitTest` struct
- `unit_test()` macro to `cmocka_unit_test(f)` macro
- `unit_test_setup_teardown()` macro to `cmocka_unit_test_setup_teardown` macro
- `run_tests()` macro to `cmocka_run_group_tests()` function
- Setup and teardown functions return `int` instead of `void`

## Testing

### Unit Tests

`make check`

### Functional Tests

I did not compile or run functional tests because they are *shelved* for now.

### Valgrind

I'm not entirely sure how to fun Valgrind in this case. I did not do fancy memory management, so it should be fine.
2023-11-01 18:30:08 -06:00
John Hernandez
5b8b9074a2 Add nickname support for /roster remove
Add support of name/nickname instead of only JID for `/roster remove` command.

Add tests for it as well.
2023-04-13 16:41:21 +02:00
Steffen Jaeckel
2925e85cd6 add test-case for #1761
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
2023-03-11 15:05:03 +01:00
Dustin Lagoy
e4bf7335d8 Add unit tests for roster_get_display_name 2021-06-30 18:58:07 -04:00
William Wennerström
867d895469 Add tests for format_call_external_argv 2020-12-07 16:16:15 +01:00
William Wennerström
1d2c0a8836 Move unique_filename_from_url functions to common 2020-12-04 16:13:13 +01:00
William Wennerström
1bb6cecee6 Fix stubs and move some tests to http_common 2020-11-16 21:58:10 +01:00
William Wennerström
a0cf0844ab Remove unsafe Conent-Disposition inferring 2020-11-16 21:58:09 +01:00
William Wennerström
eebf54c859 Infer filename from content-disposition or URL
The Content-Disposition inferring is probably a bad idea security wise,
so I am going to remove it.
2020-11-16 21:58:09 +01:00
Michael Vetter
a2726b6a7d Apply coding style 2020-07-07 14:18:57 +02:00
Michael Vetter
a4cadf78fa Revert "Apply coding style"
This reverts commit 9b55f2dec0.

Sorting the includes creates some problems.
2020-07-07 13:53:30 +02:00
Michael Vetter
9b55f2dec0 Apply coding style
Regards https://github.com/profanity-im/profanity/issues/1396
2020-07-07 09:43:28 +02:00
Philip Flohr
5b7f9dffbc Fix broken support for case-sensitive account names
Don't lower account name before calling accounts_get_account().
Only lower if there is no account with the given name and the name is
interpreted as a jid.
Updated unittests to test this behaviour.

Fixes #725

.
2019-02-22 13:08:08 +01:00
Dmitry Podgorny
e3f2ca7d10 tests: remove cflag -w and fix warnings
The flag hides errors. But we want unit tests to be correct in order
to reveal errors in the main code.

The patch removes tests_unittests_unittests_CFLAGS which makes autotools
use AM_CFLAGS instead. Therefore, unit tests are built with flags
derived from configure.ac.
2018-10-31 18:35:59 +02:00
Michael Vetter
47f90d7a39 Merge pull request #991 from paulfariello/feature/xep-0050
Add support for xep 0050 ad-hoc commands, without multi-step
2018-09-27 17:27:37 +02:00
Michael Vetter
82f8083b85 Move p_sha1_hash() to stanza.c
Move `p_sha1_hash()` from `common.c` to	`xmpp/stanza.c` as it is only
used in this file and now depends on libstrophe so xmpp is a better
namespace folder.
Renaming it as `_stanza_create_sha1_hash()`. And making static since
only used here.

The function cannot be tested in the unit tests anymore.
Once functional tests are working again we should write a test for the
sha1 functionality.
2018-09-06 20:40:09 +02:00
Paul Fariello
a952776b89 Rename mucconf wins into conf wins
Configuration windows are now being used by both muc and cmd.
2018-09-05 13:51:00 +02:00
James Booth
7c5ece24c5 Use jid argument for /bookmark when in room
fixes #983
2018-03-04 00:35:53 +00:00
James Booth
e571ccd8ea Fix tests, move glob creation 2018-01-27 23:51:03 +00:00
James Booth
d52355d72c Set locale in unit tests
issue #901
2017-04-29 20:33:28 +01:00
James Booth
6b830277a6 Allow previous autocompletion with shift tab 2017-04-01 00:27:11 +01:00
James Booth
1b9d033cef Add test for case insensitive autocomplete 2017-03-25 20:46:31 +00:00
James Booth
b5e0106526 Autocomplete accent and case insensitive 2017-03-25 01:40:20 +00:00
James Booth
6679b890a0 Fix multibyte chars in prof_occurrences
issue #901
2017-01-26 00:52:13 +00:00
James Booth
a48df40138 Fix assertion errors in unit tests 2016-09-25 23:30:44 +01:00
James Booth
9945246a64 Use hashtables for plugin disco features 2016-08-17 23:21:48 +01:00
James Booth
6cc4abedc5 Move window functions to window_list.c 2016-07-24 17:02:09 +01:00
James Booth
25a6252a28 Moved chat_session.c 2016-07-24 14:23:55 +01:00
James Booth
71879a3f64 Free plugins commands on quit 2016-07-04 00:41:29 +01:00
James Booth
383e601f25 Move /statuses options to /presence command 2016-05-31 23:21:19 +01:00
James Booth
3d20c85ada Remove JABBER_STARTED, JABBER_UNDEFINED connection states 2016-05-10 23:18:11 +01:00
James Booth
38652efb19 Fixed tests 2016-04-27 00:30:33 +01:00
James Booth
f243e333fc Added whole word matches for room mention 2016-04-07 01:01:27 +01:00
James Booth
d9344b00fe Added prof_strstr function 2016-04-03 22:30:24 +01:00
James Booth
9b177a9e01 Removed #AX_PREFIX_CONFIG_H 2016-03-31 21:05:02 +01:00
James Booth
41fe8c22b1 Added C plugin code from plugins branch 2016-02-14 22:28:55 +00:00
James Booth
7c1db22fac Fixed assertion errors in tests 2016-01-30 22:49:44 +00:00
James Booth
c60060fe5a Added more group tests 2015-11-14 22:21:57 +00:00
James Booth
c4a1d69a0c Keep count of group members 2015-11-12 00:46:42 +00:00
James Booth
1484e94b35 Fixed OTR decryption check 2015-08-27 00:37:48 +01:00
James Booth
ef52840d91 Added str_contains_str to common 2015-08-26 23:52:40 +01:00
James Booth
8119025120 Fixed tests for new command format 2015-07-27 00:04:48 +01:00
James Booth
ae4c2781e1 Added messaage when account resource changed whilst connected 2015-06-24 21:36:39 +01:00
James Booth
446027b950 Moved setting otr.warn -> enc.warn 2015-06-21 21:07:57 +01:00
James Booth
ea99012d9b Added initial /pgp start checks 2015-06-18 01:34:27 +01:00