wingo pushed a commit to branch wip-whippet
in repository guile.

commit 5d17297da8400839301e355776650143e5df08d6
Author: Andy Wingo <wi...@pobox.com>
AuthorDate: Tue Jul 1 16:08:01 2025 +0200

    Update uniform-array->bytevector tests for 64-bit
    
    * test-suite/tests/bytevectors.test ("uniform-array->bytevector"): The
    unit of bitvectors is now the word.
    * test-suite/tests/bitvectors.test: Add missing (ice-9 arrays) import.
---
 test-suite/tests/bitvectors.test  |  3 ++-
 test-suite/tests/bytevectors.test | 46 ++++++++++++++++++++-------------------
 2 files changed, 26 insertions(+), 23 deletions(-)

diff --git a/test-suite/tests/bitvectors.test b/test-suite/tests/bitvectors.test
index ad45bde69..be3cf14dc 100644
--- a/test-suite/tests/bitvectors.test
+++ b/test-suite/tests/bitvectors.test
@@ -1,6 +1,6 @@
 ;;;; bitvectors.test --- tests guile's bitvectors     -*- scheme -*-
 ;;;;
-;;;; Copyright 2010, 2011, 2013, 2014, 2020 Free Software Foundation, Inc.
+;;;; Copyright 2010, 2011, 2013, 2014, 2020, 2025 Free Software Foundation, 
Inc.
 ;;;;
 ;;;; This library is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
@@ -18,6 +18,7 @@
 
 (define-module (test-suite test-bitvectors)
   #:use-module (test-suite lib)
+  #:use-module (ice-9 arrays)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26))
 
diff --git a/test-suite/tests/bytevectors.test 
b/test-suite/tests/bytevectors.test
index 504910202..9a931f28f 100644
--- a/test-suite/tests/bytevectors.test
+++ b/test-suite/tests/bytevectors.test
@@ -1,6 +1,6 @@
 ;;;; bytevectors.test --- R6RS bytevectors. -*- mode: scheme; coding: utf-8; 
-*-
 ;;;;
-;;;; Copyright (C) 2009-2015, 2018, 2021, 2023 Free Software Foundation, Inc.
+;;;; Copyright (C) 2009-2015, 2018, 2021, 2023, 2025 Free Software Foundation, 
Inc.
 ;;;;
 ;;;; Ludovic Courtès
 ;;;;
@@ -801,33 +801,35 @@
 
 (with-test-prefix "uniform-array->bytevector"
 
-  (pass-if "bytevector"
-    (let ((bv #vu8(0 1 128 255)))
-      (equal? bv (uniform-array->bytevector bv))))
+  (let ((word-size (sizeof '*)))
 
-  (pass-if "empty bitvector"
-    (let ((bv (uniform-array->bytevector (make-bitvector 0))))
-      (equal? bv #vu8())))
+    (pass-if "bytevector"
+      (let ((bv #vu8(0 1 128 255)))
+        (equal? bv (uniform-array->bytevector bv))))
 
-  (pass-if "bitvector < 8"
-    (let ((bv (uniform-array->bytevector (make-bitvector 4 #t))))
-      (= (bytevector-length bv) 4)))
+    (pass-if "empty bitvector"
+      (let ((bv (uniform-array->bytevector (make-bitvector 0))))
+        (equal? bv #vu8())))
 
-  (pass-if "bitvector == 8"
-    (let ((bv (uniform-array->bytevector (make-bitvector 8 #t))))
-      (= (bytevector-length bv) 4)))
+    (pass-if "bitvector < 8"
+      (let ((bv (uniform-array->bytevector (make-bitvector 4 #t))))
+        (= (bytevector-length bv) word-size)))
 
-  (pass-if "bitvector > 8"
-    (let ((bv (uniform-array->bytevector (make-bitvector 9 #t))))
-      (= (bytevector-length bv) 4)))
+    (pass-if "bitvector == 8"
+      (let ((bv (uniform-array->bytevector (make-bitvector 8 #t))))
+        (= (bytevector-length bv) word-size)))
 
-  (pass-if "bitvector == 32"
-    (let ((bv (uniform-array->bytevector (make-bitvector 32 #t))))
-      (= (bytevector-length bv) 4)))
+    (pass-if "bitvector > 8"
+      (let ((bv (uniform-array->bytevector (make-bitvector 9 #t))))
+        (= (bytevector-length bv) word-size)))
 
-  (pass-if "bitvector > 32"
-    (let ((bv (uniform-array->bytevector (make-bitvector 33 #t))))
-      (= (bytevector-length bv) 8))))
+    (pass-if "bitvector == word-size * 8"
+      (let ((bv (uniform-array->bytevector (make-bitvector (* word-size 8) 
#t))))
+        (= (bytevector-length bv) word-size)))
+
+    (pass-if "bitvector > word-size * 8"
+      (let ((bv (uniform-array->bytevector (make-bitvector (1+ (* word-size 
8)) #t))))
+        (= (bytevector-length bv) (* 2 word-size))))))
 
 
 (with-test-prefix "srfi-4 homogeneous numeric vectors as bytevectors"

Reply via email to