libpurple/tests/meson.build

Wed, 07 Aug 2024 21:48:53 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Wed, 07 Aug 2024 21:48:53 -0500
changeset 42844
74d2c95237e2
parent 42835
3144fbeba349
child 42890
c2b7b3b9c351
permissions
-rw-r--r--

Add PurpleMessages

PurpleMessages is a collection of PurpleMessage objects and the conversation
they belong to.

Testing Done:
Ran the unit tests under valgrind and had the turtles check in on things too.

Reviewed at https://reviews.imfreedom.org/r/3362/

38534
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38492
diff changeset
1 PROGS = [
39974
cea80de2f5ac Add some unit tests around purple_account_option_copy
Gary Kramlich <grim@reaperworld.com>
parents: 39484
diff changeset
2 'account_option',
41181
e859c41d8996 Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents: 41176
diff changeset
3 'account_manager',
41514
a96768bacb59 Create PurpleAuthorizationRequest and use it for notifications.
Gary Kramlich <grim@reaperworld.com>
parents: 41493
diff changeset
4 'authorization_request',
42326
3fc3dd614b4e Create PurpleChannelJoinDetails to replace the components for join chats
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
5 'channel_join_details',
39975
f691f3812205 Add some unit tests for the circular buffer.. they're not great, was just trying to test somethings
Gary Kramlich <grim@reaperworld.com>
parents: 39484
diff changeset
6 'circular_buffer',
42645
3844b333df53 Create PurpleCreateConversationDetails
Gary Kramlich <grim@reaperworld.com>
parents: 42582
diff changeset
7 'create_conversation_details',
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41736
diff changeset
8 'contact',
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41888
diff changeset
9 'contact_info',
41754
abf413211063 Create the new PurpleContactManager
Gary Kramlich <grim@reaperworld.com>
parents: 41749
diff changeset
10 'contact_manager',
42114
d3fe2b899c89 Add membership management to PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
11 'conversation',
42273
884be7e66e1f Add some minor unit tests to PurpleConversationManager
Gary Kramlich <grim@reaperworld.com>
parents: 42266
diff changeset
12 'conversation_manager',
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42078
diff changeset
13 'conversation_member',
41809
94c31400486a Don't use the default credential manager while unit testing aside from the default manager tests
Gary Kramlich <grim@reaperworld.com>
parents: 41804
diff changeset
14 'credential_manager',
40548
42556c49e1e2 Add PurpleCredentialProvider as the first piece to replace the existing keyring api.
Gary Kramlich <grim@reaperworld.com>
parents: 40351
diff changeset
15 'credential_provider',
42330
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents: 42326
diff changeset
16 'file_transfer',
42560
dcdf8a9a686b Implement PurpleFileTransferManager
Gary Kramlich <grim@reaperworld.com>
parents: 42538
diff changeset
17 'file_transfer_manager',
41090
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41040
diff changeset
18 'history_adapter',
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41040
diff changeset
19 'history_manager',
42383
e8302a55fddb Create PurpleIdleManager for managing idle states
Gary Kramlich <grim@reaperworld.com>
parents: 42375
diff changeset
20 'idle_manager',
38534
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38492
diff changeset
21 'image',
40351
79cbdc5c5989 Add some unit tests for key value pairs
Gary Kramlich <grim@reaperworld.com>
parents: 39979
diff changeset
22 'keyvaluepair',
40564
2c5b4dc2e86a Pull the purple_markup_* api out of util.[ch] to purplemarkup.[ch]. No code was changed just moved it from one file to the other.
Gary Kramlich <grim@reaperworld.com>
parents: 40548
diff changeset
23 'markup',
41403
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents: 41243
diff changeset
24 'menu',
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42060
diff changeset
25 'message',
42844
74d2c95237e2 Add PurpleMessages
Gary Kramlich <grim@reaperworld.com>
parents: 42835
diff changeset
26 'messages',
41433
d563b345a096 Phase 1 of the Notifications API
Gary Kramlich <grim@reaperworld.com>
parents: 41403
diff changeset
27 'notification',
42835
3144fbeba349 Rename AuthorizationRequestNotification to NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents: 42814
diff changeset
28 'notification_authorization_request',
41433
d563b345a096 Phase 1 of the Notifications API
Gary Kramlich <grim@reaperworld.com>
parents: 41403
diff changeset
29 'notification_manager',
41749
c22448f50d5d Create PurplePerson.
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
30 'person',
42051
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 42008
diff changeset
31 'presence',
42384
835faf0ddcb6 Implement PurplePresenceManager
Gary Kramlich <grim@reaperworld.com>
parents: 42383
diff changeset
32 'presence_manager',
41884
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41809
diff changeset
33 'protocol',
42293
8888e6d1e9a8 Create the PurpleProtocolContacts interface
Gary Kramlich <grim@reaperworld.com>
parents: 42273
diff changeset
34 'protocol_contacts',
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42293
diff changeset
35 'protocol_conversation',
42375
8e61249e9b10 Implement ProtocolFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents: 42330
diff changeset
36 'protocol_file_transfer',
42243
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents: 42207
diff changeset
37 'protocol_roster',
41242
0343173db2f6 added basic tests for path based functions
ivanhoe <107501-ivanhoe@users.noreply.gitlab.com>
parents: 41181
diff changeset
38 'purplepath',
42148
4c7b2771461a Add PurpleRequestField.is_filled vfunc, and a filled property
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42114
diff changeset
39 'request_field',
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42148
diff changeset
40 'request_group',
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42148
diff changeset
41 'request_page',
42207
7c16e3b1cce8 Create PurpleSavedPresence for saving the users presences
Gary Kramlich <grim@reaperworld.com>
parents: 42152
diff changeset
42 'saved_presence',
42060
d55b605fdafb Add purple_strmatches and move purple_person_matches and purple_contact_info_matches to it
Gary Kramlich <grim@reaperworld.com>
parents: 42051
diff changeset
43 'str',
41736
d78c0951ea2c Create the PurpleTags object for handling tags
Gary Kramlich <grim@reaperworld.com>
parents: 41734
diff changeset
44 'tags',
38534
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38492
diff changeset
45 'util',
41040
4be2eda9548a Create PurpleWhiteboardManager for managing whiteboards
Gary Kramlich <grim@reaperworld.com>
parents: 41034
diff changeset
46 'whiteboard_manager',
4be2eda9548a Create PurpleWhiteboardManager for managing whiteboards
Gary Kramlich <grim@reaperworld.com>
parents: 41034
diff changeset
47 'xmlnode',
38534
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38492
diff changeset
48 ]
38831
d260f3b61831 The start of a ui for unit testing
Gary Kramlich <grim@reaperworld.com>
parents: 38830
diff changeset
49
38832
7ad7854d8e60 Create a very basic ui for testing
Gary Kramlich <grim@reaperworld.com>
parents: 38831
diff changeset
50 test_ui = static_library(
7ad7854d8e60 Create a very basic ui for testing
Gary Kramlich <grim@reaperworld.com>
parents: 38831
diff changeset
51 'test-ui',
7ad7854d8e60 Create a very basic ui for testing
Gary Kramlich <grim@reaperworld.com>
parents: 38831
diff changeset
52 'test_ui.c',
7ad7854d8e60 Create a very basic ui for testing
Gary Kramlich <grim@reaperworld.com>
parents: 38831
diff changeset
53 'test_ui.h',
7ad7854d8e60 Create a very basic ui for testing
Gary Kramlich <grim@reaperworld.com>
parents: 38831
diff changeset
54 c_args: [
41107
1570d8844e9a Enable structured logging in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41090
diff changeset
55 '-DTEST_DATA_DIR="@0@/data"'.format(meson.current_source_dir()),
1570d8844e9a Enable structured logging in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41090
diff changeset
56 '-DG_LOG_USE_STRUCTURED',
1570d8844e9a Enable structured logging in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41090
diff changeset
57 '-DG_LOG_DOMAIN="Purple-TestUI"',
38832
7ad7854d8e60 Create a very basic ui for testing
Gary Kramlich <grim@reaperworld.com>
parents: 38831
diff changeset
58 ],
39354
db17ba548304 libpurple: Drop DBus API bindings
Mike Ruprecht <cmaiku@gmail.com>
parents: 39166
diff changeset
59 dependencies: [libpurple_dep, glib]
38832
7ad7854d8e60 Create a very basic ui for testing
Gary Kramlich <grim@reaperworld.com>
parents: 38831
diff changeset
60 )
7ad7854d8e60 Create a very basic ui for testing
Gary Kramlich <grim@reaperworld.com>
parents: 38831
diff changeset
61
41493
06dcfb1cc1b2 Set XDG_CONFIG_DIR for all unittests so they can run in a silo
Gary Kramlich <grim@reaperworld.com>
parents: 41433
diff changeset
62 testenv.set('XDG_CONFIG_HOME', meson.current_build_dir() / 'config')
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42754
diff changeset
63 testenv.set('G_ENABLE_DIAGNOSTIC', '1')
41493
06dcfb1cc1b2 Set XDG_CONFIG_DIR for all unittests so they can run in a silo
Gary Kramlich <grim@reaperworld.com>
parents: 41433
diff changeset
64
38534
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38492
diff changeset
65 foreach prog : PROGS
41888
9db0b73c8fab Take advantage of f-strings in Meson
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41884
diff changeset
66 e = executable(f'test_@prog@', f'test_@prog@.c',
38848
22e32372b906 Fix a few typos and cleanup some whitespace
Gary Kramlich <grim@reaperworld.com>
parents: 38832
diff changeset
67 c_args : [
42384
835faf0ddcb6 Implement PurplePresenceManager
Gary Kramlich <grim@reaperworld.com>
parents: 42383
diff changeset
68 '-DTEST_DATA_DIR="@0@/data"'.format(meson.current_source_dir()),
835faf0ddcb6 Implement PurplePresenceManager
Gary Kramlich <grim@reaperworld.com>
parents: 42383
diff changeset
69 '-DTEST_CACHE_DIR="@0@/cache"'.format(meson.current_build_dir()),
38848
22e32372b906 Fix a few typos and cleanup some whitespace
Gary Kramlich <grim@reaperworld.com>
parents: 38832
diff changeset
70 ],
39354
db17ba548304 libpurple: Drop DBus API bindings
Mike Ruprecht <cmaiku@gmail.com>
parents: 39166
diff changeset
71 dependencies : [libpurple_dep, glib],
38832
7ad7854d8e60 Create a very basic ui for testing
Gary Kramlich <grim@reaperworld.com>
parents: 38831
diff changeset
72 link_with: test_ui,
7ad7854d8e60 Create a very basic ui for testing
Gary Kramlich <grim@reaperworld.com>
parents: 38831
diff changeset
73 )
41493
06dcfb1cc1b2 Set XDG_CONFIG_DIR for all unittests so they can run in a silo
Gary Kramlich <grim@reaperworld.com>
parents: 41433
diff changeset
74 test(prog, e,
06dcfb1cc1b2 Set XDG_CONFIG_DIR for all unittests so they can run in a silo
Gary Kramlich <grim@reaperworld.com>
parents: 41433
diff changeset
75 env: testenv,
06dcfb1cc1b2 Set XDG_CONFIG_DIR for all unittests so they can run in a silo
Gary Kramlich <grim@reaperworld.com>
parents: 41433
diff changeset
76 )
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
77 endforeach
41734
a708bd1edc77 Clean up setting handling for the credential manager and make its unit tests don't mess up the others
Gary Kramlich <grim@reaperworld.com>
parents: 41683
diff changeset
78
42008
ae3fa963c1b3 Add animation support to PurpleAvatar
Gary Kramlich <grim@reaperworld.com>
parents: 41966
diff changeset
79 subdir('avatar')
41804
36c3c3cd2402 Add some api for handling SQLite3 migrations
Gary Kramlich <grim@reaperworld.com>
parents: 41754
diff changeset
80 subdir('sqlite3')

mercurial