diff options
author | Kartik Agaram <vc@akkartik.com> | 2019-04-10 17:22:00 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2019-04-10 17:22:00 -0700 |
commit | 52a2a21c1cdefb241aa0e43b9e0b0a027f6dc511 (patch) | |
tree | 6b7c4e48c8442d951e6eaffb2359732a0ed30844 /subx/apps | |
parent | fdf84d43d1b1e7f2adf246663af2e3daf9600786 (diff) | |
download | mu-52a2a21c1cdefb241aa0e43b9e0b0a027f6dc511.tar.gz |
5074
Fail early when writing to a fake file runs out of space. Makes debugging tests easier. Reads from files, on the other hand, are only buffering to a temporary stream, so it makes sense to silently stop when they run out of space. In the process I uncovered a testing bug in pack.subx: I was missing a trailing space in the expected result, but the test still passed because the space was getting truncated. Being principled about aborting on overflow by default will help avoid such issues.
Diffstat (limited to 'subx/apps')
-rwxr-xr-x | subx/apps/crenshaw2-1 | bin | 17957 -> 18156 bytes | |||
-rw-r--r-- | subx/apps/crenshaw2-1.subx | 11 | ||||
-rwxr-xr-x | subx/apps/crenshaw2-1b | bin | 18516 -> 18715 bytes | |||
-rw-r--r-- | subx/apps/crenshaw2-1b.subx | 11 | ||||
-rwxr-xr-x | subx/apps/factorial | bin | 16875 -> 17018 bytes | |||
-rwxr-xr-x | subx/apps/handle | bin | 17649 -> 17792 bytes | |||
-rwxr-xr-x | subx/apps/hex | bin | 20928 -> 21191 bytes | |||
-rw-r--r-- | subx/apps/hex.subx | 19 | ||||
-rwxr-xr-x | subx/apps/pack | bin | 35463 -> 35607 bytes | |||
-rw-r--r-- | subx/apps/pack.subx | 264 |
10 files changed, 185 insertions, 120 deletions
diff --git a/subx/apps/crenshaw2-1 b/subx/apps/crenshaw2-1 index 71a66394..c30a1910 100755 --- a/subx/apps/crenshaw2-1 +++ b/subx/apps/crenshaw2-1 Binary files differdiff --git a/subx/apps/crenshaw2-1.subx b/subx/apps/crenshaw2-1.subx index 05fdbbfe..4aa83988 100644 --- a/subx/apps/crenshaw2-1.subx +++ b/subx/apps/crenshaw2-1.subx @@ -33,7 +33,7 @@ Entry: # run tests if necessary, call 'compile' if not #? # for debugging: run a single test; don't bother setting status code -#? e8/call test-get-num-reads-single-digit/disp32 +#? e8/call test-get-num-aborts-on-non-digit-in-Look/disp32 #? eb/jump $main:end/disp8 # . prolog @@ -594,8 +594,15 @@ _test-error-stream: # current read index 0/imm32 # length - 8/imm32 + 0x40/imm32 # data 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes # . . vim:nowrap:textwidth=0 diff --git a/subx/apps/crenshaw2-1b b/subx/apps/crenshaw2-1b index 1528d546..79979b26 100755 --- a/subx/apps/crenshaw2-1b +++ b/subx/apps/crenshaw2-1b Binary files differdiff --git a/subx/apps/crenshaw2-1b.subx b/subx/apps/crenshaw2-1b.subx index ba30ef94..87826588 100644 --- a/subx/apps/crenshaw2-1b.subx +++ b/subx/apps/crenshaw2-1b.subx @@ -722,6 +722,7 @@ expected: # ed : (address exit-descriptor), f : fd or (address stream), s : (ad # . . call e8/call stop/disp32 # should never get past this point +$expected:dead-end: # . epilog 89/copy 3/mod/direct 4/rm32/ESP . . . 5/r32/EBP . . # copy EBP to ESP 5d/pop-to-EBP @@ -743,6 +744,7 @@ get-char: # f : (address buffered-file) -> <void> 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP # save EAX to Look 89/copy 0/mod/indirect 5/rm32/.disp32 . . 0/r32/EAX Look/disp32 . # copy EAX to *Look +$get-char:end: # . restore registers 58/pop-to-EAX # . epilog @@ -791,8 +793,15 @@ _test-error-stream: # current read index 0/imm32 # length - 8/imm32 + 0x40/imm32 # data 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes # . . vim:nowrap:textwidth=0 diff --git a/subx/apps/factorial b/subx/apps/factorial index 30244f79..6ce4fc6b 100755 --- a/subx/apps/factorial +++ b/subx/apps/factorial Binary files differdiff --git a/subx/apps/handle b/subx/apps/handle index 3c80796e..3de933dd 100755 --- a/subx/apps/handle +++ b/subx/apps/handle Binary files differdiff --git a/subx/apps/hex b/subx/apps/hex index 66c66b5b..331997cf 100755 --- a/subx/apps/hex +++ b/subx/apps/hex Binary files differdiff --git a/subx/apps/hex.subx b/subx/apps/hex.subx index 88dc19fd..08aff7e5 100644 --- a/subx/apps/hex.subx +++ b/subx/apps/hex.subx @@ -20,7 +20,7 @@ Entry: # run tests if necessary, convert stdin if not #? # for debugging: run a single test -#? e8/call test-skip-until-newline/disp32 +#? e8/call test-convert-next-octet-aborts-on-single-hex-byte/disp32 #? 8b/copy 0/mod/indirect 5/rm32/.disp32 . . 3/r32/EBX Num-test-failures/disp32 # copy *Num-test-failures to EBX #? eb/jump $main:end/disp8 @@ -1516,9 +1516,24 @@ _test-error-stream: # current read index 0/imm32 # length - 8/imm32 + 0x80/imm32 # data 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes + 00 00 00 00 00 00 00 00 # 8 bytes # a test buffered file for _test-error-stream _test-error-buffered-file: diff --git a/subx/apps/pack b/subx/apps/pack index 41593ba3..06d5e32b 100755 --- a/subx/apps/pack +++ b/subx/apps/pack Binary files differdiff --git a/subx/apps/pack.subx b/subx/apps/pack.subx index ae065f61..ef2a52c0 100644 --- a/subx/apps/pack.subx +++ b/subx/apps/pack.subx @@ -21,7 +21,7 @@ Entry: # run tests if necessary, convert stdin if not # for debugging: run a single test -#? e8/call test-convert-data-trailing-comment/disp32 +#? e8/call test-emit-non-number-with-all-hex-digits-and-metadata/disp32 #? 8b/copy 0/mod/indirect 5/rm32/.disp32 . . 3/r32/EBX Num-test-failures/disp32 # copy *Num-test-failures to EBX #? eb/jump $main:end/disp8 @@ -1280,7 +1280,7 @@ test-convert-data-passes-comments-through: 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP # . clear-stream(_test-output-buffered-file+4) # . . push args - b8/copy-to-EAX _test-buffered-file/imm32 + b8/copy-to-EAX _test-output-buffered-file/imm32 05/add-to-EAX 4/imm32 50/push-EAX # . . call @@ -3573,7 +3573,7 @@ test-convert-instruction-passes-comments-through: 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP # . clear-stream(_test-output-buffered-file+4) # . . push args - b8/copy-to-EAX _test-buffered-file/imm32 + b8/copy-to-EAX _test-output-buffered-file/imm32 05/add-to-EAX 4/imm32 50/push-EAX # . . call @@ -6604,16 +6604,16 @@ test-emit-number: 55/push-EBP 89/copy 3/mod/direct 5/rm32/EBP . . . 4/r32/ESP . . # copy ESP to EBP # setup - # . clear-stream(_test-stream) + # . clear-stream(_test-output-stream) # . . push args - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call clear-stream/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # . clear-stream(_test-buffered-file+4) + # . clear-stream(_test-output-buffered-file+4) # . . push args - b8/copy-to-EAX _test-buffered-file/imm32 + b8/copy-to-EAX _test-output-buffered-file/imm32 05/add-to-EAX 4/imm32 50/push-EAX # . . call @@ -6624,27 +6624,27 @@ test-emit-number: 68/push _test-slice-three-zero-end/imm32/end 68/push _test-slice-three-zero/imm32/start 89/copy 3/mod/direct 1/rm32/ECX . . . 4/r32/ESP . . # copy ESP to ECX - # emit(_test-buffered-file, slice, 1) + # emit(_test-output-buffered-file, slice, 1) # . . push args 68/push 1/imm32 51/push-ECX - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call emit/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 0xc/imm32 # add to ESP - # flush(_test-buffered-file) + # flush(_test-output-buffered-file) # . . push args - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call flush/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # check-stream-equal(_test-stream, "30 ", msg) + # check-stream-equal(_test-output-stream, "30 ", msg) # . . push args 68/push "F - test-emit-number/1"/imm32 68/push "30 "/imm32 - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call check-stream-equal/disp32 # . . discard args @@ -6660,16 +6660,16 @@ test-emit-negative-number: 55/push-EBP 89/copy 3/mod/direct 5/rm32/EBP . . . 4/r32/ESP . . # copy ESP to EBP # setup - # . clear-stream(_test-stream) + # . clear-stream(_test-output-stream) # . . push args - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call clear-stream/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # . clear-stream(_test-buffered-file+4) + # . clear-stream(_test-output-buffered-file+4) # . . push args - b8/copy-to-EAX _test-buffered-file/imm32 + b8/copy-to-EAX _test-output-buffered-file/imm32 05/add-to-EAX 4/imm32 50/push-EAX # . . call @@ -6680,27 +6680,27 @@ test-emit-negative-number: 68/push _test-slice-negative-two-end/imm32/end 68/push _test-slice-negative-two/imm32/start 89/copy 3/mod/direct 1/rm32/ECX . . . 4/r32/ESP . . # copy ESP to ECX - # emit(_test-buffered-file, slice, 2) + # emit(_test-output-buffered-file, slice, 2) # . . push args 68/push 2/imm32 51/push-ECX - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call emit/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 0xc/imm32 # add to ESP - # flush(_test-buffered-file) + # flush(_test-output-buffered-file) # . . push args - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call flush/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # check-stream-equal(_test-stream, "fe ff ", msg) + # check-stream-equal(_test-output-stream, "fe ff ", msg) # . . push args 68/push "F - test-emit-number/1"/imm32 68/push "fe ff "/imm32 - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call check-stream-equal/disp32 # . . discard args @@ -6715,16 +6715,16 @@ test-emit-number-with-metadata: 55/push-EBP 89/copy 3/mod/direct 5/rm32/EBP . . . 4/r32/ESP . . # copy ESP to EBP # setup - # . clear-stream(_test-stream) + # . clear-stream(_test-output-stream) # . . push args - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call clear-stream/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # . clear-stream(_test-buffered-file+4) + # . clear-stream(_test-output-buffered-file+4) # . . push args - b8/copy-to-EAX _test-buffered-file/imm32 + b8/copy-to-EAX _test-output-buffered-file/imm32 05/add-to-EAX 4/imm32 50/push-EAX # . . call @@ -6735,28 +6735,28 @@ test-emit-number-with-metadata: 68/push _test-slice-negative-two-metadata-end/imm32/end 68/push _test-slice-negative-two/imm32/start 89/copy 3/mod/direct 1/rm32/ECX . . . 4/r32/ESP . . # copy ESP to ECX - # emit(_test-buffered-file, slice, 2) + # emit(_test-output-buffered-file, slice, 2) # . . push args 68/push 2/imm32 51/push-ECX - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call emit/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 0xc/imm32 # add to ESP - # flush(_test-buffered-file) + # flush(_test-output-buffered-file) # . . push args - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call flush/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP # the '/foo' will have no impact on the output - # check-stream-equal(_test-stream, "fe ff ", msg) + # check-stream-equal(_test-output-stream, "fe ff ", msg) # . . push args 68/push "F - test-emit-number-with-metadata"/imm32 68/push "fe ff "/imm32 - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call check-stream-equal/disp32 # . . discard args @@ -6771,16 +6771,16 @@ test-emit-non-number: 55/push-EBP 89/copy 3/mod/direct 5/rm32/EBP . . . 4/r32/ESP . . # copy ESP to EBP # setup - # . clear-stream(_test-stream) + # . clear-stream(_test-output-stream) # . . push args - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call clear-stream/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # . clear-stream(_test-buffered-file+4) + # . clear-stream(_test-output-buffered-file+4) # . . push args - b8/copy-to-EAX _test-buffered-file/imm32 + b8/copy-to-EAX _test-output-buffered-file/imm32 05/add-to-EAX 4/imm32 50/push-EAX # . . call @@ -6791,27 +6791,27 @@ test-emit-non-number: 68/push _test-slice-non-number-word-end/imm32/end 68/push _test-slice-non-number-word/imm32/start 89/copy 3/mod/direct 1/rm32/ECX . . . 4/r32/ESP . . # copy ESP to ECX - # emit(_test-buffered-file, slice, 2) + # emit(_test-output-buffered-file, slice, 2) # . . push args 68/push 2/imm32 51/push-ECX - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call emit/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 0xc/imm32 # add to ESP - # flush(_test-buffered-file) + # flush(_test-output-buffered-file) # . . push args - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call flush/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # check-stream-equal(_test-stream, "xyz", msg) + # check-stream-equal(_test-output-stream, "xyz", msg) # . . push args 68/push "F - test-emit-non-number"/imm32 68/push "xyz "/imm32 - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call check-stream-equal/disp32 # . . discard args @@ -6826,16 +6826,16 @@ test-emit-non-number-with-metadata: 55/push-EBP 89/copy 3/mod/direct 5/rm32/EBP . . . 4/r32/ESP . . # copy ESP to EBP # setup - # . clear-stream(_test-stream) + # . clear-stream(_test-output-stream) # . . push args - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call clear-stream/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # . clear-stream(_test-buffered-file+4) + # . clear-stream(_test-output-buffered-file+4) # . . push args - b8/copy-to-EAX _test-buffered-file/imm32 + b8/copy-to-EAX _test-output-buffered-file/imm32 05/add-to-EAX 4/imm32 50/push-EAX # . . call @@ -6846,27 +6846,27 @@ test-emit-non-number-with-metadata: 68/push _test-slice-non-number-word-metadata-end/imm32/end 68/push _test-slice-non-number-word/imm32/start 89/copy 3/mod/direct 1/rm32/ECX . . . 4/r32/ESP . . # copy ESP to ECX - # emit(_test-buffered-file, slice, 2) + # emit(_test-output-buffered-file, slice, 2) # . . push args 68/push 2/imm32 51/push-ECX - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call emit/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 0xc/imm32 # add to ESP - # flush(_test-buffered-file) + # flush(_test-output-buffered-file) # . . push args - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call flush/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # check-stream-equal(_test-stream, "xyz/", msg) + # check-stream-equal(_test-output-stream, "xyz/", msg) # . . push args 68/push "F - test-emit-non-number-with-metadata"/imm32 68/push "xyz/ "/imm32 - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call check-stream-equal/disp32 # . . discard args @@ -6881,16 +6881,16 @@ test-emit-non-number-with-all-hex-digits-and-metadata: 55/push-EBP 89/copy 3/mod/direct 5/rm32/EBP . . . 4/r32/ESP . . # copy ESP to EBP # setup - # . clear-stream(_test-stream) + # . clear-stream(_test-output-stream) # . . push args - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call clear-stream/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # . clear-stream(_test-buffered-file+4) + # . clear-stream(_test-output-buffered-file+4) # . . push args - b8/copy-to-EAX _test-buffered-file/imm32 + b8/copy-to-EAX _test-output-buffered-file/imm32 05/add-to-EAX 4/imm32 50/push-EAX # . . call @@ -6901,27 +6901,61 @@ test-emit-non-number-with-all-hex-digits-and-metadata: 68/push _test-slice-hexlike-non-number-word-metadata-end/imm32/end 68/push _test-slice-hexlike-non-number-word/imm32/start 89/copy 3/mod/direct 1/rm32/ECX . . . 4/r32/ESP . . # copy ESP to ECX - # emit(_test-buffered-file, slice, 2) + # emit(_test-output-buffered-file, slice, 2) # . . push args 68/push 2/imm32 51/push-ECX - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call emit/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 0xc/imm32 # add to ESP - # flush(_test-buffered-file) + # flush(_test-output-buffered-file) # . . push args - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call flush/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # check-stream-equal(_test-stream, "abcd/xyz") +#? # dump output {{{ +#? # . write(2/stderr, "^") +#? # . . push args +#? 68/push "^"/imm32 +#? 68/push 2/imm32/stderr +#? # . . call +#? e8/call write/disp32 +#? # . . discard args +#? 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 8/imm32 # add to ESP +#? # . write-stream(2/stderr, _test-output-stream) +#? # . . push args +#? 68/push _test-output-stream/imm32 +#? 68/push 2/imm32/stderr +#? # . . call +#? e8/call write-stream/disp32 +#? # . . discard args +#? 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 8/imm32 # add to ESP +#? # . write(2/stderr, "$") +#? # . . push args +#? 68/push "$"/imm32 +#? 68/push 2/imm32/stderr +#? # . . call +#? e8/call write/disp32 +#? # . . discard args +#? 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 8/imm32 # add to ESP +#? # . write(2/stderr, "\n") +#? # . . push args +#? 68/push Newline/imm32 +#? 68/push 2/imm32/stderr +#? # . . call +#? e8/call write/disp32 +#? # . . discard args +#? 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 8/imm32 # add to ESP +#? # }}} + # check-stream-equal(_test-output-stream, "abcd/xyz") # . . push args 68/push "F - test-emit-non-number-with-all-hex-digits"/imm32 - 68/push "abcd/xyz"/imm32 - 68/push _test-stream/imm32 + 68/push "abcd/xyz "/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call check-stream-equal/disp32 # . . discard args @@ -7226,44 +7260,44 @@ $emit-hex:end: test-emit-hex-single-byte: # setup - # . clear-stream(_test-stream) + # . clear-stream(_test-output-stream) # . . push args - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call clear-stream/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # . clear-stream(_test-buffered-file+4) + # . clear-stream(_test-output-buffered-file+4) # . . push args - b8/copy-to-EAX _test-buffered-file/imm32 + b8/copy-to-EAX _test-output-buffered-file/imm32 05/add-to-EAX 4/imm32 50/push-EAX # . . call e8/call clear-stream/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # emit-hex(_test-buffered-file, 0xab, 1) + # emit-hex(_test-output-buffered-file, 0xab, 1) # . . push args 68/push 1/imm32 68/push 0xab/imm32 - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call emit-hex/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 0xc/imm32 # add to ESP - # flush(_test-buffered-file) + # flush(_test-output-buffered-file) # . . push args - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call flush/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # check-ints-equal(*_test-stream->data, 'ab ', msg) + # check-ints-equal(*_test-output-stream->data, 'ab ', msg) # . . push args 68/push "F - test-emit-hex-single-byte"/imm32 68/push 0x206261/imm32 - # . . push *_test-stream->data - b8/copy-to-EAX _test-stream/imm32 + # . . push *_test-output-stream->data + b8/copy-to-EAX _test-output-stream/imm32 ff 6/subop/push 1/mod/*+disp8 0/rm32/EAX . . . . 0xc/disp8 . # push *(EAX+12) # . . call e8/call check-ints-equal/disp32 @@ -7274,43 +7308,43 @@ test-emit-hex-single-byte: test-emit-hex-multiple-byte: # setup - # . clear-stream(_test-stream) + # . clear-stream(_test-output-stream) # . . push args - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call clear-stream/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # . clear-stream(_test-buffered-file+4) + # . clear-stream(_test-output-buffered-file+4) # . . push args - b8/copy-to-EAX _test-buffered-file/imm32 + b8/copy-to-EAX _test-output-buffered-file/imm32 05/add-to-EAX 4/imm32 50/push-EAX # . . call e8/call clear-stream/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # emit-hex(_test-buffered-file, 0x1234, 2) + # emit-hex(_test-output-buffered-file, 0x1234, 2) # . . push args 68/push 2/imm32 68/push 0x1234/imm32 - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call emit-hex/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 0xc/imm32 # add to ESP - # flush(_test-buffered-file) + # flush(_test-output-buffered-file) # . . push args - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call flush/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # check-stream-equal(_test-stream, "34 12 ", msg) + # check-stream-equal(_test-output-stream, "34 12 ", msg) # . . push args 68/push "F - test-emit-hex-multiple-byte/1"/imm32 68/push "34 12 "/imm32 - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call check-stream-equal/disp32 # . . discard args @@ -7320,43 +7354,43 @@ test-emit-hex-multiple-byte: test-emit-hex-zero-pad: # setup - # . clear-stream(_test-stream) + # . clear-stream(_test-output-stream) # . . push args - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call clear-stream/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # . clear-stream(_test-buffered-file+4) + # . clear-stream(_test-output-buffered-file+4) # . . push args - b8/copy-to-EAX _test-buffered-file/imm32 + b8/copy-to-EAX _test-output-buffered-file/imm32 05/add-to-EAX 4/imm32 50/push-EAX # . . call e8/call clear-stream/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # emit-hex(_test-buffered-file, 0xab, 2) + # emit-hex(_test-output-buffered-file, 0xab, 2) # . . push args 68/push 2/imm32 68/push 0xab/imm32 - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call emit-hex/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 0xc/imm32 # add to ESP - # flush(_test-buffered-file) + # flush(_test-output-buffered-file) # . . push args - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call flush/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # check(_test-stream->data == 'ab 00 ') + # check(_test-output-stream->data == 'ab 00 ') # . . push args 68/push "F - test-emit-hex-zero-pad/1"/imm32 68/push "ab 00 "/imm32 - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call check-stream-equal/disp32 # . . discard args @@ -7366,43 +7400,43 @@ test-emit-hex-zero-pad: test-emit-hex-negative: # setup - # . clear-stream(_test-stream) + # . clear-stream(_test-output-stream) # . . push args - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call clear-stream/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # . clear-stream(_test-buffered-file+4) + # . clear-stream(_test-output-buffered-file+4) # . . push args - b8/copy-to-EAX _test-buffered-file/imm32 + b8/copy-to-EAX _test-output-buffered-file/imm32 05/add-to-EAX 4/imm32 50/push-EAX # . . call e8/call clear-stream/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # emit-hex(_test-buffered-file, -1, 2) + # emit-hex(_test-output-buffered-file, -1, 2) # . . push args 68/push 2/imm32 68/push -1/imm32 - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call emit-hex/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 0xc/imm32 # add to ESP - # flush(_test-buffered-file) + # flush(_test-output-buffered-file) # . . push args - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call flush/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # check-stream-equal(_test-stream == "ff ff ") + # check-stream-equal(_test-output-stream == "ff ff ") # . . push args 68/push "F - test-emit-hex-negative/1"/imm32 68/push "ff ff "/imm32 - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call check-stream-equal/disp32 # . . discard args @@ -7460,16 +7494,16 @@ test-write-stream-data: 55/push-EBP 89/copy 3/mod/direct 5/rm32/EBP . . . 4/r32/ESP . . # copy ESP to EBP # setup - # . clear-stream(_test-stream) + # . clear-stream(_test-output-stream) # . . push args - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call clear-stream/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # . clear-stream(_test-buffered-file+4) + # . clear-stream(_test-output-buffered-file+4) # . . push args - b8/copy-to-EAX _test-buffered-file/imm32 + b8/copy-to-EAX _test-output-buffered-file/imm32 05/add-to-EAX 4/imm32 50/push-EAX # . . call @@ -7492,27 +7526,27 @@ test-write-stream-data: e8/call write/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 8/imm32 # add to ESP - # write-stream-data(_test-buffered-file, _test-tmp-stream) + # write-stream-data(_test-output-buffered-file, _test-tmp-stream) # . . push args 68/push _test-tmp-stream/imm32 - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call write-stream-data/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 8/imm32 # add to ESP # check that the write happened as expected - # . flush(_test-buffered-file) + # . flush(_test-output-buffered-file) # . . push args - 68/push _test-buffered-file/imm32 + 68/push _test-output-buffered-file/imm32 # . . call e8/call flush/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP - # . check-stream-equal(_test-stream, "abcd", msg) + # . check-stream-equal(_test-output-stream, "abcd", msg) # . . push args 68/push "F - test-write-stream-data"/imm32 68/push "abcd"/imm32 - 68/push _test-stream/imm32 + 68/push _test-output-stream/imm32 # . . call e8/call check-stream-equal/disp32 # . . discard args |