about summary refs log tree commit diff stats
path: root/mu.arc.t
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2014-10-07 10:26:14 -0700
committerKartik K. Agaram <vc@akkartik.com>2014-10-07 10:31:22 -0700
commit9dca5395f6c70f310ac341751544ce5849fdb2b1 (patch)
treec977e246403d461f018fd2a87aae27f7d16a08cf /mu.arc.t
parent2f47e5664f453a623c67bfba8ea30c04ee737190 (diff)
downloadmu-9dca5395f6c70f310ac341751544ce5849fdb2b1.tar.gz
118 - persist all test traces
Diffstat (limited to 'mu.arc.t')
-rw-r--r--mu.arc.t60
1 files changed, 60 insertions, 0 deletions
diff --git a/mu.arc.t b/mu.arc.t
index 75bbbd1d..b5226f49 100644
--- a/mu.arc.t
+++ b/mu.arc.t
@@ -1,6 +1,7 @@
 (load "mu.arc")
 
 (reset)
+(new-trace "literal")
 (add-fns
   '((test1
       ((1 integer) <- copy (23 literal)))))
@@ -11,6 +12,7 @@
 ;? (quit)
 
 (reset)
+(new-trace "add")
 (add-fns
   '((test1
       ((1 integer) <- copy (1 literal))
@@ -21,6 +23,7 @@
   (prn "F - 'add' operates on two addresses"))
 
 (reset)
+(new-trace "new-fn")
 (add-fns
   '((test1
       ((3 integer) <- add (1 integer) (2 integer)))
@@ -35,6 +38,7 @@
 ;? (quit)
 
 (reset)
+(new-trace "new-fn-once")
 (add-fns
   '((test1
       ((1 integer) <- copy (1 literal)))
@@ -45,6 +49,7 @@
 ;? (quit)
 
 (reset)
