[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/maint-0.3.3] Attempt to fix 32-bit clang builds, which broke with 31508a0abccfee1cd
commit 46795a7be63b9a1b90a59fcf9efda4f4f1eacc37
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date: Thu Apr 12 12:24:36 2018 -0400
Attempt to fix 32-bit clang builds, which broke with 31508a0abccfee1cd
When size_t is 32 bits, the unit tests can't fit anything more than
4GB-1 into a size_t.
Additionally, tt_int_op() uses "long" -- we need tt_u64_op() to
safely test uint64_t values for equality.
Bug caused by tests for #24782 fix; not in any released Tor.
---
src/test/test_config.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/test/test_config.c b/src/test/test_config.c
index d82f6d21d..e214a8277 100644
--- a/src/test/test_config.c
+++ b/src/test/test_config.c
@@ -5626,10 +5626,10 @@ test_config_compute_max_mem_in_queues(void *data)
#if SIZEOF_VOID_P >= 8
/* We are on a 64-bit system. */
- tt_int_op(compute_real_max_mem_in_queues(0, 0), OP_EQ, GIGABYTE(8));
+ tt_u64_op(compute_real_max_mem_in_queues(0, 0), OP_EQ, GIGABYTE(8));
#else
/* We are on a 32-bit system. */
- tt_int_op(compute_real_max_mem_in_queues(0, 0), OP_EQ, GIGABYTE(1));
+ tt_u64_op(compute_real_max_mem_in_queues(0, 0), OP_EQ, GIGABYTE(1));
#endif
/* We are able to detect the amount of RAM on the system. */
@@ -5639,7 +5639,7 @@ test_config_compute_max_mem_in_queues(void *data)
total_system_memory_output = GIGABYTE(1);
/* We have 0.75 * RAM available. */
- tt_int_op(compute_real_max_mem_in_queues(0, 0), OP_EQ,
+ tt_u64_op(compute_real_max_mem_in_queues(0, 0), OP_EQ,
3 * (GIGABYTE(1) / 4));
/* We are running on a tiny machine with 256 MB of RAM. */
@@ -5648,28 +5648,30 @@ test_config_compute_max_mem_in_queues(void *data)
/* We will now enforce a minimum of 256 MB of RAM available for the
* MaxMemInQueues here, even though we should only have had 0.75 * 256 = 192
* MB available. */
- tt_int_op(compute_real_max_mem_in_queues(0, 0), OP_EQ, MEGABYTE(256));
+ tt_u64_op(compute_real_max_mem_in_queues(0, 0), OP_EQ, MEGABYTE(256));
+#if SIZEOF_SIZE_T > 4
/* We are running on a machine with 8 GB of RAM. */
total_system_memory_output = GIGABYTE(8);
/* We will have 0.4 * RAM available. */
- tt_int_op(compute_real_max_mem_in_queues(0, 0), OP_EQ,
+ tt_u64_op(compute_real_max_mem_in_queues(0, 0), OP_EQ,
2 * (GIGABYTE(8) / 5));
/* We are running on a machine with 16 GB of RAM. */
total_system_memory_output = GIGABYTE(16);
/* We will have 0.4 * RAM available. */
- tt_int_op(compute_real_max_mem_in_queues(0, 0), OP_EQ,
+ tt_u64_op(compute_real_max_mem_in_queues(0, 0), OP_EQ,
2 * (GIGABYTE(16) / 5));
/* We are running on a machine with 32 GB of RAM. */
total_system_memory_output = GIGABYTE(32);
/* We will at maximum get MAX_DEFAULT_MEMORY_QUEUE_SIZE here. */
- tt_int_op(compute_real_max_mem_in_queues(0, 0), OP_EQ,
+ tt_u64_op(compute_real_max_mem_in_queues(0, 0), OP_EQ,
MAX_DEFAULT_MEMORY_QUEUE_SIZE);
+#endif
done:
UNMOCK(get_total_system_memory);
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits