--- gforth/test/ttester.fs 2007/11/03 08:20:32 1.8 +++ gforth/test/ttester.fs 2007/11/03 09:25:35 1.10 @@ -180,7 +180,7 @@ HAS-FLOATING-STACK [IF] : F} ( ... -- ... ) FDEPTH ACTUAL-FDEPTH @ = IF FDEPTH START-FDEPTH @ > IF - FDEPTH START-FDEPTH @ DO + FDEPTH START-FDEPTH @ - 0 DO ACTUAL-FRESULTS I FLOATS + F@ FCONF= INVERT IF S" INCORRECT FP RESULT: " ERROR LEAVE THEN @@ -202,8 +202,8 @@ HAS-FLOATING-STACK [IF] FDEPTH 0= ACTUAL-FDEPTH @ FCURSOR @ START-FDEPTH @ + 1+ < OR IF S" NUMBER OF FLOAT RESULTS AFTER '->' BELOW ...}T SPECIFICATION: " ERROR ELSE ACTUAL-FRESULTS FCURSOR @ FLOATS + F@ FCONF= 0= IF - S" INCORRECT FP RESULT: " ERROR - THEN THEN + S" INCORRECT FP RESULT: " ERROR + THEN THEN 1 FCURSOR +! ; [ELSE] @@ -223,10 +223,9 @@ HAS-FLOATING-STACK [IF] : FTESTER ( R -- ) DEPTH CELLS-PER-FP < ACTUAL-DEPTH @ XCURSOR @ START-DEPTH @ + CELLS-PER-FP + < OR IF S" NUMBER OF RESULTS AFTER '->' BELOW ...}T SPECIFICATION: " ERROR EXIT - THEN - ACTUAL-RESULTS XCURSOR @ CELLS + F@ FCONF= 0= IF + ELSE ACTUAL-RESULTS XCURSOR @ CELLS + F@ FCONF= 0= IF S" INCORRECT FP RESULT: " ERROR - THEN + THEN THEN CELLS-PER-FP XCURSOR +! ; [THEN] @@ -261,7 +260,7 @@ HAS-FLOATING-STACK [IF] \ (ACTUAL) CONTENTS. DEPTH ACTUAL-DEPTH @ = IF \ IF DEPTHS MATCH DEPTH START-DEPTH @ > IF \ IF THERE IS SOMETHING ON THE STACK - DEPTH START-DEPTH @ DO \ FOR EACH STACK ITEM + DEPTH START-DEPTH @ - 0 DO \ FOR EACH STACK ITEM ACTUAL-RESULTS I CELLS + @ \ COMPARE ACTUAL WITH EXPECTED <> IF S" INCORRECT RESULT: " ERROR LEAVE THEN LOOP @@ -283,8 +282,8 @@ HAS-FLOATING-STACK [IF] DEPTH 0= ACTUAL-DEPTH @ XCURSOR @ START-DEPTH @ + 1+ < OR IF S" NUMBER OF CELL RESULTS AFTER '->' BELOW ...}T SPECIFICATION: " ERROR EXIT ELSE ACTUAL-RESULTS XCURSOR @ CELLS + @ <> IF - S" INCORRECT CELL RESULT: " ERROR - THEN THEN + S" INCORRECT CELL RESULT: " ERROR + THEN THEN 1 XCURSOR +! ; : X}T XTESTER ...}T ;