endtestcase.sas

Go to the documentation of this file.
00001  
00020 %MACRO endTestcase(i_assertLog=1);
00021 
00022 PROC SQL NOPRINT;
00023 %LOCAL l_casid l_assertLog;
00024 /* determine id of current test case */
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 /* call assertLog if not already coded by programmer */
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 /* determine test results */
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 /* determine overall result of testcase */
00061 %LOCAL l_result;
00062 %IF &l_result1 GT 0 %THEN %LET l_result=1;        /* errors occured */
00063 %ELSE %IF &l_result2 GT 0 %THEN %LET l_result=2;  /* manual checks occured */
00064 %ELSE %LET l_result=0;                            /* not errors and no manual checks */
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;

Generated on Sun Oct 10 14:10:15 2010 for SASUnit Examples by  doxygen 1.5.3