+(new-trace "new-fn-reply")
 (add-fns
   '((test1
       ((3 integer) <- add (1 integer) (2 integer))
@@ -61,6 +66,7 @@
 ;? (quit)
 
 (reset)
+(new-trace "new-fn-reply-nested")
 (add-fns
   `((test1
       ((3 integer) <- test2))
@@ -76,6 +82,7 @@
 ;? (quit)
 
 (reset)
+(new-trace "new-fn-reply-once")
 (add-fns
   '((test1
       ((3 integer) <- add (1 integer) (2 integer))
@@ -90,6 +97,7 @@
 ;? (quit)
 
 (reset)
+(new-trace "new-fn-arg-sequential")
 (add-fns
   '((test1
       ((4 integer) <- arg)
@@ -111,6 +119,7 @@
 ;? (quit)
 
 (reset)
+(new-trace "new-fn-arg-random-access")
 (add-fns
   '((test1
       ((5 integer) <- arg 1)
@@ -135,6 +144,7 @@
 ; how should errors be handled? will be unclear until we support concurrency and routine trees.
 
 (reset)
+(new-trace "new-fn-reply-oarg")
 (add-fns
   '((test1
       ((4 integer) <- arg)
@@ -154,6 +164,7 @@
   (prn "F - 'reply' can take aguments that are returned, or written back into output args of caller"))
 
 (reset)
+(new-trace "new-fn-reply-oarg-multiple")
 (add-fns
   '((test1
       ((4 integer) <- arg)
@@ -173,6 +184,7 @@
   (prn "F - 'reply' permits a function to return multiple values at once"))
 
 (reset)
+(new-trace "add-literal")
 (add-fns
   '((test1
       ((1 integer) <- add (2 literal) (3 literal)))))
@@ -181,6 +193,7 @@
   (prn "F - ops can take 'literal' operands (but not return them)"))
 
 (reset)
+(new-trace "sub-literal")
 (add-fns
   '((main
       ((1 integer) <- sub (1 literal) (3 literal)))))
@@ -190,6 +203,7 @@
   (prn "F - 'sub' subtracts the value at one address from the value at another"))
 
 (reset)
+(new-trace "mul-literal")
 (add-fns
   '((main
       ((1 integer) <- mul (2 literal) (3 literal)))))
@@ -199,6 +213,7 @@
   (prn "F - 'mul' multiplies like 'add' adds"))
 
 (reset)
+(new-trace "div-literal")
 (add-fns
   '((main
       ((1 integer) <- div (8 literal) (3 literal)))))
@@ -208,6 +223,7 @@
   (prn "F - 'div' divides like 'add' adds"))
 
 (reset)
+(new-trace "idiv-literal")
 (add-fns
   '((main
       ((1 integer) (2 integer) <- idiv (8 literal) (3 literal)))))
@@ -217,6 +233,7 @@
   (prn "F - 'idiv' performs integer division, returning quotient and remainder"))
 
 (reset)
+(new-trace "and-literal")
 (add-fns
   '((main
       ((1 boolean) <- and (t literal) (nil literal)))))
@@ -226,6 +243,7 @@
   (prn "F - logical 'and' for booleans"))
 
 (reset)
+(new-trace "lt-literal")
 (add-fns
   '((main
       ((1 boolean) <- lt (4 literal) (3 literal)))))
@@ -235,6 +253,7 @@
   (prn "F - 'lt' is the less-than inequality operator"))
 
 (reset)
+(new-trace "le-literal-false")
 (add-fns
   '((main
       ((1 boolean) <- le (4 literal) (3 literal)))))
@@ -244,6 +263,7 @@
   (prn "F - 'le' is the <= inequality operator"))
 
 (reset)
+(new-trace "le-literal-true")
 (add-fns
   '((main
       ((1 boolean) <- le (4 literal) (4 literal)))))
@@ -253,6 +273,7 @@
   (prn "F - 'le' returns true for equal operands"))
 
 (reset)
+(new-trace "le-literal-true-2")
 (add-fns
   '((main
       ((1 boolean) <- le (4 literal) (5 literal)))))
@@ -262,6 +283,7 @@
   (prn "F - le is the <= inequality operator - 2"))
 
 (reset)
+(new-trace "jmp-skip")
 (add-fns
   '((main
       ((1 integer) <- copy (8 literal))
@@ -274,6 +296,7 @@
   (prn "F - 'jmp' skips some instructions"))
 
 (reset)
+(new-trace "jmp-target")
 (add-fns
   '((main
       ((1 integer) <- copy (8 literal))
@@ -288,6 +311,7 @@
 ;? (quit)
 
 (reset)
+(new-trace "jif-skip")
 (add-fns
   '((main
       ((2 integer) <- copy (1 literal))
@@ -302,6 +326,7 @@
   (prn "F - 'jif' is a conditional 'jmp'"))
 
 (reset)
+(new-trace "jif-fallthrough")
 (add-fns
   '((main
       ((1 boolean) <- eq (1 literal) (2 literal))
@@ -315,6 +340,7 @@
   (prn "F - if 'jif's first arg is false, it doesn't skip any instructions"))
 
 (reset)
+(new-trace "jif-backward")
 (add-fns
   '((main
       ((1 integer) <- copy (2 literal))
@@ -332,6 +358,7 @@
   (prn "F - 'jif' can take a negative offset to make backward jumps"))
 
 (reset)
+(new-trace "direct-addressing")
 (add-fns
   '((main
       ((1 integer) <- copy (34 literal))
@@ -342,6 +369,7 @@
   (prn "F - 'copy' performs direct addressing"))
 
 (reset)
+(new-trace "indirect-addressing")
 (add-fns
   '((main
       ((1 integer-address) <- copy (2 literal))
@@ -353,6 +381,7 @@
   (prn "F - 'copy' performs indirect addressing"))
 
 (reset)
+(new-trace "indirect-addressing-oarg")
 (add-fns
   '((main
       ((1 integer-address) <- copy (2 literal))
@@ -364,6 +393,7 @@
   (prn "F - instructions can perform indirect addressing on output arg"))
 
 (reset)
+(new-trace "get-record")
 (add-fns
   '((main
       ((1 integer) <- copy (34 literal))
@@ -376,6 +406,7 @@
   (prn "F - 'get' accesses fields of records"))
 
 (reset)
+(new-trace "get-indirect")
 (add-fns
   '((main
       ((1 integer) <- copy (34 literal))
@@ -389,6 +420,7 @@
   (prn "F - 'get' accesses fields of record address"))
 
 (reset)
+(new-trace "get-compound-field")
 (add-fns
   '((main
       ((1 integer) <- copy (34 literal))
@@ -401,6 +433,7 @@
   (prn "F - 'get' accesses fields spanning multiple locations"))
 
 (reset)
+(new-trace "get-address")
 (add-fns
   '((main
       ((1 integer) <- copy (34 literal))
@@ -412,6 +445,7 @@
   (prn "F - 'get-address' returns address of fields of records"))
 
 (reset)
+(new-trace "get-address-indirect")
 (add-fns
   '((main
       ((1 integer) <- copy (34 literal))
@@ -424,6 +458,7 @@
   (prn "F - 'get-address' accesses fields of record address"))
 
 (reset)
+(new-trace "index-array-literal")
 (add-fns
   '((main
       ((1 integer) <- copy (2 literal))
@@ -438,6 +473,7 @@
   (prn "F - 'index' accesses indices of arrays"))
 
 (reset)
+(new-trace "index-array-direct")
 (add-fns
   '((main
       ((1 integer) <- copy (2 literal))
@@ -453,6 +489,7 @@
   (prn "F - 'index' accesses indices of arrays"))
 
 (reset)
+(new-trace "index-address")
 (add-fns
   '((main
       ((1 integer) <- copy (2 literal))
@@ -468,6 +505,7 @@
   (prn "F - 'index-address' returns addresses of indices of arrays"))
 
 (reset)
+(new-trace "len-array")
 (add-fns
   '((main
       ((1 integer) <- copy (2 literal))
@@ -482,6 +520,7 @@
   (prn "F - 'len' accesses length of array"))
 
 (reset)
+(new-trace "sizeof-record")
 (add-fns
   '((main
       ((1 integer) <- sizeof (integer-boolean-pair type)))))
@@ -491,6 +530,7 @@
   (prn "F - 'sizeof' returns space required by arg"))
 
 (reset)
+(new-trace "sizeof-record-not-len")
 (add-fns
   '((main
       ((1 integer) <- sizeof (integer-point-pair type)))))
@@ -502,6 +542,7 @@
 ; todo: test that out-of-bounds access throws an error
 
 (reset)
+(new-trace "compound-operand")
 (add-fns
   '((main
       ((1 integer) <- copy (34 literal))
@@ -514,6 +555,7 @@
   (prn "F - ops can operate on records spanning multiple locations"))
 
 (reset)
+(new-trace "dispatch-otype")
 (add-fns
   '((test1
       ((4 type) <- otype 0)
@@ -536,6 +578,7 @@
 ; todo - test that reply increments pc for caller frame after popping current frame
 
 (reset)
+(new-trace "dispatch-otype-multiple-clauses")
 (add-fns
   '((test-fn
       ((4 type) <- otype 0)
@@ -566,6 +609,7 @@
 ;? (quit)
 
 (reset)
+(new-trace "dispatch-otype-multiple-calls")
 (add-fns
   '((test-fn
       ((4 type) <- otype 0)
@@ -594,6 +638,8 @@
                        4 'integer  5 nil  6 3  7 4  8 7))
   (prn "F - different calls can exercise different clauses of the same function (internals)"))
 
+(reset)
+(new-trace "convert-braces")
 (if (~iso (convert-braces '(((1 integer) <- copy (4 literal))
                             ((2 integer) <- copy (2 literal))
                             ((3 integer) <- add (2 integer) (2 integer))
@@ -612,6 +658,8 @@
             (reply)))
   (prn "F - convert-braces replaces breakif with a jif to after the next close curly"))
 
+(reset)
+(new-trace "convert-braces-empty-block")
 (if (~iso (convert-braces '(((1 integer) <- copy (4 literal))
                             ((2 integer) <- copy (2 literal))
                             ((3 integer) <- add (2 integer) (2 integer))
@@ -626,6 +674,8 @@
             (reply)))
   (prn "F - convert-braces works for degenerate blocks"))
 
+(reset)
+(new-trace "convert-braces-nested-break")
 (if (~iso (convert-braces '(((1 integer) <- copy (4 literal))
                             ((2 integer) <- copy (2 literal))
                             ((3 integer) <- add (2 integer) (2 integer))
@@ -646,6 +696,8 @@
             (reply)))
   (prn "F - convert-braces balances curlies when converting break"))
 
+(reset)
+(new-trace "convert-braces-nested-continue")
 (if (~iso (convert-braces '(((1 integer) <- copy (4 literal))
                             ((2 integer) <- copy (2 literal))
                             { begin
@@ -667,6 +719,7 @@
   (prn "F - convert-braces balances curlies when converting continue"))
 
 (reset)
+(new-trace "continue")
 (add-fns `((main ,@(convert-braces '(((1 integer) <- copy (4 literal))
                                      ((2 integer) <- copy (1 literal))
                                      { begin
@@ -684,6 +737,7 @@
   (prn "F - continue correctly loops"))
 
 (reset)
+(new-trace "continue-fail")
 (add-fns `((main ,@(convert-braces '(((1 integer) <- copy (4 literal))
                                      ((2 integer) <- copy (2 literal))
                                      { begin
@@ -701,6 +755,7 @@
   (prn "F - continue might never trigger"))
 
 (reset)
+(new-trace "new-primitive")
 (let before Memory-in-use-until
   (add-fns
     '((main
@@ -713,6 +768,7 @@
     (prn "F - 'new' on primitive types increments high-water mark by their size")))
 
 (reset)
+(new-trace "new-array-literal")
 (let before Memory-in-use-until
   (add-fns
     '((main
@@ -725,6 +781,7 @@
     (prn "F - 'new' on primitive arrays increments high-water mark by their size")))
 
 (reset)
+(new-trace "new-array-direct")
 (let before Memory-in-use-until
   (add-fns
     '((main
@@ -738,6 +795,7 @@
     (prn "F - 'new' on primitive arrays increments high-water mark by their (variable) size")))
 
 (reset)
+(new-trace "scheduler")
 (add-fns
   '((f1
       ((1 integer) <- copy (3 literal)))
@@ -758,3 +816,5 @@
     ("schedule" "f2")
     ("run" "f2 0")
   ))
+
+(reset)