Skip to content

Commit cbeaaea

Browse files
committed
fixes issue #37
1 parent 45b7ecc commit cbeaaea

File tree

1 file changed

+2
-31
lines changed

1 file changed

+2
-31
lines changed

src/blocktest.fth

Lines changed: 2 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -465,37 +465,8 @@ T{ RND-TEST-BLOCK DUP TL3 DUP TL5 EVALUATE = -> TRUE }T
465465
TL5 WRITE-BLOCK ;
466466
T{ 2RND-TEST-BLOCKS 2DUP TL6 SWAP LOAD = -> TRUE }T
467467

468-
\ LOAD changes the currect block that is effected by UPDATE
469-
\ This test needs at least 2 distinct buffers, though this is not a
470-
\ requirement of the language specification. If 2 distinct buffers
471-
\ are not returned, then the tests quits with a trivial Pass
472-
: TL7 ( blk1 blk2 -- u1 u2 rnd2 blk2-addr rnd1' rnd1 )
473-
OVER BUFFER OVER BUFFER = IF \ test needs 2 distinct buffers
474-
2DROP 0 0 0 0 0 0 \ Dummy result
475-
ELSE
476-
OVER BLOCK-RND DUP ROT TL1 >R \ blk1 blk2
477-
DUP S" SOURCE DROP" WRITE-BLOCK \ blk1 blk2
478-
\ change blk1 to a new rnd, but don't UPDATE
479-
OVER BLANK-BUFFER \ blk1 blk2 blk1-addr
480-
BLOCK-RND DUP >R \ blk1 blk2 blk1-addr rnd1'
481-
0 <# #S #> \ blk1 blk2 blk1-addr c-addr u
482-
ROT SWAP CHARS MOVE \ blk1 blk2
483-
\ Now LOAD blk2
484-
DUP LOAD DUP >R \ blk1 blk2 blk2-addr
485-
\ Write a new blk2
486-
DUP 1024 BL FILL \ blk1 blk2 blk2-addr
487-
BLOCK-RND DUP >R \ blk1 blk2 blk2-addr rnd2
488-
0 <# #S #> \ blk1 blk2 blk2-addr c-addr u
489-
ROT SWAP CHARS MOVE \ blk1 blk2
490-
\ The following UPDATE should refer to the LOADed blk2, not blk1
491-
UPDATE FLUSH \ blk1 blk2
492-
\ Finally, load both blocks then collect all results
493-
LOAD SWAP LOAD \ u2 u1
494-
R> R> R> R> \ u2 u1 rnd2 blk2-addr rnd1' rnd1
495-
THEN ;
496-
T{ 2RND-TEST-BLOCKS TL7 \ run test procedure
497-
SWAP DROP SWAP DROP \ u2 u1 rnd2 rnd1
498-
2= -> TRUE }T
468+
\ A test of the effect of LOAD on UPDATE has been deleted
469+
\ as unjustified by the Forth Standard - See Issue #37
499470

500471
\ I would expect LOAD to work on the contents of the buffer cache
501472
\ and not the block device, but the specification doesn't say.

0 commit comments

Comments
 (0)