diff options
| author | Rose Hogenson <rhogenson@posteo.net> | 2022-07-26 19:24:10 -0700 |
|---|---|---|
| committer | Rose Hogenson <rhogenson@posteo.net> | 2022-07-26 19:24:10 -0700 |
| commit | becfaeb778a3c8ba241e2155b998d6b27dcfad0c (patch) | |
| tree | 97ca02178660fe958026a707905eac1c5ebd188d /csc/encoding-test.csc | |
| parent | Fix an issue with how the linker combined files. (diff) | |
| download | chromatopelma-becfaeb778a3c8ba241e2155b998d6b27dcfad0c.tar.zst | |
Fix a potential R7RS issue.
I was using the load procedure to load a program, but by a strict
reading of R7RS, load can only handle expressions and definitions, not
imports. So instead I'm defining each test as a library, and using the
environment procedure to load them at runtime.
Diffstat (limited to 'csc/encoding-test.csc')
| -rw-r--r-- | csc/encoding-test.csc | 164 |
1 files changed, 83 insertions, 81 deletions
diff --git a/csc/encoding-test.csc b/csc/encoding-test.csc index fb9fe21..7a96c51 100644 --- a/csc/encoding-test.csc +++ b/csc/encoding-test.csc @@ -1,119 +1,121 @@ -(import (scheme base) - (only (csc testing) - assert-equal - test) - (csc encoding)) +(define-library (csc encoding-test) + (import (scheme base) + (only (csc testing) + assert-equal + test) + (csc encoding)) + (begin -(test encode-mov - (assert-equal - #u8(0 1 2) - (encode '((mov (local 1) (local 2)))))) + (test encode-mov + (assert-equal + #u8(0 1 2) + (encode '((mov (local 1) (local 2)))))) -(test encode-int - (assert-equal - #u8(2 1 #x15 0 0 0 0 0 0 0) - (encode '((mov (local 1) (const 10)))))) + (test encode-int + (assert-equal + #u8(2 1 #x15 0 0 0 0 0 0 0) + (encode '((mov (local 1) (const 10)))))) -(test encode-negative-int - (assert-equal - #u8(2 1 #xed #xff #xff #xff #xff #xff #xff #xff) - (encode '((mov (local 1) (const -10)))))) + (test encode-negative-int + (assert-equal + #u8(2 1 #xed #xff #xff #xff #xff #xff #xff #xff) + (encode '((mov (local 1) (const -10)))))) -(test encode-true - (assert-equal - #u8(2 1 #xa 0 0 0 0 0 0 0) - (encode '((mov (local 1) (const #t)))))) + (test encode-true + (assert-equal + #u8(2 1 #xa 0 0 0 0 0 0 0) + (encode '((mov (local 1) (const #t)))))) -(test encode-false - (assert-equal - #u8(2 1 #x2 0 0 0 0 0 0 0) - (encode '((mov (local 1) (const #f)))))) + (test encode-false + (assert-equal + #u8(2 1 #x2 0 0 0 0 0 0 0) + (encode '((mov (local 1) (const #f)))))) -(test encode-nil - (assert-equal - #u8(2 1 #x12 0 0 0 0 0 0 0) - (encode '((mov (local 1) (const ())))))) + (test encode-nil + (assert-equal + #u8(2 1 #x12 0 0 0 0 0 0 0) + (encode '((mov (local 1) (const ())))))) -(test encode-jmpif - (assert-equal - #u8(4 1 2) - (encode '((jmpif (local 1) (local 2)))))) + (test encode-jmpif + (assert-equal + #u8(4 1 2) + (encode '((jmpif (local 1) (local 2)))))) -(test encode-jmp - (assert-equal - #u8(8 1) - (encode '((jmp (local 1)))))) + (test encode-jmp + (assert-equal + #u8(8 1) + (encode '((jmp (local 1)))))) -(test encode-alloc - (assert-equal - #u8(12 1 2) - (encode '((alloc (local 1) (local 2)))))) + (test encode-alloc + (assert-equal + #u8(12 1 2) + (encode '((alloc (local 1) (local 2)))))) -(test encode-peek - (assert-equal - #u8(17 1 2 1 0 0 0 0 0 0 0) - (encode '((peek (local 1) (local 2) (const 0)))))) + (test encode-peek + (assert-equal + #u8(17 1 2 1 0 0 0 0 0 0 0) + (encode '((peek (local 1) (local 2) (const 0)))))) -(test encode-poke - (assert-equal - #u8(23 #x15 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0) - (encode '((poke (const 10) (local 1) (const 0)))))) + (test encode-poke + (assert-equal + #u8(23 #x15 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0) + (encode '((poke (const 10) (local 1) (const 0)))))) -(test encode-add - (assert-equal - #u8(24 1 2 3) - (encode '((add (local 1) (local 2) (local 3)))))) + (test encode-add + (assert-equal + #u8(24 1 2 3) + (encode '((add (local 1) (local 2) (local 3)))))) -(test encode-sub - (assert-equal - #u8(28 1 2 3) - (encode '((sub (local 1) (local 2) (local 3)))))) + (test encode-sub + (assert-equal + #u8(28 1 2 3) + (encode '((sub (local 1) (local 2) (local 3)))))) -(test encode-mul - (assert-equal - #u8(32 1 2 3) - (encode '((mul (local 1) (local 2) (local 3)))))) + (test encode-mul + (assert-equal + #u8(32 1 2 3) + (encode '((mul (local 1) (local 2) (local 3)))))) -(test encode-div - (assert-equal - #u8(36 1 2 3) - (encode '((div (local 1) (local 2) (local 3)))))) + (test encode-div + (assert-equal + #u8(36 1 2 3) + (encode '((div (local 1) (local 2) (local 3)))))) -(test encode-mod - (assert-equal - #u8(40 1 2 3) - (encode '((mod (local 1) (local 2) (local 3)))))) + (test encode-mod + (assert-equal + #u8(40 1 2 3) + (encode '((mod (local 1) (local 2) (local 3)))))) -(test encode-peekbyte - (assert-equal - #u8(44 1 2 3) - (encode '((peekbyte (local 1) (local 2) (local 3)))))) + (test encode-peekbyte + (assert-equal + #u8(44 1 2 3) + (encode '((peekbyte (local 1) (local 2) (local 3)))))) -(test encode-pokebyte - (assert-equal - #u8(48 1 2 3) - (encode '((pokebyte (local 1) (local 2) (local 3)))))) + (test encode-pokebyte + (assert-equal + #u8(48 1 2 3) + (encode '((pokebyte (local 1) (local 2) (local 3)))))) -(test encode-exit - (assert-equal - #u8(52) - (encode '((exit))))) + (test encode-exit + (assert-equal + #u8(52) + (encode '((exit))))))) |
