00001
00020 %MACRO endTestcase(i_assertLog=1);
00021
00022 PROC SQL NOPRINT;
00023 %LOCAL l_casid l_assertLog;
00024
00025 SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=&g_scnid;
00026 %LET l_casid = &l_casid;
00027 %IF &l_casid=. %THEN %DO;
00028 %PUT &g_error: endTestcase muss nach InitTestcase aufgerufen werden;
00029 %RETURN;
00030 %END;
00031 %IF &i_assertLog %THEN %DO;
00032
00033 SELECT count(*) INTO :l_assertLog
00034 FROM target.tst
00035 WHERE tst_scnid = &g_scnid AND tst_casid = &l_casid AND tst_type='assertLog';
00036 %IF &l_assertLog=0 %THEN %DO;
00037 %assertLog()
00038 %END;
00039 %END;
00040 QUIT;
00041
00042 %GLOBAL g_inTestcase;
00043 %IF &g_inTestcase EQ 1 %THEN %DO;
00044 %endTestcall;
00045 %END;
00046 %ELSE %IF &g_inTestcase NE 2 %THEN %DO;
00047 %PUT &g_error: endTestcase muss nach initTestcase aufgerufen werden;
00048 %RETURN;
00049 %END;
00050 %LET g_inTestcase=0;
00051
00052 PROC SQL NOPRINT;
00053 %LOCAL l_result0 l_result1 l_result2;
00054
00055 SELECT count(*) INTO :l_result0 FROM target.tst WHERE tst_scnid=&g_scnid AND tst_casid=&l_casid AND tst_res=0;
00056 SELECT count(*) INTO :l_result1 FROM target.tst WHERE tst_scnid=&g_scnid AND tst_casid=&l_casid AND tst_res=1;
00057 SELECT count(*) INTO :l_result2 FROM target.tst WHERE tst_scnid=&g_scnid AND tst_casid=&l_casid AND tst_res=2;
00058 QUIT;
00059
00060
00061 %LOCAL l_result;
00062 %IF &l_result1 GT 0 %THEN %LET l_result=1;
00063 %ELSE %IF &l_result2 GT 0 %THEN %LET l_result=2;
00064 %ELSE %LET l_result=0;
00065
00066 PROC SQL NOPRINT;
00067 UPDATE target.cas
00068 SET
00069 cas_res = &l_result
00070 WHERE
00071 cas_scnid = &g_scnid AND
00072 cas_id = &l_casid;
00073 QUIT;
00074
00075 %MEND endTestcase;