about summary refs log tree commit diff stats
path: root/test_layers
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-09-08 22:47:30 -0700
committerKartik Agaram <vc@akkartik.com>2020-09-08 22:48:47 -0700
commit6b36e4dbc7749addeebe523992e0bcb62ad6b2d5 (patch)
treee041a9099e170c84c23a352d92fcf8efd536d788 /test_layers
parentd9a05dfbb7ac73b31b1f3c1fb36a5324243da8a2 (diff)
downloadmu-6b36e4dbc7749addeebe523992e0bcb62ad6b2d5.tar.gz
6760
Fix a couple of subtle bugs.

- the VM was conditionally reading from the instruction stream, so that
  other bugs got masked by decoding errors.
- push-n-bytes was clobbering eax.
Diffstat (limited to 'test_layers')
0 files changed, 0 insertions, 0 deletions
t.mu?h=hlt&id=a316f1e4168a98ba8c1bbe7b091f8a7e7b3f03e6'>^
ad8161f3 ^
22b30692 ^





7a84094a ^
22b30692 ^

ad8161f3 ^
22b30692 ^






7a84094a ^
22b30692 ^

ad8161f3 ^
0f996b7b ^

d9cd13ad ^
3f7eed6c ^
d9cd13ad ^
7a84094a ^
08f4628e ^


d9cd13ad ^
22b30692 ^
ad8161f3 ^
d9cd13ad ^

22b30692 ^


7a84094a ^
22b30692 ^

ad8161f3 ^
22b30692 ^




7a84094a ^
22b30692 ^

ad8161f3 ^
22b30692 ^




65b3db5d ^
22b30692 ^




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
                                        
 

                               
                      
   
                         
           





                                      
                      

                         
           






                                                
                      

                         
           

   
 
                               
       
                    


                             
   
                         
                               

   


                      
                      

                        
                                 




                               
                      

                            
                                 




                                  
                         




                        
# tests for 'scenario' in previous layer

scenario first_scenario_in_mu [
  run [
    10:num <- add 2, 2
  ]
  memory-should-contain [
    10 <- 4
  ]
]

scenario scenario_with_comment_in_mu [
  run [
    # comment
    10:num <- add 2, 2
  ]
  memory-should-contain [
    10 <- 4
  ]
]

scenario scenario_with_multiple_comments_in_mu [
  run [
    # comment1
    # comment2
    10:num <- add 2, 2
  ]
  memory-should-contain [
    10 <- 4
  ]
]

scenario check_text_in_memory [
  run [
    10:num <- copy 3
    11:char <- copy 97  # 'a'
    12:char <- copy 98  # 'b'
    13:char <- copy 99  # 'c'
  ]
  memory-should-contain [
    10:array:character <- [abc]
  ]
]

scenario check_trace [
  run [
    10:num <- add 2, 2
  ]
  trace-should-contain [
    mem: storing 4 in location 10
  ]
]

scenario check_trace_negative [
  run [
    10:num <- add 2, 2
  ]
  trace-should-not-contain [
    mem: storing 3 in location 10
  ]
]

scenario check_trace_instruction [
  run [
    trace 1, [foo], [aaa]
  ]
  trace-should-contain [
    foo: aaa
  ]
]