36 lines
1.2 KiB
Diff
36 lines
1.2 KiB
Diff
From ad1f56675be58fbb7bfee6fab166ff5bf0b36a11 Mon Sep 17 00:00:00 2001
|
|
From: Rob Browning <rlb@defaultvalue.org>
|
|
Date: Mon, 1 Jul 2024 02:14:37 -0500
|
|
Subject: test-hashing: support 32-bit
|
|
|
|
* test-suite/standalone/test-hashing.c (test_hashing): add expected
|
|
value for 32-bit architectures.
|
|
---
|
|
test-suite/standalone/test-hashing.c | 8 +++++++-
|
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/test-suite/standalone/test-hashing.c b/test-suite/standalone/test-hashing.c
|
|
index 5982a0f..50e1329 100644
|
|
--- a/test-suite/standalone/test-hashing.c
|
|
+++ b/test-suite/standalone/test-hashing.c
|
|
@@ -38,9 +38,15 @@ test_hashing ()
|
|
|
|
// Value determined by calling wide_string_hash on {0x3A0, 0x3B5,
|
|
// 0x3C1, 0x3AF} via a temporary test program.
|
|
+#if SIZEOF_UNSIGNED_LONG == 8
|
|
const unsigned long expect = 4029223418961680680;
|
|
- const unsigned long actual = scm_to_ulong (scm_symbol_hash (sym));
|
|
+#elif SIZEOF_UNSIGNED_LONG == 4
|
|
+ const unsigned long expect = 938126682;
|
|
+#else
|
|
+#error "unsigned long not 4 or 8 bytes (need additonal test data)"
|
|
+#endif
|
|
|
|
+ const unsigned long actual = scm_to_ulong (scm_symbol_hash (sym));
|
|
if (actual != expect)
|
|
{
|
|
fprintf (stderr, "fail: unexpected utf-8 symbol hash (%lu != %lu)\n",
|
|
--
|
|
cgit v1.1
|
|
|