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"