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.
This commit is contained in:
ike08
2023-11-01 18:30:08 -06:00
parent 21fc8f641e
commit d35a7a7f7e
8 changed files with 571 additions and 563 deletions

View File

@@ -23,11 +23,11 @@
#include "test_muc.h"
#include "test_disconnect.h"
#define PROF_FUNC_TEST(test) unit_test_setup_teardown(test, init_prof_test, close_prof_test)
#define PROF_FUNC_TEST(test) cmocka_unit_test_setup_teardown(test, init_prof_test, close_prof_test)
int main(int argc, char* argv[]) {
const UnitTest all_tests[] = {
const struct CMUnitTest all_tests[] = {
PROF_FUNC_TEST(connect_jid_requests_roster),
PROF_FUNC_TEST(connect_jid_sends_presence_after_receiving_roster),
@@ -111,5 +111,5 @@ int main(int argc, char* argv[]) {
PROF_FUNC_TEST(disconnect_ends_session),
};
return run_tests(all_tests);
return cmocka_run_group_tests(all_tests, NULL, NULL);
}