revised log pasted by retroj on Sat Jul 16 21:24:50 2016
%%%% Starting test bytestructures Group begin: bytestructures Group begin: numeric Group begin: float32 Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 4 expected-value: 4 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1.0 expected-value: 1.0 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 2.0 expected-value: 2.0 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: 16777216.0 expected-value: 16777216.0 Group end: procedural Group end: float32 Group begin: float32 Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 4 expected-value: 4 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1.0 expected-value: 1.0 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 2.0 expected-value: 2.0 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: 16777216.0 expected-value: 16777216.0 Group end: procedural Group end: float32 Group begin: float32be Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 4 expected-value: 4 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1.0 expected-value: 1.0 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 2.0 expected-value: 2.0 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: 16777216.0 expected-value: 16777216.0 Group end: procedural Group end: float32be Group begin: float64 Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 8 expected-value: 8 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1.0 expected-value: 1.0 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 2.0 expected-value: 2.0 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: 9.00719925474099e+15 expected-value: 9.00719925474099e+15 Group end: procedural Group end: float64 Group begin: float64 Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 8 expected-value: 8 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1.0 expected-value: 1.0 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 2.0 expected-value: 2.0 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: 9.00719925474099e+15 expected-value: 9.00719925474099e+15 Group end: procedural Group end: float64 Group begin: float64be Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 8 expected-value: 8 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1.0 expected-value: 1.0 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 2.0 expected-value: 2.0 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: 9.00719925474099e+15 expected-value: 9.00719925474099e+15 Group end: procedural Group end: float64be Group begin: int8 Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: -1 expected-value: -1 Group end: procedural Group end: int8 Group begin: int16 Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 2 expected-value: 2 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: -256 expected-value: -256 Group end: procedural Group end: int16 Group begin: int32 Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 4 expected-value: 4 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: -16777216 expected-value: -16777216 Group end: procedural Group end: int32 Group begin: int64 Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 8 expected-value: 8 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: -72057594037927936 expected-value: -72057594037927936 Group end: procedural Group end: int64 Group begin: int16 Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 2 expected-value: 2 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: -256 expected-value: -256 Group end: procedural Group end: int16 Group begin: int32 Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 4 expected-value: 4 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: -16777216 expected-value: -16777216 Group end: procedural Group end: int32 Group begin: int64 Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 8 expected-value: 8 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: -72057594037927936 expected-value: -72057594037927936 Group end: procedural Group end: int64 Group begin: int16be Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 2 expected-value: 2 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: -256 expected-value: -256 Group end: procedural Group end: int16be Group begin: int32be Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 4 expected-value: 4 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: -16777216 expected-value: -16777216 Group end: procedural Group end: int32be Group begin: int64be Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 8 expected-value: 8 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: -72057594037927936 expected-value: -72057594037927936 Group end: procedural Group end: int64be Group begin: uint8 Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: 255 expected-value: 255 Group end: procedural Group end: uint8 Group begin: uint16 Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 2 expected-value: 2 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: 65535 expected-value: 65535 Group end: procedural Group end: uint16 Group begin: uint32 Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 4 expected-value: 4 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "min/max" Test end: result-kind: pass actual-value: 4294967295 expected-value: 4294967295 Group end: procedural Group end: uint32 Group begin: uint64 Group begin: procedural Test begin: test-name: "size" Test end: result-kind: pass actual-value: 8 expected-value: 8 Test begin: test-name: "ref" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "set" Test end: result-kind: pass actual-value: 1 expected-value: 1 Test begin: test-name: "min/max" Error: (-) bad argument type: 18446744073709551615 Call history: bytevectors.body.scm:522: numbers#* bytevectors.body.scm:523: numbers#+ bytevectors.body.scm:523: u8vector-ref bytevectors.body.scm:522: numbers#+ bytevectors.body.scm:524: numbers#< bytevectors.body.scm:521: numbers#- bytevectors.body.scm:522: numbers#* bytevectors.body.scm:523: numbers#+ bytevectors.body.scm:523: u8vector-ref bytevectors.body.scm:522: numbers#+ bytevectors.body.scm:524: numbers#<(k6649 (##core#lambda () (##sys#apply ##sys#values args6650))) (##sys#apply ##sys#values args6650) (cons6639 value6633 excpt6634) (cons6629 (cons6629 (quote6630 test-name6631) "min/max") (quote6630 ())) (cons6629 (quote6630 test-name6631) "min/max") <--
how i am running this test: pasted by retroj on Sat Jul 16 21:30:24 2016
;;; run-tests.chicken.scm (import (scheme base) (srfi 64) (bytestructures utils) (bytestructures) (bytestructures numeric-metadata) (bytestructures bytevectors) (bytestructures explicit-endianness)) (test-log-to-file (current-error-port)) (include "run-tests.body.scm") ;;; command line: $ csi -R r7rs -s run-tests.chicken.scm
port of "numeric" group to test egg added by retroj on Sat Jul 16 22:02:27 2016
;;; run-tests.chicken-test-egg.scm ;;; ;;; csi -R r7rs -s run-tests.chicken-test-egg.scm (import (scheme base) (bytestructures utils) (bytestructures) (bytestructures numeric-metadata) (bytestructures bytevectors) (bytestructures explicit-endianness) (test)) (define-syntax-rule (test-eqv name expected expr) (test name expected expr)) (define-syntax-rule (test-= name expected expr) (test name expected expr #;0)) (define-syntax-rule (maybe-skip-syntax . <body>) (if-syntax-case (begin . <body>) (begin))) (test-begin "bytestructures") (test-group "numeric" (define-syntax test-numeric-descriptors (syntax-rules () ((_ <descriptor-id> ...) (let () (define (destructure-numeric-descriptor-entry descriptor-entry proc) (define descriptor (list-ref descriptor-entry 0)) (define name (list-ref descriptor-entry 1)) (define getter (list-ref descriptor-entry 2)) (define setter (list-ref descriptor-entry 3)) (define size (bytestructure-descriptor-size descriptor)) (define float? (assq descriptor float-descriptors)) (define signed? (or float? (assq descriptor signed-integer-descriptors))) (proc descriptor name getter setter size float? signed?)) (define (get-min/max float? signed? size) (cond (float? (inexact (expt 2 (case size ((4) 24) ((8) 53))))) (signed? (- (expt 256 (- size 1)))) (else (- (expt 256 size) 1)))) (destructure-numeric-descriptor-entry (assq <descriptor-id> numeric-descriptors) (lambda (descriptor name getter setter size float? signed?) (test-group (symbol->string name) (let ((test-value-1 (if float? 1.0 1)) (test-value-2 (if float? 2.0 1))) (test-group "procedural" (define min/max (get-min/max float? signed? size)) (define bs (bytestructure descriptor)) (test-eqv "size" size (bytevector-length (bytestructure-bytevector bs))) (test-= "ref" test-value-1 (begin (setter (bytestructure-bytevector bs) 0 test-value-1) (bytestructure-ref bs))) (test-= "set" test-value-2 (begin (bytestructure-set! bs test-value-2) (getter (bytestructure-bytevector bs) 0))) (test-= "min/max" min/max (begin (bytestructure-set! bs min/max) (bytestructure-ref bs)))) (maybe-skip-syntax (test-group "syntactic" (define min/max (get-min/max float? signed? size)) ;; Must insert the top-level reference <descriptor-id> here. (define-bytestructure-accessors <descriptor-id> bs-unwrapper bs-getter bs-setter) (define bv (make-bytevector size)) (test-= "ref" test-value-1 (begin (setter bv 0 test-value-1) (bs-getter bv))) (test-= "set" test-value-2 (begin (bs-setter bv test-value-2) (getter bv 0))) (test-= "min/max" min/max (begin (bs-setter bv min/max) (bs-getter bv))))))))) ...)))) (test-numeric-descriptors float32 float32le float32be float64 float64le float64be int8 int16 int32 int64 int16le int32le int64le int16be int32be int64be uint8 uint16 uint32 uint64 uint16le uint32le uint64le uint16be uint32be uint64be)) (test-exit)