Lab 3 results
Build profile: -w ghc-9.8.4 -O1
In order, the following will be built (use -v for more details):
- call-stack-0.4.0 (lib) (requires build)
- colour-2.3.6 (lib) (requires build)
- prettyprinter-1.7.1 (lib) (requires build)
- tagged-0.8.9 (lib) (requires build)
- transformers-compat-0.7.2 (lib) (requires build)
- ansi-terminal-types-1.1 (lib) (requires build)
- ansi-terminal-1.1.2 (lib) (requires build)
- prettyprinter-ansi-terminal-1.1.3 (lib) (requires build)
- optparse-applicative-0.18.1.0 (lib) (requires build)
- tasty-1.4.3 (lib) (requires build)
- tasty-hunit-0.10.2 (lib) (requires build)
- miniwasm-0.0.0.0 (test:miniwasm-test) (first run)
Starting call-stack-0.4.0 (lib)
Starting tagged-0.8.9 (lib)
Starting colour-2.3.6 (lib)
Starting transformers-compat-0.7.2 (lib)
Starting prettyprinter-1.7.1 (lib)
Building call-stack-0.4.0 (lib)
Building tagged-0.8.9 (lib)
Building colour-2.3.6 (lib)
Building transformers-compat-0.7.2 (lib)
Building prettyprinter-1.7.1 (lib)
Installing call-stack-0.4.0 (lib)
Completed call-stack-0.4.0 (lib)
Installing tagged-0.8.9 (lib)
Completed tagged-0.8.9 (lib)
Installing transformers-compat-0.7.2 (lib)
Completed transformers-compat-0.7.2 (lib)
Installing colour-2.3.6 (lib)
Completed colour-2.3.6 (lib)
Starting ansi-terminal-types-1.1 (lib)
Building ansi-terminal-types-1.1 (lib)
Installing ansi-terminal-types-1.1 (lib)
Completed ansi-terminal-types-1.1 (lib)
Starting ansi-terminal-1.1.2 (lib)
Building ansi-terminal-1.1.2 (lib)
Installing ansi-terminal-1.1.2 (lib)
Completed ansi-terminal-1.1.2 (lib)
Installing prettyprinter-1.7.1 (lib)
Completed prettyprinter-1.7.1 (lib)
Starting prettyprinter-ansi-terminal-1.1.3 (lib)
Building prettyprinter-ansi-terminal-1.1.3 (lib)
Installing prettyprinter-ansi-terminal-1.1.3 (lib)
Completed prettyprinter-ansi-terminal-1.1.3 (lib)
Starting optparse-applicative-0.18.1.0 (lib)
Building optparse-applicative-0.18.1.0 (lib)
Installing optparse-applicative-0.18.1.0 (lib)
Completed optparse-applicative-0.18.1.0 (lib)
Starting tasty-1.4.3 (lib)
Building tasty-1.4.3 (lib)
Installing tasty-1.4.3 (lib)
Completed tasty-1.4.3 (lib)
Starting tasty-hunit-0.10.2 (lib)
Building tasty-hunit-0.10.2 (lib)
Installing tasty-hunit-0.10.2 (lib)
Completed tasty-hunit-0.10.2 (lib)
Configuring test suite 'miniwasm-test' for miniwasm-0.0.0.0...
Preprocessing test suite 'miniwasm-test' for miniwasm-0.0.0.0...
Building test suite 'miniwasm-test' for miniwasm-0.0.0.0...
[1 of 1] Compiling Main ( test/Main.hs, /root/miniwasm/dist-newstyle/build/aarch64-linux/ghc-9.8.4/miniwasm-0.0.0.0/t/miniwasm-test/build/miniwasm-test/miniwasm-test-tmp/Main.o )
[2 of 2] Linking /root/miniwasm/dist-newstyle/build/aarch64-linux/ghc-9.8.4/miniwasm-0.0.0.0/t/miniwasm-test/build/miniwasm-test/miniwasm-test
MiniWasm tests
Small-step evaluation
Nop: OK
Drop: OK
Unreachable: OK
Add: OK
Add64: OK
LocalGet: OK
LocalSet: OK
MemSize: OK
MemLoad: OK
MemStore: OK
Block: OK
Loop: OK
BrIf-Block: OK
BrIf-Loop: OK
Label-Nested: OK
Call: OK
Return: OK
Frame-Nested: OK
Locals64: OK
Call64: OK
Block-Tail-BrIf-True: OK
Block-Tail-BrIf-False: OK
Loop-Tail: FAIL
test/Main.hs:21:
expected: Config {funcs = [], memory = [], locals = [V_I64 0], stack = [], instrs = [Label {stackDepth = 2, continuation = [Loop (Params {unwrap = [I64,I32]}) (Results {unwrap = [I32]}) [I64_Const 1,I64_BinOp Sub,LocalSet 0,LocalGet 0,LocalGet 0,I64_Const 0,I64_RelOp Gt,BrIf 0,Drop,I32_Const 2,I32_BinOp Div]], innerStack = [V_I64 3,V_I32 6], body = [Plain (I64_Const 1),Plain (I64_BinOp Sub),Plain (LocalSet 0),Plain (LocalGet 0),Plain (LocalGet 0),Plain (I64_Const 0),Plain (I64_RelOp Gt),Plain (BrIf 0),Plain Drop,Plain (I32_Const 2),Plain (I32_BinOp Div)]},Plain (I64_Const 7),Plain (LocalSet 0)]}
but got: Config {funcs = [], memory = [], locals = [V_I64 0], stack = [], instrs = [Label {stackDepth = 1, continuation = [Loop (Params {unwrap = [I64,I32]}) (Results {unwrap = [I32]}) [I64_Const 1,I64_BinOp Sub,LocalSet 0,LocalGet 0,LocalGet 0,I64_Const 0,I64_RelOp Gt,BrIf 0,Drop,I32_Const 2,I32_BinOp Div]], innerStack = [V_I64 3,V_I32 6], body = [Plain (I64_Const 1),Plain (I64_BinOp Sub),Plain (LocalSet 0),Plain (LocalGet 0),Plain (LocalGet 0),Plain (I64_Const 0),Plain (I64_RelOp Gt),Plain (BrIf 0),Plain Drop,Plain (I32_Const 2),Plain (I32_BinOp Div)]},Plain (I64_Const 7),Plain (LocalSet 0)]}
Use -p '/Loop-Tail/' to rerun this test only.
Full programs
simpleAdd: OK
isEven: OK
factorial: OK
factorial64: OK
factorialRecursive: OK
memorySimple: OK
localsSimple: OK
localsFunction: OK
unreachable: OK
loadOutOfBounds: OK
storeOutOfBounds: OK
1 out of 34 tests failed (0.01s)
src/MiniWasm/Execution.hs:251:1: warning: [GHC-53633] [-Woverlapping-patterns]
Pattern match is redundant
In an equation for `valueToInt64': valueToInt64 _ = ...
|
251 | valueToInt64 _ = error "Invalid value type"
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/MiniWasm/Execution.hs:256:1: warning: [GHC-53633] [-Woverlapping-patterns]
Pattern match is redundant
In an equation for `valueToInt32': valueToInt32 _ = ...
|
256 | valueToInt32 _ = error "Invalid value type"
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/MiniWasm/Execution.hs:261:1: warning: [GHC-53633] [-Woverlapping-patterns]
Pattern match is redundant
In an equation for `valueToInt': valueToInt _ = ...
|
261 | valueToInt _ = error "Invalid value type"
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-------------
Total: 99