about summary refs log tree commit diff stats
path: root/mu.arc.t
diff options
context:
space:
mode:
Diffstat (limited to 'mu.arc.t')
-rw-r--r--mu.arc.t71
1 files changed, 39 insertions, 32 deletions
diff --git a/mu.arc.t b/mu.arc.t
index e6c0183c..89712d25 100644
--- a/mu.arc.t
+++ b/mu.arc.t
@@ -1693,6 +1693,7 @@
 (reset)
 (new-trace "convert-names-record-fields")
 (= traces* (queue))
+;? (= dump-trace* (obj whitelist '("cn0")))
 (if (~iso (convert-names
             '((((x integer)) <- ((get)) ((34 integer-boolean-pair)) ((bool offset)))))
           '((((1 integer)) <- ((get)) ((34 integer-boolean-pair)) ((1 offset)))))
@@ -1717,10 +1718,12 @@
 (reset)
 (new-trace "convert-names-record-fields-indirect")
 (= traces* (queue))
+;? (= dump-trace* (obj whitelist '("cn0")))
 (if (~iso (convert-names
             '((((x integer)) <- ((get)) ((34 integer-boolean-pair-address) (deref)) ((bool offset)))))
           '((((1 integer)) <- ((get)) ((34 integer-boolean-pair-address) (deref)) ((1 offset)))))
   (prn "F - convert-names replaces field offsets for record addresses"))
+;? (quit)
 
 (reset)
 (new-trace "convert-names-record-fields-multiple")
@@ -1764,11 +1767,12 @@
   (let before rep.routine!alloc
 ;?     (set dump-trace*)
     (run)
-  ;?   (prn memory*)
+;?     (prn memory*)
     (if (~iso memory*.1 before)
       (prn "F - 'new' returns current high-water mark"))
     (if (~iso rep.routine!alloc (+ before 1))
       (prn "F - 'new' on primitive types increments high-water mark by their size"))))
+;? (quit)
 
 (reset)
 (new-trace "new-array-literal")
@@ -3332,7 +3336,7 @@
 ;; unit tests for various helpers
 
 ; tokenize-args
-;? (prn "tokenize-args")
+(prn "tokenize-args")
 (assert:iso '((a b) (c d))
             (tokenize-arg 'a:b/c:d))
 (assert:iso '((a b) (1 d))
@@ -3369,7 +3373,7 @@
                 })))
 
 ; absolutize
-;? (prn "absolutize")
+(prn "absolutize")
 (reset)
 (if (~iso '((4 integer)) (absolutize '((4 integer))))
   (prn "F - 'absolutize' works without routine"))
@@ -3384,9 +3388,31 @@
 (absolutize '((5 integer)))
 (if (~posmatch "no room" rep.routine*!error)
   (prn "F - 'absolutize' checks against default-scope bounds"))
+(if (~iso '((_ integer)) (absolutize '((_ integer))))
+  (prn "F - 'absolutize' passes dummy args right through"))
+
+; deref
+(prn "deref")
+(reset)
+(= memory*.3 4)
+(if (~iso '((4 integer))
+          (deref '((3 integer-address)
+                   (deref))))
+  (prn "F - 'deref' handles simple addresses"))
+(if (~iso '((4 integer) (deref))
+          (deref '((3 integer-address)
+                   (deref)
+                   (deref))))
+  (prn "F - 'deref' deletes just one deref"))
+(= memory*.4 5)
+(if (~iso '((5 integer))
+          (deref:deref '((3 integer-address-address)
+                         (deref)
+                         (deref))))
+  (prn "F - 'deref' can be chained"))
 
 ; addr
-;? (prn "addr")
+(prn "addr")
 (reset)
 (= routine* nil)
 ;? (prn 111)
@@ -3435,28 +3461,8 @@
   (prn "F - 'addr' adds default-scope before 'deref', not after"))
 ;? (quit)
 
-; deref
-;? (prn "deref")
-(reset)
-(= memory*.3 4)
-(if (~iso '((4 integer))
-          (deref '((3 integer-address)
-                   (deref))))
-  (prn "F - 'deref' handles simple addresses"))
-(if (~iso '((4 integer) (deref))
-          (deref '((3 integer-address)
-                   (deref)
-                   (deref))))
-  (prn "F - 'deref' deletes just one deref"))
-(= memory*.4 5)
-(if (~iso '((5 integer))
-          (deref:deref '((3 integer-address-address)
-                         (deref)
-                         (deref))))
-  (prn "F - 'deref' can be chained"))
-
 ; array-len
-;? (prn "array-len")
+(prn "array-len")
 (reset)
 (= memory*.35 4)
 (if (~is 4 (array-len '((35 integer-boolean-pair-array))))
@@ -3467,16 +3473,17 @@
 ;? (quit)
 
 ; sizeof
-;? (prn "sizeof")
+(prn "sizeof")
 (reset)
+;? (set dump-trace*)
 ;? (prn 401)
-(if (~is 1 sizeof!integer)
+(if (~is 1 (sizeof '((_ integer))))
   (prn "F - 'sizeof' works on primitives"))
-(if (~is 1 sizeof!integer-address)
+(if (~is 1 (sizeof '((_ integer-address))))
   (prn "F - 'sizeof' works on addresses"))
-(if (~is 2 sizeof!integer-boolean-pair)
+(if (~is 2 (sizeof '((_ integer-boolean-pair))))
   (prn "F - 'sizeof' works on and-records"))
-(if (~is 3 sizeof!integer-point-pair)
+(if (~is 3 (sizeof '((_ integer-point-pair))))
   (prn "F - 'sizeof' works on and-records with and-record fields"))
 
 ;? (prn 410)
@@ -3521,7 +3528,7 @@
 ;? (quit)
 
 ; m
-;? (prn "m")
+(prn "m")
 (reset)
 (if (~is 4 (m '((4 literal))))
   (prn "F - 'm' avoids reading memory for literals"))
@@ -3551,7 +3558,7 @@
   (prn "F - 'm' supports indirect access to arrays"))
 
 ; setm
-;? (prn "setm")
+(prn "setm")
 (reset)
 (setm '((4 integer)) 34)
 (if (~is 34 memory*.4)