diff --git a/su4sml/src/wfcpog/refine_constraint.sml b/su4sml/src/wfcpog/refine_constraint.sml index 1b23a45..48f6060 100644 --- a/su4sml/src/wfcpog/refine_constraint.sml +++ b/su4sml/src/wfcpog/refine_constraint.sml @@ -319,6 +319,7 @@ fun check_syntax wfpo (model:Rep.Model as (clist,alist)) = let val _ = trace function_calls ("WFCPOG_Refine_Constraint.check_syntax\n") val data = WFCPOG_RFM_Data.get wfpo + val _ = trace wgen (print_refine_args data) val packages = (#rfm_tuple data) val from = (#1 packages) val to = (#2 packages) diff --git a/su4sml/src/wfcpog/test-data.sml b/su4sml/src/wfcpog/test-data.sml index 37acccb..1e905ae 100644 --- a/su4sml/src/wfcpog/test-data.sml +++ b/su4sml/src/wfcpog/test-data.sml @@ -122,11 +122,13 @@ val pos = [po_cstr] val wfs = [wfc_vis] val pos = [] *) -(* + val wfs = [] -val pos = [po_rfm_SR] -*) +val pos = [po_rfm_SC] + +(* val wfc = [wfc_inf_nameclashes,wfc_inf_stereotypes,wfc_inf_all,wfc_vis_class,wfc_vis_inheritance,wfc_vis_runtime,wfc_vis_design_by_contract,wfc_vis,wfc_tax] val pos = [po_lsk_pre,po_lsk_post,po_lsk_inv,po_cm,po_sm,po_om,po_cstr_post,po_cstr_attribute,po_cstr] +*) diff --git a/su4sml/src/wfcpog/test-suite.sml b/su4sml/src/wfcpog/test-suite.sml index 20e7848..c669a9b 100644 --- a/su4sml/src/wfcpog/test-suite.sml +++ b/su4sml/src/wfcpog/test-suite.sml @@ -161,7 +161,7 @@ fun start_tests model [] = [] val _ = trace wgen ("WFC_Failed_Exception handler ...\n") val _ = buffer:=((!buffer)^s) in - [(h,false)] + raise WFCPOG.WFC_FailedException(h,s) end val check = List.all (fn (a,b) => b = true) res_wfcs in @@ -196,7 +196,7 @@ fun start_tests model [] = [] let val _ = buffer:=((!buffer)^s) in - [(h,[(["Exception"],(Variable("x",OclVoid)))])] + raise WFCPOG.WFC_FailedException (h,s) end in case pos of @@ -252,11 +252,18 @@ fun runTest name wfs pos = val _ = trace wgen ("Accessing model ...\n") val s1 = (print_tc tc) val _ = (test tc wfs pos) + handle WFCPOG.WFC_FailedException (wfpo,s) => + let + val _ = buffer:=((!buffer)^s) + in + [] + end val _ = buffer:=s1^(!buffer) in - if (String.isSubstring "[Error]" (!buffer)) + (if (String.isSubstring "[Error]" (!buffer)) then print ((!buffer)^"\n\n !!!!!!!!!! WFCPOG still contains bugs !!!!!!!!!!!!!\n\n\n") else print ((!buffer)^"\n\n !!!!!!!!!! Congratulations, no bugs !!!!!!!!!!!!!!\n\n\n") + ) end @@ -268,9 +275,16 @@ fun runTests wfs pos = let val s1 = (print_tc a) val _ = buffer:=(!buffer)^s1 - val _ = (test a wfs pos) + val data = (test a wfs pos) + handle WFCPOG.WFC_FailedException (wfpo,s) => + let + val _ = buffer:=((!buffer)^s) + val _ = trace wgen (!buffer) + in + raise WFCPOG_TestSuiteError ("one wfc failed\n") + end in - () + data end) testcases in if (String.isSubstring "[ERROR]" (!buffer))