mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 13:13:44 +01:00
Add test for sendme_inc validation.
This commit is contained in:
parent
8f4bd8730c
commit
01bda6c23f
@ -840,6 +840,44 @@ test_build_authorized_client(void *arg)
|
||||
testing_disable_prefilled_rng();
|
||||
}
|
||||
|
||||
static void
|
||||
test_validate_sendme(void *arg)
|
||||
{
|
||||
(void)arg;
|
||||
|
||||
/* Test basic operation: factors of 2X in either direction are OK */
|
||||
cc_sendme_inc = 31;
|
||||
tt_assert(congestion_control_validate_sendme_increment(15));
|
||||
tt_assert(congestion_control_validate_sendme_increment(62));
|
||||
|
||||
/* Test basic operation: Exceeding 2X fails */
|
||||
cc_sendme_inc = 31;
|
||||
tt_assert(!congestion_control_validate_sendme_increment(14));
|
||||
tt_assert(!congestion_control_validate_sendme_increment(63));
|
||||
|
||||
/* Test potential overflow conditions */
|
||||
cc_sendme_inc = 129;
|
||||
tt_assert(congestion_control_validate_sendme_increment(255));
|
||||
tt_assert(congestion_control_validate_sendme_increment(64));
|
||||
tt_assert(!congestion_control_validate_sendme_increment(63));
|
||||
|
||||
cc_sendme_inc = 127;
|
||||
tt_assert(!congestion_control_validate_sendme_increment(255));
|
||||
tt_assert(congestion_control_validate_sendme_increment(254));
|
||||
|
||||
cc_sendme_inc = 255;
|
||||
tt_assert(congestion_control_validate_sendme_increment(255));
|
||||
tt_assert(congestion_control_validate_sendme_increment(127));
|
||||
tt_assert(!congestion_control_validate_sendme_increment(126));
|
||||
|
||||
/* Test 0 case */
|
||||
cc_sendme_inc = 1;
|
||||
tt_assert(!congestion_control_validate_sendme_increment(0));
|
||||
|
||||
done:
|
||||
;
|
||||
}
|
||||
|
||||
struct testcase_t hs_descriptor[] = {
|
||||
/* Encoding tests. */
|
||||
{ "cert_encoding", test_cert_encoding, TT_FORK,
|
||||
@ -860,6 +898,8 @@ struct testcase_t hs_descriptor[] = {
|
||||
NULL, NULL },
|
||||
{ "decode_bad_signature", test_decode_bad_signature, TT_FORK,
|
||||
NULL, NULL },
|
||||
{ "validate_sendme", test_validate_sendme, TT_FORK,
|
||||
NULL, NULL },
|
||||
|
||||
/* Misc. */
|
||||
{ "version", test_supported_version, TT_FORK,
|
||||
|
Loading…
Reference in New Issue
Block a user