|
From: <ma...@us...> - 2011-08-11 16:59:28
|
Revision: 1181
http://scstudio.svn.sourceforge.net/scstudio/?rev=1181&view=rev
Author: madzin
Date: 2011-08-11 16:59:22 +0000 (Thu, 11 Aug 2011)
Log Message:
-----------
Add test results and modify diff script to support Partial Find Flow algorithm.
Modified Paths:
--------------
trunk/src/membership/membership_alg.cpp
trunk/tests/CMakeLists.txt
trunk/tests/membership/CMakeLists.txt
trunk/tests/membership/membership_diff.py
trunk/tests/membership/partial_mem_easy_pat2.mpr.result
Added Paths:
-----------
trunk/tests/membership/partial_mem_easy_pat1.mpr.result
trunk/tests/membership/partial_mem_easy_pat3.mpr.result
trunk/tests/membership/partial_mem_easy_pat4.mpr.result
trunk/tests/membership/time_hard_bmsc_pat03.mpr.result
trunk/tests/membership/time_hard_bmsc_pat05.mpr.result
Modified: trunk/src/membership/membership_alg.cpp
===================================================================
--- trunk/src/membership/membership_alg.cpp 2011-08-11 14:37:48 UTC (rev 1180)
+++ trunk/src/membership/membership_alg.cpp 2011-08-11 16:59:22 UTC (rev 1181)
@@ -59,7 +59,16 @@
c->set_bmsc(bmsc_f);
c->set_result_messages(messages);
MscPtr result = NULL;
+ std::wstring focused_instance_names = L"";
+ for(unsigned int i = 0; i < instances.size(); i++)
+ {
+ if(i != 0)
+ focused_instance_names += L", ";
+
+ focused_instance_names += instances[i];
+ }
+
//the specification is HMSC
if (hmsc != NULL)
{
@@ -67,7 +76,14 @@
if(result == NULL)
{
- print_report(RS_ERROR, L"Flow \"" + bmsc->get_label() + L"\" not found.");
+ if(!instances.empty())
+ {
+ std::wstring msg = L"Flow \"" + bmsc->get_label() + L"\" not found on instances: ";
+ print_report(RS_ERROR, stringize() << msg << focused_instance_names << ".");
+ }
+ else
+ print_report(RS_ERROR, L"Flow \"" + bmsc->get_label() + L"\" not found.");
+
delete c;
return NULL;
}
@@ -100,9 +116,14 @@
return NULL;
}
- std::wstring msg = L"Flow \"" + bmsc->get_label() + L"\" found.";
+ std::wstring msg = L"Flow \"" + bmsc->get_label() + L"\" found";
std::vector<MscPtr> result_vec;
+ if(!instances.empty())
+ msg += L" on instances: " + focused_instance_names;
+
+ msg += L".";
+
messages.push_back(std::make_pair(msg, result_vec));
delete c;
@@ -122,18 +143,8 @@
{
if(!instances.empty())
{
- std::wstring instances_name;
+ print_report(RS_ERROR, L"Flow \"" + bmsc_f->get_label() + L"\" not found on instances: " + focused_instance_names);
- for(unsigned int i = 0; i < instances.size(); i++)
- {
- if(i != 0)
- instances_name += L",";
-
- instances_name += instances[i];
- }
-
- print_report(RS_ERROR, L"Flow \"" + bmsc_f->get_label() + L"\" found on instances:" + instances_name);
-
delete c;
return NULL;
}
@@ -185,8 +196,16 @@
return NULL;
}
- print_report(RS_NOTICE, L"Flow \"" + bmsc_f->get_label() + L"\" found.");
+ std::wstring msg = L"Flow \"" + bmsc_f->get_label() + L"\" found";
+
+ if(!instances.empty())
+ msg += L" on instances: " + focused_instance_names;
+
+ msg += L".";
+
+ print_report(RS_NOTICE, msg);
+
delete c;
return NULL;
}
Modified: trunk/tests/CMakeLists.txt
===================================================================
--- trunk/tests/CMakeLists.txt 2011-08-11 14:37:48 UTC (rev 1180)
+++ trunk/tests/CMakeLists.txt 2011-08-11 16:59:22 UTC (rev 1181)
@@ -112,7 +112,7 @@
ADD_SUBDIRECTORY(z120_test)
-SET(MEMBER_SEQUENCE 0)
+SET(MEMBER_SEQUENCE 6)
MACRO(ADD_MEMBER_TEST FILE1 FILE2 SATISFIED)
GET_TARGET_PROPERTY(MEMBER_TEST_EXECUTABLE membership_test LOCATION)
# Replace the "$(IntDir)", "$(OutDir)", or "$(CONFIGURATION)"
Modified: trunk/tests/membership/CMakeLists.txt
===================================================================
--- trunk/tests/membership/CMakeLists.txt 2011-08-11 14:37:48 UTC (rev 1180)
+++ trunk/tests/membership/CMakeLists.txt 2011-08-11 16:59:22 UTC (rev 1181)
@@ -21,6 +21,37 @@
#STRING(REGEX REPLACE "\\$\\(.*\\)" "\${CTEST_CONFIGURATION_TYPE}"
# MEMBERSHIP_TEST_EXECUTABLE "")
+#partial membership
+ADD_TEST("membership_test-0-partial_mem_easy_pat1.mpr"
+ ${PYTHON_EXECUTABLE} "${CMAKE_SOURCE_DIR}/tests/membership/membership_diff.py"
+ "./membership_test" "${CMAKE_CURRENT_SOURCE_DIR}/partial_mem_easy.mpr"
+ "${CMAKE_CURRENT_SOURCE_DIR}/partial_mem_easy_pat1.mpr" 1 "A")
+
+ADD_TEST("membership_test-1-partial_mem_easy_pat2.mpr"
+ ${PYTHON_EXECUTABLE} "${CMAKE_SOURCE_DIR}/tests/membership/membership_diff.py"
+ "./membership_test" "${CMAKE_CURRENT_SOURCE_DIR}/partial_mem_easy.mpr"
+ "${CMAKE_CURRENT_SOURCE_DIR}/partial_mem_easy_pat2.mpr" 0 "A" "B")
+
+ADD_TEST("membership_test-2-partial_mem_easy_pat3.mpr"
+ ${PYTHON_EXECUTABLE} "${CMAKE_SOURCE_DIR}/tests/membership/membership_diff.py"
+ "./membership_test" "${CMAKE_CURRENT_SOURCE_DIR}/partial_mem_easy.mpr"
+ "${CMAKE_CURRENT_SOURCE_DIR}/partial_mem_easy_pat3.mpr" 1 "A" "B")
+
+ADD_TEST("membership_test-3-partial_mem_easy_pat4.mpr"
+ ${PYTHON_EXECUTABLE} "${CMAKE_SOURCE_DIR}/tests/membership/membership_diff.py"
+ "./membership_test" "${CMAKE_CURRENT_SOURCE_DIR}/partial_mem_easy.mpr"
+ "${CMAKE_CURRENT_SOURCE_DIR}/partial_mem_easy_pat4.mpr" 1 "A" "B" "C")
+
+ADD_TEST("membership_test-4-complete_partial_pat1.mpr"
+ ${PYTHON_EXECUTABLE} "${CMAKE_SOURCE_DIR}/tests/membership/membership_diff.py"
+ "./membership_test" "${CMAKE_CURRENT_SOURCE_DIR}/complete.mpr"
+ "${CMAKE_CURRENT_SOURCE_DIR}/complete_partial_pat1.mpr" 1 "PC")
+
+ADD_TEST("membership_test-5-complete_partial_pat2.mpr"
+ ${PYTHON_EXECUTABLE} "${CMAKE_SOURCE_DIR}/tests/membership/membership_diff.py"
+ "./membership_test" "${CMAKE_CURRENT_SOURCE_DIR}/complete.mpr"
+ "${CMAKE_CURRENT_SOURCE_DIR}/complete_partial_pat2.mpr" 1 "PC" "Router" "Server")
+
ADD_MEMBER_TEST(test_hmsc01.mpr test_bmsc01.mpr 1)
ADD_MEMBER_TEST(test_hmsc02.mpr test_bmsc02.mpr 0)
ADD_MEMBER_TEST(test_hmsc03.mpr test_bmsc03.mpr 1)
@@ -138,9 +169,9 @@
ADD_MEMBER_TEST(test_hmsc31.mpr test_bmsc31_1.mpr 1)
ADD_MEMBER_TEST(time_hard_bmsc01.mpr time_hard_bmsc_pat01.mpr 1)
ADD_MEMBER_TEST(time_hard_bmsc02.mpr time_hard_bmsc_pat02.mpr 1) # + warning
-ADD_MEMBER_TEST(time_hard_bmsc03.mpr time_hard_bmsc_pat03.mpr 0)
+ADD_MEMBER_TEST(time_hard_bmsc03.mpr time_hard_bmsc_pat03.mpr 1) # + warning
ADD_MEMBER_TEST(time_hard_bmsc04.mpr time_hard_bmsc_pat04.mpr 1) # + warning
-ADD_MEMBER_TEST(time_hard_bmsc05.mpr time_hard_bmsc_pat05.mpr 0)
+ADD_MEMBER_TEST(time_hard_bmsc05.mpr time_hard_bmsc_pat05.mpr 1) # + warning
#coregion minimal
ADD_MEMBER_TEST(coregion_minimal.mpr coregion_minimal_pat1.mpr 0)
@@ -152,20 +183,11 @@
ADD_MEMBER_TEST(coregion_minimal.mpr coregion_minimal_pat7.mpr 1)
ADD_MEMBER_TEST(coregion_minimal.mpr coregion_minimal_pat8.mpr 1)
-#partial membership
-ADD_MEMBER_TEST(partial_mem_easy.mpr partial_mem_easy_pat1.mpr 1 A)
-ADD_MEMBER_TEST(partial_mem_easy.mpr partial_mem_easy_pat2.mpr 0 A B)
-ADD_MEMBER_TEST(partial_mem_easy.mpr partial_mem_easy_pat3.mpr 1 A B)
-ADD_MEMBER_TEST(partial_mem_easy.mpr partial_mem_easy_pat4.mpr 1 A B C)
-
-
ADD_MEMBER_TEST(complete.mpr complete_pat1.mpr 0)
ADD_MEMBER_TEST(complete.mpr complete_pat2.mpr 0)
ADD_MEMBER_TEST(complete.mpr complete_pat4.mpr 1)
ADD_MEMBER_TEST(complete.mpr complete_pat5.mpr 1)
ADD_MEMBER_TEST(complete1.mpr complete_pat3.mpr 1)
-ADD_MEMBER_TEST(complete.mpr complete_partial_pat1.mpr 1 PC)
-ADD_MEMBER_TEST(complete.mpr complete_partial_pat2.mpr 1 PC Router Server)
#complete.mpr separeted into small pieces
Modified: trunk/tests/membership/membership_diff.py
===================================================================
--- trunk/tests/membership/membership_diff.py 2011-08-11 14:37:48 UTC (rev 1180)
+++ trunk/tests/membership/membership_diff.py 2011-08-11 16:59:22 UTC (rev 1181)
@@ -4,7 +4,7 @@
import sys
import glob
-p = subprocess.Popen([sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4]], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
+p = subprocess.Popen(sys.argv[1:], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
output = p.stderr.readlines() + p.stdout.readlines()
# print the output as it may contain valgrind error reports
Added: trunk/tests/membership/partial_mem_easy_pat1.mpr.result
===================================================================
--- trunk/tests/membership/partial_mem_easy_pat1.mpr.result (rev 0)
+++ trunk/tests/membership/partial_mem_easy_pat1.mpr.result 2011-08-11 16:59:22 UTC (rev 1181)
@@ -0,0 +1 @@
+Flow "Page_1" found on instances: A.
Modified: trunk/tests/membership/partial_mem_easy_pat2.mpr.result
===================================================================
--- trunk/tests/membership/partial_mem_easy_pat2.mpr.result 2011-08-11 14:37:48 UTC (rev 1180)
+++ trunk/tests/membership/partial_mem_easy_pat2.mpr.result 2011-08-11 16:59:22 UTC (rev 1181)
@@ -1 +1 @@
-Flow "Page_1" found on instances:A,B
+Flow "Page_1" not found on instances: A, B
Added: trunk/tests/membership/partial_mem_easy_pat3.mpr.result
===================================================================
--- trunk/tests/membership/partial_mem_easy_pat3.mpr.result (rev 0)
+++ trunk/tests/membership/partial_mem_easy_pat3.mpr.result 2011-08-11 16:59:22 UTC (rev 1181)
@@ -0,0 +1 @@
+Flow "Page_1" found on instances: A, B.
Added: trunk/tests/membership/partial_mem_easy_pat4.mpr.result
===================================================================
--- trunk/tests/membership/partial_mem_easy_pat4.mpr.result (rev 0)
+++ trunk/tests/membership/partial_mem_easy_pat4.mpr.result 2011-08-11 16:59:22 UTC (rev 1181)
@@ -0,0 +1 @@
+Flow "Page_1" found on instances: A, B, C.
Added: trunk/tests/membership/time_hard_bmsc_pat03.mpr.result
===================================================================
--- trunk/tests/membership/time_hard_bmsc_pat03.mpr.result (rev 0)
+++ trunk/tests/membership/time_hard_bmsc_pat03.mpr.result 2011-08-11 16:59:22 UTC (rev 1181)
@@ -0,0 +1,20 @@
+Flow "Page_1" not found. Unsatisfied time constraint(s) (red intervals are not satisfied, blue intervals are partialy satisfied):
+mscdocument time_hard_bmsc03;
+msc Page_1;
+inst A;
+inst B;
+A: instance;
+in NAME,0 from B;
+out NAME,1 to B;
+label e0;
+in NAME,2 from B;
+endinstance;
+B: instance;
+label e1;
+out NAME,0 to A;
+time/* NOT_COVER */
+ e0 [0,2);
+in NAME,1 from A;
+out NAME,2 to A;
+endinstance;
+endmsc;
Added: trunk/tests/membership/time_hard_bmsc_pat05.mpr.result
===================================================================
--- trunk/tests/membership/time_hard_bmsc_pat05.mpr.result (rev 0)
+++ trunk/tests/membership/time_hard_bmsc_pat05.mpr.result 2011-08-11 16:59:22 UTC (rev 1181)
@@ -0,0 +1,23 @@
+Flow "Page_1" not found. Unsatisfied time constraint(s) (red intervals are not satisfied, blue intervals are partialy satisfied):
+mscdocument time_hard_bmsc05;
+msc Page_1;
+inst A;
+inst B;
+inst C;
+A: instance;
+in NAME,0 from B;
+in NAME,1 from B;
+endinstance;
+B: instance;
+label e0;
+out NAME,0 to A;
+time/* NOT_COVER */
+ e1 [1];
+out NAME,1 to A;
+out NAME,2 to C;
+endinstance;
+C: instance;
+label e1;
+in NAME,2 from B;
+endinstance;
+endmsc;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|