1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 03:30:27 +02:00

Adjust tests that relied on the output of the hash table printer.

* libguile/hashtab.c (scm_i_hashtable_print): Use `SCM_UNPACK', not
  `SCM2PTR'.

* test-suite/tests/hash.test: Adjust tests that rely on the output of
  the printer to just check for the suffix of the hash table's external
  representation.
This commit is contained in:
Ludovic Courtès 2012-01-23 00:44:29 +01:00
parent fb8b2a9d60
commit 73c080f9c0
2 changed files with 12 additions and 9 deletions

View file

@ -395,7 +395,7 @@ scm_i_hashtable_print (SCM exp, SCM port, scm_print_state *pstate)
else if (SCM_HASHTABLE_DOUBLY_WEAK_P (exp))
scm_puts ("doubly-weak-", port);
scm_puts ("hash-table ", port);
scm_uintprint (SCM2PTR (exp), 16, port);
scm_uintprint (SCM_UNPACK (exp), 16, port);
scm_putc (' ', port);
scm_uintprint (SCM_HASHTABLE_N_ITEMS (exp), 10, port);
scm_putc ('/', port);

View file

@ -1,6 +1,6 @@
;;;; hash.test --- test guile hashing -*- scheme -*-
;;;;
;;;; Copyright (C) 2004, 2005, 2006, 2008, 2011 Free Software Foundation, Inc.
;;;; Copyright (C) 2004, 2005, 2006, 2008, 2011, 2012 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
@ -75,9 +75,10 @@
(make-hash-table -1))
(pass-if (hash-table? (make-hash-table 0))) ;; default
(pass-if (not (hash-table? 'not-a-hash-table)))
(pass-if (equal? "#<hash-table 0/113>"
(with-output-to-string
(lambda () (write (make-hash-table 100)))))))
(pass-if (string-suffix? " 0/113>"
(with-output-to-string
(lambda ()
(write (make-hash-table 100)))))))
;;;
;;; usual set and reference
@ -129,8 +130,9 @@
(equal? 'thirty (hash-ref table 30))
(equal? 'thirty-three (hash-ref table 33))
(equal? 'bar (hash-ref table 'foo))
(equal? "#<hash-table 36/61>"
(with-output-to-string (lambda () (write table)))))))
(string-suffix? " 36/61>"
(with-output-to-string
(lambda () (write table)))))))
;; 1 and 1 are equal? and eqv? and eq?
(pass-if (equal? 'foo
@ -240,8 +242,9 @@
(pass-if (equal? 'equal (hashx-ref hash assoc table 2/64)))
(pass-if (equal? 'equal (hashx-ref hash assoc table 2/66)))
(pass-if (equal? 'equal (hashx-ref hash assoc table 34)))
(pass-if (equal? "#<hash-table 33/61>"
(with-output-to-string (lambda () (write table)))))))
(pass-if (string-suffix? " 33/61>"
(with-output-to-string
(lambda () (write table)))))))
(with-test-prefix
"hashx"