19 Commits

Author SHA1 Message Date
iphydf
0e4715598f test: Add new scenario testing framework. 2026-01-05 21:45:47 +00:00
iphydf
8e8b352abc refactor: Add nullable annotations to struct members.
Also add a bunch of casts where needed. I've tried to model everything
in such a way that it minimises casts. The casts *should* be safe, but
it's not always obvious. In the obvious cases, we should have a linter
that validates it. In the non-obvious cases, that linter should warn and
require that we add a null check. I've added some null checks in some
cases but not all.

Also, refactored some of the constructor functions to never assign a
maybe-null value to a non-null struct member, instead using a temporary
local variable to check if construction/allocation succeeded.
2026-01-04 23:38:38 +00:00
iphydf
1936d42965 test: add benchmark for toxav audio and video
This includes RTP, but no networking.
2026-01-02 01:58:07 +00:00
iphydf
390f7db060 refactor: Move random and memory OS-specifics to os_* files. 2025-10-08 10:59:32 +00:00
iphydf
34ec822da7 cleanup: Fix some clang-19 format warnings. 2025-07-13 12:26:15 +00:00
zoff99
a57c2c8f95 refactor: Make ToxAV independent of toxcore internals. 2024-11-07 17:36:32 +01:00
iphydf
afc38f2458 test: Add more unit tests for add_to_list. 2024-01-10 02:58:13 +00:00
iphydf
b7f9367f6f test: Upgrade cppcheck, fix some warnings.
Also started teaching it about toxcore's alloc/dealloc functions in
hopes of it catching some errors (it doesn't seem to be very good at
this, but maybe better than nothing?).
2023-12-27 00:00:10 +00:00
sudden6
008d9c89ce test: disable cppcheck rules that trigger false positives 2022-05-25 21:00:15 +02:00
sudden6
80c3a5dbb7 test: remove outdated cppcheck option 2022-05-25 20:43:00 +02:00
iphydf
e04484efae cleanup: Remove unused random_testing program.
Fuzzers do a better job of this.
2022-04-01 09:20:04 +00:00
jfreegman
015305a088 Merge moderation portion of new groupchats codebase 2022-03-30 20:09:50 -04:00
iphydf
ee154da4a9 refactor: Use cmp instead of msgpack-c for events packing.
This library is better in every way.
2022-03-26 23:57:15 +00:00
iphydf
88ae190aca cleanup: Split the huge TCP client packet handler.
Also enable cppcheck in both C and C++ mode.
2022-03-19 11:06:50 +00:00
iphydf
e7bc611dac cleanup: Enable most cppcheck warnings as errors.
Cleaned up some of the warnings it gives. Disabled the ones that are
less useful for us at this time.
2022-02-21 17:17:36 +00:00
iphydf
d23222c92f chore: Run static analysers in multiple variants.
Currently: 1) libsodium and 2) nacl.

Note that the "nacl" variant is actually libsodium. We just want to make
sure the static analysers see the `VANILLA_NACL` code paths.
2022-01-14 10:45:11 +00:00
iphydf
c1a2ea3309 Use bash arrays instead of strings for static analysis scripts.
These are more robust wrt. spaces in names.
2020-05-05 01:53:01 +01:00
iphydf
f627a26a7b Run Clang global static analysis on Travis.
This uses a single .cc file containing almost all the code in the
repository to perform whole program analysis.
2018-07-22 02:34:30 +00:00
iphydf
d3b286cb43 Fix a bunch of compiler warnings and remove suppressions. 2018-02-24 22:20:22 +00:00