Răsfoiți Sursa

* test now returns exitcode 1 in case something went wrong

Jonas Maebe 22 ani în urmă
părinte
comite
992fe2b52c
1 a modificat fișierele cu 126 adăugiri și 28 ștergeri
  1. 126 28
      tests/test/tset2.pp

+ 126 - 28
tests/test/tset2.pp

@@ -7,6 +7,9 @@
 (*      and variables.                                               *)
 (*********************************************************************)
 
+const
+  failed: boolean = false;
+
 type
        myenum = (dA,dB,dC,dd,dedf,dg,dh,di,dj,dk,dl,dm,dn);
        tasmop = (A_ABCD,
@@ -75,11 +78,17 @@ Begin
  oplist:=[];
  op:=A_JSR;
  if A_JSR in oplist then
-  WriteLn('A_JSR in [] FAILED.')
+  begin
+    WriteLn('A_JSR in [] FAILED.');
+    failed := true
+  end
  else
   Writeln('A_JSR in [] PASSED.');
  if op in oplist then
-  WriteLn('op(A_JSR) in [] FAILED.')
+  begin
+    WriteLn('op(A_JSR) in [] FAILED.');
+    failed := true
+  end
  else
   Writeln('op (A_JSR) in [] PASSED.');
  op:=A_MOVE;
@@ -87,11 +96,17 @@ Begin
  if A_MOVE in oplist then
   WriteLn('A_MOVE in ([]+[A_MOVE]) PASSED.')
  else
-  Writeln('A_MOVE in ([]+[A_MOVE]) FAILED.');
+  begin
+    Writeln('A_MOVE in ([]+[A_MOVE]) FAILED.');
+    failed := true;
+  end;
  if op in oplist then
   WriteLn('op(A_MOVE) in ([]+[A_MOVE]) PASSED.')
  else
-  Writeln('op(A_MOVE) in ([]+[A_MOVE]) FAILED.');
+  begin
+    Writeln('op(A_MOVE) in ([]+[A_MOVE]) FAILED.');
+    failed := true;
+  end;
   op:=A_MOVE;
   oplist:=[];
   oplist:=[A_SUB]+[op];
@@ -99,11 +114,17 @@ Begin
  if A_MOVE in oplist then
   WriteLn('A_MOVE in ([A_SUB]+[op(A_MOVE)]) PASSED.')
  else
-  Writeln('A_MOVE in ([A_SUB]+[op(A_MOVE)]) FAILED.');
+  begin
+    Writeln('A_MOVE in ([A_SUB]+[op(A_MOVE)]) FAILED.');
+    failed := true
+  end;
  if op2 in oplist then
   WriteLn('op2(A_MOVE) in ([A_SUB]+[op(A_MOVE)]) PASSED.')
  else
-  Writeln('op2(A_MOVE) in ([A_SUB]+[op(A_MOVE)]) FAILED.');
+  begin
+    Writeln('op2(A_MOVE) in ([A_SUB]+[op(A_MOVE)]) FAILED.');
+    failed := true
+  end;
 end;
 
 Procedure SetSetByte;
@@ -123,6 +144,7 @@ Begin
  else
  Begin
   WriteLn(' FAILED.');
+  failed := true
  end;
  Write('TESTING INCLUDE:');
  op:=A_RTE;
@@ -134,6 +156,7 @@ Begin
  else
  Begin
   WriteLn(' FAILED.');
+  failed := true;
  end;
 end;
 
@@ -154,11 +177,20 @@ Begin
    if A_JSR in oplist then
     WriteLn('TESTING SET_ADD_SETS: PASSED.')
    else
-    WriteLn('TESTING SET_ADD_SETS: FAILED.')
+    begin
+      WriteLn('TESTING SET_ADD_SETS: FAILED.');
+      failed := true
+    end
   else
-    WriteLn('TESTING SET_ADD_SETS: FAILED.')
+    begin
+      WriteLn('TESTING SET_ADD_SETS: FAILED.');
+      failed := true
+    end
  else
-    WriteLn('TESTING SET_ADD_SETS: FAILED.')
+  begin
+    WriteLn('TESTING SET_ADD_SETS: FAILED.');
+    failed := true
+  end;
 end;
 
 Procedure SetSubsets;
@@ -173,13 +205,19 @@ Begin
  op2list:=[A_MOVE]+[A_JSR];
  oplist:=op2list-oplist;
  if (A_MOVE in oplist) or (A_LABEL in oplist) or (A_JSR in oplist) then
-  WriteLn('TESTING SET_SUB_SETS: FAILED.')
+   begin
+    WriteLn('TESTING SET_SUB_SETS: FAILED.');
+    failed := true
+  end
  else
   WriteLn('TESTING SET_SUB_SETS: PASSED.');
  oplist := [A_MOVE,A_RTE];
  exclude(oplist,A_MOVE);
  if (A_MOVE in oplist) then
-  WriteLn('TESTING EXCLUDE: FAILED.')
+  begin
+    WriteLn('TESTING EXCLUDE: FAILED.');
+    failed := true
+  end
  else
   WriteLn('TESTING EXCLUDE: PASSED.')
 end;
@@ -197,10 +235,16 @@ Begin
  if oplist=op2list then
   WriteLn('TESTING SET_COMP_SETS(1): PASSED.')
  else
-  WriteLn('TESTING SET_COMP_SETS(1): FAILED.');
+  begin
+    WriteLn('TESTING SET_COMP_SETS(1): FAILED.');
+    failed := true
+  end;
  oplist:=[A_MOVE];
  if oplist=op2list then
-  WriteLn('TESTING SET_COMP_SETS(2): FAILED.')
+  begin
+    WriteLn('TESTING SET_COMP_SETS(2): FAILED.');
+    failed := true
+  end
  else
   WriteLn('TESTING SET_COMP_SETS(2): PASSED.');
 end;
@@ -217,13 +261,19 @@ Begin
  op2list:=[A_MOVE];
  oplist:=oplist*op2list;
  if A_JSR in oplist then
-  WriteLn('TESTING SET_MUL_SETS(1): FAILED.')
+  begin
+    WriteLn('TESTING SET_MUL_SETS(1): FAILED.');
+    failed := true
+  end
  else
   WriteLn('TESTING SET_MUL_SETS(1): PASSED.');
  if A_MOVE in oplist  then
   WriteLn('TESTING SET_MUL_SETS(2): PASSED.')
  else
-  WriteLn('TESTING SET_MUL_SETS(2): FAILED.')
+  begin
+    WriteLn('TESTING SET_MUL_SETS(2): FAILED.');
+    failed := true
+  end;
 end;
 
 {------------------------------ TESTS FOR SMALL VALUES ---------------------}
@@ -237,11 +287,19 @@ Begin
  oplist:=[];
  op:=Dn;
  if op in oplist then
-  WriteLn(' FAILED.');
+  begin
+    WriteLn(' FAILED.');
+    failed := true
+  end;
  op:=dm;
  oplist:=oplist+[Dm];
  if op in oplist then
-  WriteLn(' PASSED.');
+  WriteLn(' PASSED.')
+ else
+   begin
+    WriteLn(' FAILED.');
+    failed := true
+  end;
 end;
 
 Procedure SmallSetByte;
@@ -261,6 +319,7 @@ Begin
  else
  Begin
   WriteLn(' FAILED.');
+  failed := true;
  end;
 end;
 
@@ -281,11 +340,20 @@ Begin
    if DB in oplist then
     WriteLn('TESTING SET_ADD_SETS: PASSED.')
    else
-    WriteLn('TESTING ADD_SETS: FAILED.')
+    begin
+      WriteLn('TESTING ADD_SETS: FAILED.');
+      failed := true
+    end
   else
-    WriteLn('TESTING ADD_SETS: FAILED.')
+   begin
+     WriteLn('TESTING ADD_SETS: FAILED.');
+     failed := true
+   end
  else
-    WriteLn('TESTING ADD_SETS: FAILED.')
+  begin
+    WriteLn('TESTING ADD_SETS: FAILED.');
+    failed := true
+  end;
 end;
 
 Procedure SmallSubsets;
@@ -300,7 +368,10 @@ Begin
  op2list:=[DA]+[DC];
  oplist:=op2list-oplist;
  if (DA in oplist) or (DB in oplist) or (DC in oplist) then
-  WriteLn('TESTING SUB_SETS: FAILED.')
+  begin
+    WriteLn('TESTING SUB_SETS: FAILED.');
+    failed := true
+  end
  else
   WriteLn('TESTING SUB_SETS: PASSED.')
 end;
@@ -318,10 +389,16 @@ Begin
  if oplist=op2list then
   WriteLn('TESTING COMP_SETS(1): PASSED.')
  else
-  WriteLn('TESTING COMP_SETS(1): FAILED.');
+  begin
+    WriteLn('TESTING COMP_SETS(1): FAILED.');
+    failed := true
+  end;
  oplist:=[DA];
  if oplist=op2list then
-  WriteLn('TESTING COMP_SETS(2): FAILED.')
+  begin
+    WriteLn('TESTING COMP_SETS(2): FAILED.');
+    failed := true
+  end
  else
   WriteLn('TESTING COMP_SETS(2): PASSED.');
 end;
@@ -338,13 +415,19 @@ Begin
  op2list:=[DA];
  oplist:=oplist*op2list;
  if DC in oplist then
-  WriteLn('TESTING MUL_SETS(1): FAILED.')
+  begin
+    WriteLn('TESTING MUL_SETS(1): FAILED.');
+    failed := true
+  end
  else
   WriteLn('TESTING MUL_SETS(1): PASSED.');
  if DA in oplist  then
   WriteLn('TESTING MUL_SETS(2): PASSED.')
  else
-  WriteLn('TESTING MUL_SETS(2): FAILED.')
+  begin
+    WriteLn('TESTING MUL_SETS(2): FAILED.');
+    failed := true
+  end;
 end;
 
 const
@@ -368,11 +451,19 @@ Begin
  oplist := [A_LABEL];
  { secondin test         }
  if A_LABEL in oplist then
-  WriteLn('TESTING SIMPLE SECOND_IN: PASSED.');
+  WriteLn('TESTING SIMPLE SECOND_IN: PASSED.')
+ else
+   begin
+    failed := true
+  end;
+
  { }
  oplist:=[];
  if A_LABEL in oplist then
-  WriteLn('SECOND IN FAILED.');
+   begin
+    WriteLn('SECOND IN FAILED.');
+    failed := true
+  end;
  SecondinSets;
  SetSetByte;
  SetAddSets;
@@ -388,5 +479,12 @@ Begin
  l:=word(A_CPRESTORE);
  if l = word(A_CPRESTORE) then
   Begin
-  end;
+  end
+  else failed := true;
+
+  if failed then
+    begin
+      WriteLn('One or more test failed');
+      Halt(1);
+    end;
 end.