diff options
Diffstat (limited to 'qemu/roms/openbios/forth/testsuite/memory-testsuite.fs')
-rw-r--r-- | qemu/roms/openbios/forth/testsuite/memory-testsuite.fs | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/qemu/roms/openbios/forth/testsuite/memory-testsuite.fs b/qemu/roms/openbios/forth/testsuite/memory-testsuite.fs deleted file mode 100644 index 9dace5117..000000000 --- a/qemu/roms/openbios/forth/testsuite/memory-testsuite.fs +++ /dev/null @@ -1,106 +0,0 @@ -\ this is the memory management testsuite. -\ -\ run it with paflof < memory-testsuite.fs 2>/dev/null - -s" memory.fs" included - -\ dumps all free-list entries -\ useful for debugging. - -: dump-freelist ( -- ) - ." Dumping freelist:" cr - free-list @ - - \ If the free list is empty we notify the user. - dup 0= if ." empty." drop cr exit then - - begin dup 0<> while - dup ." entry 0x" . \ print pointer to entry - dup cell+ @ ." , next=0x" u. \ pointer to next entry - dup @ ." , size=0x" u. cr \ len of current entry - - cell+ @ - repeat - cr drop - ; - -\ simple testsuite. run testsuite-init to initialize -\ with some dummy memory in the dictionary. -\ run testsuite-test[1..3] for different tests. - -: testsuite-init ( -- ) - here 40000 cell+ dup allot ( -- ptr len ) - init-mem - - ." start-mem = 0x" start-mem @ . cr - ." end-mem = 0x" end-mem @ . cr - ." free-list = 0x" free-list @ . cr - - ." Memory management initialized." cr - dump-freelist - ; - -: testsuite-test1 ( -- ) - ." Test No. 1: Allocating all available memory (256k)" cr - - 40000 alloc-mem - dup 0<> if - ." worked, ptr=0x" dup . - else - ." did not work." - then - cr - - dump-freelist - ." Freeing memory." cr - ." stack=" .s cr - free-mem - dump-freelist - ; - -: testsuite-test2 ( -- ) - ." Test No. 2: Allocating 5 blocks" cr - 4000 alloc-mem - 4000 alloc-mem - 4000 alloc-mem - 4000 alloc-mem - 4000 alloc-mem - - ." Allocated 5 blocks. Stack:" cr .s cr - - dump-freelist - - ." Freeing Block 2" cr - 3 pick free-mem dump-freelist - - ." Freeing Block 4" cr - over free-mem dump-freelist - - ." Freeing Block 3" cr - 2 pick free-mem dump-freelist - - ." Cleaning up blocks 1 and 5" cr - free-mem \ Freeing block 5 - dump-freelist - 3drop \ blocks 4, 3, 2 - free-mem - - dump-freelist - ; - -: testsuite-test3 ( -- ) - ." Test No. 3: freeing illegal address 0xdeadbeef." cr - deadbeef free-mem - dump-freelist - ; - -: testsuite ( -- ) - testsuite-init - testsuite-test1 - testsuite-test2 - testsuite-test3 - ; - -testsuite - -bye |