|
From: <ma...@us...> - 2011-07-18 21:41:47
|
Revision: 1154
http://scstudio.svn.sourceforge.net/scstudio/?rev=1154&view=rev
Author: madzin
Date: 2011-07-18 21:41:35 +0000 (Mon, 18 Jul 2011)
Log Message:
-----------
Modify find flow output messages and methodology of testing (necessary to add .result files; it supposed to be done, when output messages in the correct form).
Modified Paths:
--------------
trunk/doc/help/membership/membership.html
trunk/src/data/searcher.h
trunk/src/membership/membership_alg.cpp
trunk/src/membership/membership_base.h
trunk/src/view/visio/addon/document.cpp
trunk/tests/CMakeLists.txt
trunk/tests/diff/diff_diff.py
trunk/tests/diff/diff_test.cpp
trunk/tests/membership/CMakeLists.txt
trunk/tests/membership/membership_test.cpp
Added Paths:
-----------
trunk/tests/membership/membership_diff.py
Modified: trunk/doc/help/membership/membership.html
===================================================================
--- trunk/doc/help/membership/membership.html 2011-07-18 19:31:17 UTC (rev 1153)
+++ trunk/doc/help/membership/membership.html 2011-07-18 21:41:35 UTC (rev 1154)
@@ -180,8 +180,8 @@
sequentialy composed (putting the BMSCs one after the other and gluing
the matching process lines). It is easy to see that the <i>BMSC flow</i>
is exactly the same BMSC represented by the path in the <i>HMSC specification</i>.
- The result of procedure solving the find flow problem should
- be every successful path i.e. <i>HMSC specification</i>.
+ <!--The result of procedure solving the find flow problem should
+ be every successful path i.e. <i>HMSC specification</i>. --!>
</p>
<p>
<h2>More formal specification of the procedure:</h2>
Modified: trunk/src/data/searcher.h
===================================================================
--- trunk/src/data/searcher.h 2011-07-18 19:31:17 UTC (rev 1153)
+++ trunk/src/data/searcher.h 2011-07-18 21:41:35 UTC (rev 1154)
@@ -41,8 +41,7 @@
virtual PreconditionList get_preconditions(MscPtr msc) const = 0;
//! Find the first occurence of needle in haystack.
-// virtual std::map<std::wstring, std::vector<MscPtr> > find(MscPtr haystack, MscPtr needle) = 0;
- virtual std::map<std::wstring, std::vector<MscPtr> > find(MscPtr msc, std::vector<MscPtr>& bmscs) = 0;
+ virtual std::vector<std::pair<std::wstring, std::vector<MscPtr> > > find(MscPtr msc, std::vector<MscPtr>& bmscs) = 0;
//! Make diff between specification and flow
// virtual MscPtr diff(MscPtr specification, std::vector<MscPtr>& flows) = 0;
Modified: trunk/src/membership/membership_alg.cpp
===================================================================
--- trunk/src/membership/membership_alg.cpp 2011-07-18 19:31:17 UTC (rev 1153)
+++ trunk/src/membership/membership_alg.cpp 2011-07-18 21:41:35 UTC (rev 1154)
@@ -42,7 +42,7 @@
* NULL value means that the specification cover will not be depicted.
*/
MscPtr MembershipAlg::find_flow(MscPtr msc, MscPtr bmsc, std::vector<std::wstring> instances,
- std::map<std::wstring, std::vector<MscPtr> >& messages)
+ std::vector<std::pair<std::wstring, std::vector<MscPtr> > >& messages)
{
HMscPtr hmsc = boost::dynamic_pointer_cast<HMsc > (msc);
BMscPtr bmsc_f = boost::dynamic_pointer_cast<BMsc > (bmsc);
@@ -67,7 +67,7 @@
if(result == NULL)
{
- print_report(RS_ERROR, L"The specification does not contain \"" + bmsc->get_label() + L"\" flow.");
+ print_report(RS_ERROR, L"Flow \"" + bmsc->get_label() + L"\" does not meet the specification.");
delete c;
return NULL;
}
@@ -75,13 +75,13 @@
{
if(c->get_result()->get_corupted_intervals_size().first != 0)
{
- std::wstring msg = L"Some intervals does not satisfy the time constraints. ";
- msg += L"For more information: ";
+ std::wstring msg = L"Flow \"" + bmsc->get_label() + L"\" does not satisfy time constraints of the specification. ";
+ msg += L"For more information (red intervals are not satisfied, blue intervals are partialy satisfied): ";
std::vector<MscPtr> result_vec;
result_vec.push_back(result);
- messages.insert(std::make_pair(msg, result_vec));
+ messages.push_back(std::make_pair(msg, result_vec));
delete c;
return NULL;
@@ -89,13 +89,13 @@
if(c->get_result()->get_corupted_intervals_size().second != 0)
{
- std::wstring msg = L"Some intervals could not satisfy the time constraints. ";
+ std::wstring msg = L"Flow \"" + bmsc->get_label() + L" does not satisfy time constraints of the specification. Some intervals are only partialy satisfied. ";
msg += L"For more information: ";
std::vector<MscPtr> result_vec;
result_vec.push_back(result);
- messages.insert(std::make_pair(msg, result_vec));
+ messages.push_back(std::make_pair(msg, result_vec));
delete c;
return NULL;
@@ -144,12 +144,12 @@
if(result != NULL)
{
std::wstring message;
- message = L"Msc \"" + bmsc_f->get_label() + L"\" does not meet the specification. Diff: ";
+ message = L"Flow \"" + bmsc_f->get_label() + L"\" does not meet the specification. Diff: ";
std::vector<MscPtr> diff_result;
diff_result.push_back(result);
- messages.insert(std::make_pair(message, diff_result));
+ messages.push_back(std::make_pair(message, diff_result));
}
delete c;
@@ -158,13 +158,13 @@
if(c->get_result()->get_corupted_intervals_size().first != 0)
{
- std::wstring msg = L"Some intervals does not satisfy the time constraints. ";
- msg += L"For more information: ";
+ std::wstring msg = L"Flow \"" + bmsc->get_label() + L"\" does not satisfy time constraints of the specification. ";
+ msg += L"For more information (red intervals are not satisfied, blue intervals are partialy satisfied): ";
std::vector<MscPtr> result_vec;
result_vec.push_back(result);
- messages.insert(std::make_pair(msg, result_vec));
+ messages.push_back(std::make_pair(msg, result_vec));
delete c;
return NULL;
@@ -172,13 +172,13 @@
if(c->get_result()->get_corupted_intervals_size().second != 0)
{
- std::wstring msg = L"Some intervals could not satisfy the time constraints. ";
+ std::wstring msg = L"Flow \"" + bmsc->get_label() + L" does not satisfy time constraints of the specification. Some intervals are only partialy satisfied. ";
msg += L"For more information: ";
std::vector<MscPtr> result_vec;
result_vec.push_back(result);
- messages.insert(std::make_pair(msg, result_vec));
+ messages.push_back(std::make_pair(msg, result_vec));
delete c;
return NULL;
@@ -191,16 +191,17 @@
}
}
- print_report(RS_ERROR, L"Find flow algorithm cannot recognize a MSC type of specification.");
+ print_report(RS_ERROR, L"Find flow algorithm cannot recognize an MSC type of specification.");
return NULL;
}
-std::map<std::wstring, std::vector<MscPtr> > MembershipAlg::find(MscPtr msc, std::vector<MscPtr>& bmscs,
- std::vector<std::wstring> instances)
+std::vector<std::pair<std::wstring, std::vector<MscPtr> > > MembershipAlg::find(MscPtr msc,
+ std::vector<MscPtr>& bmscs,
+ std::vector<std::wstring> instances)
{
MscPtr temp;
bool cover = false;
- std::map<std::wstring, std::vector<MscPtr> > messages;
+ std::vector<std::pair<std::wstring, std::vector<MscPtr> > > messages;
for(unsigned int i = 0; i < bmscs.size(); i++)
{
@@ -217,15 +218,15 @@
msc_cover.push_back(msc);
if(bmscs.size() > 1)
- messages.insert(std::make_pair(L"Flows coverage of the specification.", msc_cover));
+ messages.push_back(std::make_pair(L"Flows coverage of the specification.", msc_cover));
else
- messages.insert(std::make_pair(L"Flow coverage of the specification.", msc_cover));
+ messages.push_back(std::make_pair(L"Flow coverage of the specification.", msc_cover));
}
return messages;
}
-std::map<std::wstring, std::vector<MscPtr> > MembershipAlg::find(MscPtr msc, std::vector<MscPtr>& bmscs)
+std::vector<std::pair<std::wstring, std::vector<MscPtr> > > MembershipAlg::find(MscPtr msc, std::vector<MscPtr>& bmscs)
{
std::vector<std::wstring> instances;
return find(msc, bmscs, instances);
@@ -242,7 +243,7 @@
//TODO it is necessary to copy MSC because of path returning.
//dup_hmsc should be MSC graph. Due to that duplicatior throws exception during copying time intervals, membership workes just with MSC graphs.
dup_hmsc = hmsc;
-// dup_hmsc = dup_hmsc = duplicator.duplicate(hmsc);
+// dup_hmsc = duplicator.duplicate(hmsc);
c->set_hmsc(dup_hmsc);
Modified: trunk/src/membership/membership_base.h
===================================================================
--- trunk/src/membership/membership_base.h 2011-07-18 19:31:17 UTC (rev 1153)
+++ trunk/src/membership/membership_base.h 2011-07-18 21:41:35 UTC (rev 1154)
@@ -235,7 +235,7 @@
enum DiffType diff_type;
- std::map<std::wstring, std::vector<MscPtr> > result_messages;
+ std::vector<std::pair<std::wstring, std::vector<MscPtr> > > result_messages;
// bool search_bmsc;
public:
@@ -709,7 +709,7 @@
diff_type = type;
}
- void set_result_messages(std::map<std::wstring, std::vector<MscPtr> >& messages)
+ void set_result_messages(std::vector<std::pair<std::wstring, std::vector<MscPtr> > >& messages)
{
result_messages = messages;
}
@@ -721,7 +721,7 @@
*/
void add_result_message(std::wstring message, std::vector<MscPtr> results)
{
- result_messages.insert(std::make_pair(message, results));
+ result_messages.push_back(std::make_pair(message, results));
}
/*
void set_search_bmsc()
@@ -1211,7 +1211,8 @@
{
private:
MscPtr find_flow(MscPtr msc, MscPtr bmsc, std::vector<std::wstring> instances,
- std::map<std::wstring, std::vector<MscPtr> >& messages);
+ std::vector<std::pair<std::wstring, std::vector<MscPtr> > >& messages);
+ //! Make diff between specification and flow
MscPtr diff(MscPtr specification, std::vector<MscPtr>& flows);
public:
@@ -1236,17 +1237,11 @@
//! Returns a list of preconditions for this search.
virtual PreconditionList get_preconditions(MscPtr msc) const;
- //! Finds the bmsc flow in hmsc specification
-// virtual MscPtr find(MscPtr hmsc, MscPtr bmsc);
-
- //! Make diff between specification and flow
//! Finds each bmsc flow from the vector in hmsc specification
- virtual std::map<std::wstring, std::vector<MscPtr> > find(MscPtr hmsc, std::vector<MscPtr>& bmscs);
+ virtual std::vector<std::pair<std::wstring, std::vector<MscPtr> > > find(MscPtr hmsc, std::vector<MscPtr>& bmscs);
- //! Finds the bmsc flow in hmsc specification, focusing on specified instances, DO NOT CHECKING TIME CONSTRAINTS
-// virtual std::map<std::wstring, std::vector<MscPtr> > find(MscPtr hmsc, MscPtr bmsc, std::vector<std::wstring> instances);
- virtual std::map<std::wstring, std::vector<MscPtr> > find(MscPtr msc, std::vector<MscPtr>& bmscs, std::vector<std::wstring> instances);
+ virtual std::vector<std::pair<std::wstring, std::vector<MscPtr> > > find(MscPtr msc, std::vector<MscPtr>& bmscs, std::vector<std::wstring> instances);
MscPtr get_dp_msc(MscPtr msc);
Modified: trunk/src/view/visio/addon/document.cpp
===================================================================
--- trunk/src/view/visio/addon/document.cpp 2011-07-18 19:31:17 UTC (rev 1153)
+++ trunk/src/view/visio/addon/document.cpp 2011-07-18 21:41:35 UTC (rev 1154)
@@ -1132,8 +1132,8 @@
if (msc_haystack == NULL || msc_needles.empty())
return VAORC_FAILURE;
- std::map<std::wstring, std::vector<MscPtr> > result_messages;
- std::map<std::wstring, std::vector<MscPtr> >::iterator result_it;
+ std::vector<std::pair<std::wstring, std::vector<MscPtr> > > result_messages;
+ std::vector<std::pair<std::wstring, std::vector<MscPtr> > >::iterator result_it;
try
{
Modified: trunk/tests/CMakeLists.txt
===================================================================
--- trunk/tests/CMakeLists.txt 2011-07-18 19:31:17 UTC (rev 1153)
+++ trunk/tests/CMakeLists.txt 2011-07-18 21:41:35 UTC (rev 1154)
@@ -112,6 +112,19 @@
ADD_SUBDIRECTORY(z120_test)
+SET(MEMBER_SEQUENCE 0)
+MACRO(ADD_MEMBER_TEST FILE1 FILE2 SATISFIED)
+ GET_TARGET_PROPERTY(MEMBER_TEST_EXECUTABLE membership_test LOCATION)
+ # Replace the "$(IntDir)", "$(OutDir)", or "$(CONFIGURATION)"
+ # depending on the generator being used with the test-time variable.
+ STRING(REGEX REPLACE "\\$\\(.*\\)" "\${CTEST_CONFIGURATION_TYPE}"
+ MEMBER_TEST_EXECUTABLE "${MEMBER_TEST_EXECUTABLE}")
+
+ ADD_TEST("membership_test-${MEMBER_SEQUENCE}-${FILE2}"
+ ${PYTHON_EXECUTABLE} "${CMAKE_SOURCE_DIR}/tests/membership/membership_diff.py" "${MEMBER_TEST_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/${FILE1}" "${CMAKE_CURRENT_SOURCE_DIR}/${FILE2}" ${SATISFIED})
+ MATH(EXPR MEMBER_SEQUENCE ${MEMBER_SEQUENCE}+1)
+ENDMACRO(ADD_MEMBER_TEST)
+
ADD_SUBDIRECTORY(membership)
SET(DIFF_SEQUENCE 0)
Modified: trunk/tests/diff/diff_diff.py
===================================================================
--- trunk/tests/diff/diff_diff.py 2011-07-18 19:31:17 UTC (rev 1153)
+++ trunk/tests/diff/diff_diff.py 2011-07-18 21:41:35 UTC (rev 1154)
@@ -11,48 +11,43 @@
# note: ctest expects the valgring errors at stderr
sys.stderr.writelines(output)
-if int(sys.argv[4]) == 0:
+result_files = glob.glob(sys.argv[3] + ".result*")
+# if no result file, return the error code
+if len(result_files) == 0:
exit = p.wait()
- sys.exit(exit)
+ sys.exit(1)
-else:
- result_files = glob.glob(sys.argv[3] + ".result*")
- # if no result file, return the error code
- if len(result_files) == 0:
- exit = p.wait()
- sys.exit(1)
+error_count = 0
+passed_count = 0
+for result_file in result_files:
+ try:
+ expected_output = open(result_file, "rt")
+ except IOError:
+ error_count = error_count+1
+ print "----------------------------------------------------------"
+ print "FAILED: cannot open", result_file
+ continue
- error_count = 0
- passed_count = 0
- for result_file in result_files:
- try:
- expected_output = open(result_file, "rt")
- except IOError:
+ result = difflib.unified_diff(expected_output.readlines(), output)
+ result_lines = 0
+ # print the differences between the real and the expected output
+ for line in result:
+ if result_lines == 0:
error_count = error_count+1
print "----------------------------------------------------------"
- print "FAILED: cannot open", result_file
- continue
+ print "FAILED: does not match", result_file
- result = difflib.unified_diff(expected_output.readlines(), output)
- result_lines = 0
- # print the differences between the real and the expected output
- for line in result:
- if result_lines == 0:
- error_count = error_count+1
- print "----------------------------------------------------------"
- print "FAILED: does not match", result_file
+ print line,
+ result_lines = result_lines + 1
- print line,
- result_lines = result_lines + 1
+ if result_lines == 0:
+ passed_count = passed_count + 1
+ print "----------------------------------------------------------"
+ print "PASSED: matches", result_file
- if result_lines == 0:
- passed_count = passed_count + 1
- print "----------------------------------------------------------"
- print "PASSED: matches", result_file
+if passed_count > 0:
+ sys.exit(0)
+else:
+ sys.exit(error_count)
- if passed_count > 0:
- sys.exit(0)
- else:
- sys.exit(error_count)
-
# $Id: z120_diff.py 627 2010-02-26 11:31:43Z gotthardp $
Modified: trunk/tests/diff/diff_test.cpp
===================================================================
--- trunk/tests/diff/diff_test.cpp 2011-07-18 19:31:17 UTC (rev 1153)
+++ trunk/tests/diff/diff_test.cpp 2011-07-18 21:41:35 UTC (rev 1154)
@@ -100,7 +100,7 @@
MembershipAlg mem;
mem.set_printer(&printer);
- std::map<std::wstring, std::vector<MscPtr> > result;
+ std::vector<std::pair<std::wstring, std::vector<MscPtr> > > result;
result = mem.find(msc[0], msc_b);
@@ -128,7 +128,7 @@
try
{
- std::map<std::wstring, std::vector<MscPtr> >::iterator result_it;
+ std::vector<std::pair<std::wstring, std::vector<MscPtr> > >::iterator result_it;
for(result_it = result.begin(); result_it != result.end(); result_it++)
{
for(unsigned int i = 0; i < result_it->second.size(); i++)
Modified: trunk/tests/membership/CMakeLists.txt
===================================================================
--- trunk/tests/membership/CMakeLists.txt 2011-07-18 19:31:17 UTC (rev 1153)
+++ trunk/tests/membership/CMakeLists.txt 2011-07-18 21:41:35 UTC (rev 1154)
@@ -1,3 +1,5 @@
+FIND_PACKAGE(PythonInterp REQUIRED)
+
ADD_EXECUTABLE(membership_test
membership_test.cpp
)
@@ -13,264 +15,168 @@
#ADD_MEMBERSHIP_TEST(test_hmsc01 test_bmsc01 1)
-GET_TARGET_PROPERTY(MEMBERSHIP_TEST_EXECUTABLE membership_test LOCATION)
+#GET_TARGET_PROPERTY(MEMBERSHIP_TEST_EXECUTABLE membership_test LOCATION)
# Replace the "$(IntDir)", "$(OutDir)", or "$(CONFIGURATION)"
# depending on the generator being used with the test-time variable.
-STRING(REGEX REPLACE "\\$\\(.*\\)" "\${CTEST_CONFIGURATION_TYPE}"
- MEMBERSHIP_TEST_EXECUTABLE "${MEMBERSHIP_TEST_EXECUTABLE}")
+#STRING(REGEX REPLACE "\\$\\(.*\\)" "\${CTEST_CONFIGURATION_TYPE}"
+# MEMBERSHIP_TEST_EXECUTABLE "")
-ADD_TEST(membership_test-01 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc01.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc01.mpr 1)
+ADD_MEMBER_TEST(test_hmsc01.mpr test_bmsc01.mpr 1)
+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)
+ADD_MEMBER_TEST(test_hmsc04.mpr test_bmsc04.mpr 0)
+ADD_MEMBER_TEST(test_hmsc05.mpr test_bmsc05.mpr 1)
-ADD_TEST(membership_test-02 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc02.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc02.mpr 0)
+ADD_MEMBER_TEST(test_hmsc06.mpr test_bmsc06.mpr 0)
-ADD_TEST(membership_test-03 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc03.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc03.mpr 1)
-
-ADD_TEST(membership_test-04 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc04.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc04.mpr 0)
-
-ADD_TEST(membership_test-05 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc05.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc05.mpr 1)
-
-ADD_TEST(membership_test-06 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc06.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc06.mpr 0)
-
#coregion tests
-ADD_TEST(membership_test-08 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc08.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc08.mpr 1)
+ADD_MEMBER_TEST(test_hmsc08.mpr test_bmsc08.mpr 1)
+ADD_MEMBER_TEST(test_hmsc09.mpr test_bmsc09.mpr 1)
+ADD_MEMBER_TEST(test_hmsc10.mpr test_bmsc10.mpr 1)
+ADD_MEMBER_TEST(test_hmsc11.mpr test_bmsc11_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc11.mpr test_bmsc11_2.mpr 0)
+ADD_MEMBER_TEST(test_hmsc11.mpr test_bmsc11_3.mpr 0)
+ADD_MEMBER_TEST(test_hmsc11.mpr test_bmsc11_4.mpr 0)
+ADD_MEMBER_TEST(test_hmsc12.mpr test_bmsc12_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc12.mpr test_bmsc12_2.mpr 1)
+ADD_MEMBER_TEST(test_hmsc12.mpr test_bmsc12_3.mpr 0)
+ADD_MEMBER_TEST(test_hmsc12.mpr test_bmsc12_4.mpr 0)
+ADD_MEMBER_TEST(test_hmsc12.mpr test_bmsc12_5.mpr 0)
+ADD_MEMBER_TEST(test_hmsc13.mpr test_bmsc13_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc13.mpr test_bmsc13_2.mpr 1)
+ADD_MEMBER_TEST(test_hmsc13.mpr test_bmsc13_3.mpr 0)
+ADD_MEMBER_TEST(test_hmsc14.mpr test_bmsc14_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc14.mpr test_bmsc14_2.mpr 0)
+ADD_MEMBER_TEST(test_hmsc14.mpr test_bmsc14_3.mpr 0)
+ADD_MEMBER_TEST(test_hmsc14.mpr test_bmsc14_4.mpr 0)
+ADD_MEMBER_TEST(test_hmsc15.mpr test_bmsc15_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc15.mpr test_bmsc15_2.mpr 0)
+ADD_MEMBER_TEST(test_hmsc16.mpr test_bmsc16_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc16.mpr test_bmsc16_2.mpr 1)
+ADD_MEMBER_TEST(test_hmsc16.mpr test_bmsc16_3.mpr 0)
+ADD_MEMBER_TEST(test_hmsc11.mpr test_bmsc11_5.mpr 1)
+ADD_MEMBER_TEST(test_hmsc17.mpr test_bmsc17_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc17.mpr test_bmsc17_2.mpr 0)
+ADD_MEMBER_TEST(test_hmsc18.mpr test_bmsc18_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc18.mpr test_bmsc18_2.mpr 0)
+ADD_MEMBER_TEST(test_hmsc18.mpr test_bmsc18_3.mpr 0)
-ADD_TEST(membership_test-09 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc09.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc09.mpr 1)
-
-ADD_TEST(membership_test-10 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc10.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc10.mpr 1)
-
-ADD_TEST(membership_test-11 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc11.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc11_1.mpr 1)
-
-ADD_TEST(membership_test-12 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc11.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc11_2.mpr 0)
-
-ADD_TEST(membership_test-13 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc11.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc11_3.mpr 0)
-
-ADD_TEST(membership_test-14 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc11.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc11_4.mpr 0)
-
-ADD_TEST(membership_test-15 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc12.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc12_1.mpr 1)
-
-ADD_TEST(membership_test-16 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc12.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc12_2.mpr 1)
-
-ADD_TEST(membership_test-17 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc12.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc12_3.mpr 0)
-
-ADD_TEST(membership_test-18 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc12.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc12_4.mpr 0)
-
-ADD_TEST(membership_test-19 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc12.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc12_5.mpr 0)
-
-ADD_TEST(membership_test-20 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc13.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc13_1.mpr 1)
-
-ADD_TEST(membership_test-21 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc13.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc13_2.mpr 1)
-
-ADD_TEST(membership_test-22 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc13.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc13_3.mpr 0)
-
-ADD_TEST(membership_test-23 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc14.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc14_1.mpr 1)
-
-ADD_TEST(membership_test-24 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc14.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc14_2.mpr 0)
-
-ADD_TEST(membership_test-25 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc14.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc14_3.mpr 0)
-
-ADD_TEST(membership_test-26 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc14.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc14_4.mpr 0)
-
-ADD_TEST(membership_test-27 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc15.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc15_1.mpr 1)
-
-ADD_TEST(membership_test-28 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc15.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc15_2.mpr 0)
-
-ADD_TEST(membership_test-29 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc16.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc16_1.mpr 1)
-
-ADD_TEST(membership_test-30 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc16.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc16_2.mpr 1)
-
-ADD_TEST(membership_test-31 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc16.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc16_3.mpr 0)
-
-ADD_TEST(membership_test-32 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc11.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc11_5.mpr 1)
-
-ADD_TEST(membership_test-33 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc17.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc17_1.mpr 1)
-
-ADD_TEST(membership_test-34 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc17.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc17_2.mpr 0)
-
-ADD_TEST(membership_test-35 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc18.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc18_1.mpr 1)
-
-ADD_TEST(membership_test-36 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc18.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc18_2.mpr 0)
-
-ADD_TEST(membership_test-37 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc18.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc18_3.mpr 0)
-
#due to duplicator, membership works only over MSC graph
-#ADD_TEST(membership_test-38 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc19.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc19.mpr 1)
-ADD_TEST(membership_test-38 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc19.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc19.mpr 0)
+#ADD_MEMBER_TEST(test_hmsc19.mpr test_bmsc19.mpr 1)
+ADD_MEMBER_TEST(test_hmsc19.mpr test_bmsc19.mpr 0)
#test bMSC x bMSC
-ADD_TEST(membership_test-39 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc19.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc19.mpr 1)
+ADD_MEMBER_TEST(test_bmsc19.mpr test_bmsc19.mpr 1)
+ADD_MEMBER_TEST(test_bmsc12_1.mpr test_bmsc12_1.mpr 1)
+ADD_MEMBER_TEST(test_bmsc13_1.mpr test_bmsc13_1.mpr 1)
+ADD_MEMBER_TEST(test_bmsc15_1.mpr test_bmsc15_1.mpr 1)
-ADD_TEST(membership_test-40 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc12_1.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc12_1.mpr 1)
-
-ADD_TEST(membership_test-41 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc13_1.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc13_1.mpr 1)
-
-ADD_TEST(membership_test-42 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc15_1.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc15_1.mpr 1)
-
#rozcvicka
-ADD_TEST(membership_test-43 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/rozcvicka_hmsc.mpr ${CMAKE_CURRENT_SOURCE_DIR}/rozcvicka_bmsc.mpr 1)
+ADD_MEMBER_TEST(rozcvicka_hmsc.mpr rozcvicka_bmsc.mpr 1)
+ADD_MEMBER_TEST(rozcvicka_long.mpr rozcvicka_bmsc.mpr 1)
-ADD_TEST(membership_test-44 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/rozcvicka_long.mpr ${CMAKE_CURRENT_SOURCE_DIR}/rozcvicka_bmsc.mpr 1)
-
#test coregion ordering skontrolovat
-ADD_TEST(membership_test-45 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc20.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc20_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc20.mpr test_bmsc20_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc20.mpr test_bmsc20_2.mpr 0)
-ADD_TEST(membership_test-46 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc20.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc20_2.mpr 0)
-
#incomplete messages
-ADD_TEST(membership_test-47 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc21.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc21_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc21.mpr test_bmsc21_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc21.mpr test_bmsc21_2.mpr 1)
+ADD_MEMBER_TEST(test_hmsc21.mpr test_bmsc21_3.mpr 0)
+ADD_MEMBER_TEST(test_hmsc21.mpr test_bmsc21_4.mpr 0)
+ADD_MEMBER_TEST(test_hmsc22.mpr test_bmsc22_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc22.mpr test_bmsc22_2.mpr 1)
+ADD_MEMBER_TEST(test_hmsc22.mpr test_bmsc22_3.mpr 1)
+ADD_MEMBER_TEST(test_hmsc22.mpr test_bmsc22_4.mpr 1)
+ADD_MEMBER_TEST(test_hmsc23.mpr test_bmsc23_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc23.mpr test_bmsc23_2.mpr 1)
+ADD_MEMBER_TEST(test_hmsc23.mpr test_bmsc23_3.mpr 1)
+ADD_MEMBER_TEST(test_hmsc23.mpr test_bmsc23_4.mpr 1)
-ADD_TEST(membership_test-48 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc21.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc21_2.mpr 1)
-
-ADD_TEST(membership_test-49 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc21.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc21_3.mpr 0)
-
-ADD_TEST(membership_test-50 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc21.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc21_4.mpr 0)
-
-ADD_TEST(membership_test-51 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc22.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc22_1.mpr 1)
-
-ADD_TEST(membership_test-52 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc22.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc22_2.mpr 1)
-
-ADD_TEST(membership_test-53 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc22.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc22_3.mpr 1)
-
-ADD_TEST(membership_test-54 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc22.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc22_4.mpr 1)
-
-ADD_TEST(membership_test-55 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc23.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc23_1.mpr 1)
-
-ADD_TEST(membership_test-56 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc23.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc23_2.mpr 1)
-
-ADD_TEST(membership_test-57 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc23.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc23_3.mpr 1)
-
-ADD_TEST(membership_test-58 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc23.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc23_4.mpr 1)
-
#empty MSC
-ADD_TEST(membership_test-59 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc24.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc24_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc24.mpr test_bmsc24_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc24.mpr test_bmsc24_2.mpr 1)
+ADD_MEMBER_TEST(test_hmsc25.mpr test_bmsc25_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc25.mpr test_bmsc25_2.mpr 1)
-ADD_TEST(membership_test-60 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc24.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc24_2.mpr 1)
-
-ADD_TEST(membership_test-61 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc25.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc25_1.mpr 1)
-
-ADD_TEST(membership_test-62 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc25.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc25_2.mpr 1)
-
#not empty
-ADD_TEST(membership_test-63 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc26.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc26_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc26.mpr test_bmsc26_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc26.mpr test_bmsc26_2.mpr 1)
-ADD_TEST(membership_test-64 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc26.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc26_2.mpr 1)
-
#bMSC x bMSC with coregion
-ADD_TEST(membership_test-65 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc27.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc27_1.mpr 1)
+ADD_MEMBER_TEST(test_bmsc27.mpr test_bmsc27_1.mpr 1)
#Lubos' tests
-ADD_TEST(membership_test-66 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/cycle_neg_hmsc.mpr ${CMAKE_CURRENT_SOURCE_DIR}/cycle_neg_pat.mpr 0)
+ADD_MEMBER_TEST(cycle_neg_hmsc.mpr cycle_neg_pat.mpr 0)
+ADD_MEMBER_TEST(cycle_pos_hmsc.mpr cycle_pos_pat.mpr 1)
+ADD_MEMBER_TEST(cycleWithEmpty_pos_hmsc.mpr cycleWithEmpty_pos_pat.mpr 1)
+ADD_MEMBER_TEST(hard_neg_hmsc.mpr hard_neg_pat.mpr 0)
+ADD_MEMBER_TEST(hard_pos_hmsc.mpr hard_pos_pat.mpr 1)
-ADD_TEST(membership_test-67 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/cycle_pos_hmsc.mpr ${CMAKE_CURRENT_SOURCE_DIR}/cycle_pos_pat.mpr 1)
-
-ADD_TEST(membership_test-68 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/cycleWithEmpty_pos_hmsc.mpr ${CMAKE_CURRENT_SOURCE_DIR}/cycleWithEmpty_pos_pat.mpr 1)
-
-ADD_TEST(membership_test-69 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/hard_neg_hmsc.mpr ${CMAKE_CURRENT_SOURCE_DIR}/hard_neg_pat.mpr 0)
-
-ADD_TEST(membership_test-70 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/hard_pos_hmsc.mpr ${CMAKE_CURRENT_SOURCE_DIR}/hard_pos_pat.mpr 1)
-
#Lubos' time tests
-ADD_TEST(membership_test-71 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/time_simple1_pos_hmsc.mpr ${CMAKE_CURRENT_SOURCE_DIR}/time_simple1_pos_pat.mpr 1)
+ADD_MEMBER_TEST(time_simple1_pos_hmsc.mpr time_simple1_pos_pat.mpr 1)
+ADD_MEMBER_TEST(time_simple1_neg_hmsc.mpr time_simple1_neg_pat.mpr 0)
+ADD_MEMBER_TEST(time_simple2_pos_hmsc.mpr time_simple2_pos_pat.mpr 1)
+ADD_MEMBER_TEST(time_simple2_neg_hmsc.mpr time_simple2_neg_pat.mpr 0)
+ADD_MEMBER_TEST(time_cycle_neg_hmsc.mpr time_cycle_neg_pat.mpr 0)
+ADD_MEMBER_TEST(time_cycle_pos_hmsc.mpr time_cycle_pos_pat.mpr 1)
+ADD_MEMBER_TEST(time_cycleWithEmpty_pos_hmsc.mpr time_cycleWithEmpty_pos_pat.mpr 1)
+ADD_MEMBER_TEST(time_cycleWithEmpty_neg_hmsc.mpr time_cycleWithEmpty_neg_pat.mpr 0)
+ADD_MEMBER_TEST(test_bmsc28.mpr test_bmsc28_1.mpr 1)
+ADD_MEMBER_TEST(test_bmsc28.mpr test_bmsc28_2.mpr 1)
+ADD_MEMBER_TEST(test_bmsc28.mpr test_bmsc28_3.mpr 1) # + warning
+ADD_MEMBER_TEST(test_bmsc28.mpr test_bmsc28_4.mpr 1) # + warning
-ADD_TEST(membership_test-72 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/time_simple1_neg_hmsc.mpr ${CMAKE_CURRENT_SOURCE_DIR}/time_simple1_neg_pat.mpr 0)
-
-ADD_TEST(membership_test-73 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/time_simple2_pos_hmsc.mpr ${CMAKE_CURRENT_SOURCE_DIR}/time_simple2_pos_pat.mpr 1)
-
-ADD_TEST(membership_test-74 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/time_simple2_neg_hmsc.mpr ${CMAKE_CURRENT_SOURCE_DIR}/time_simple2_neg_pat.mpr 0)
-
-ADD_TEST(membership_test-75 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/time_cycle_neg_hmsc.mpr ${CMAKE_CURRENT_SOURCE_DIR}/time_cycle_neg_pat.mpr 0)
-
-ADD_TEST(membership_test-76 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/time_cycle_pos_hmsc.mpr ${CMAKE_CURRENT_SOURCE_DIR}/time_cycle_pos_pat.mpr 1)
-
-ADD_TEST(membership_test-77 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/time_cycleWithEmpty_pos_hmsc.mpr ${CMAKE_CURRENT_SOURCE_DIR}/time_cycleWithEmpty_pos_pat.mpr 1)
-
-ADD_TEST(membership_test-78 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/time_cycleWithEmpty_neg_hmsc.mpr ${CMAKE_CURRENT_SOURCE_DIR}/time_cycleWithEmpty_neg_pat.mpr 0)
-
-ADD_TEST(membership_test-79 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc28.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc28_1.mpr 1)
-
-ADD_TEST(membership_test-80 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc28.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc28_2.mpr 1)
-
-ADD_TEST(membership_test-81 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc28.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc28_3.mpr 1) # + warning
-
-ADD_TEST(membership_test-82 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc28.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc28_4.mpr 1) # + warning
-
#tests for new time algorithm
-ADD_TEST(membership_test-83 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc29.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc29_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc29.mpr test_bmsc29_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc29.mpr test_bmsc29_2.mpr 1) # + warning
+ADD_MEMBER_TEST(test_hmsc30.mpr test_bmsc30_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc30.mpr test_bmsc30_2.mpr 1) # + warning
+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_pat01.mpr 1) # + warning
+ADD_MEMBER_TEST(time_hard_bmsc03.mpr time_hard_bmsc_pat01.mpr 0)
+ADD_MEMBER_TEST(time_hard_bmsc04.mpr time_hard_bmsc_pat02.mpr 1) # + warning
+ADD_MEMBER_TEST(time_hard_bmsc05.mpr time_hard_bmsc_pat02.mpr 0)
-ADD_TEST(membership_test-84 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc29.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc29_2.mpr 1) # + warning
-
-ADD_TEST(membership_test-85 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc30.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc30_1.mpr 1)
-
-ADD_TEST(membership_test-86 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc30.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc30_2.mpr 1) # + warning
-
-ADD_TEST(membership_test-87 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc31.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc31_1.mpr 1)
-
-ADD_TEST(membership_test-88 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/time_hard_bmsc01.mpr ${CMAKE_CURRENT_SOURCE_DIR}/time_hard_bmsc_pat01.mpr 1)
-
-ADD_TEST(membership_test-89 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/time_hard_bmsc02.mpr ${CMAKE_CURRENT_SOURCE_DIR}/time_hard_bmsc_pat01.mpr 1) # + warning
-
-ADD_TEST(membership_test-90 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/time_hard_bmsc03.mpr ${CMAKE_CURRENT_SOURCE_DIR}/time_hard_bmsc_pat01.mpr 0)
-
-ADD_TEST(membership_test-91 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/time_hard_bmsc04.mpr ${CMAKE_CURRENT_SOURCE_DIR}/time_hard_bmsc_pat02.mpr 1) # + warning
-
-ADD_TEST(membership_test-92 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/time_hard_bmsc05.mpr ${CMAKE_CURRENT_SOURCE_DIR}/time_hard_bmsc_pat02.mpr 0)
-
#coregion minimal
-ADD_TEST(membership_test-93 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/coregion_minimal.mpr ${CMAKE_CURRENT_SOURCE_DIR}/coregion_minimal_pat1.mpr 0)
+ADD_MEMBER_TEST(coregion_minimal.mpr coregion_minimal_pat1.mpr 0)
+ADD_MEMBER_TEST(coregion_minimal.mpr coregion_minimal_pat2.mpr 0)
+ADD_MEMBER_TEST(coregion_minimal.mpr coregion_minimal_pat3.mpr 0)
+ADD_MEMBER_TEST(coregion_minimal.mpr coregion_minimal_pat4.mpr 0)
+ADD_MEMBER_TEST(coregion_minimal.mpr coregion_minimal_pat5.mpr 1)
+ADD_MEMBER_TEST(coregion_minimal.mpr coregion_minimal_pat6.mpr 1)
+ADD_MEMBER_TEST(coregion_minimal.mpr coregion_minimal_pat7.mpr 1)
+ADD_MEMBER_TEST(coregion_minimal.mpr coregion_minimal_pat8.mpr 1)
-ADD_TEST(membership_test-94 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/coregion_minimal.mpr ${CMAKE_CURRENT_SOURCE_DIR}/coregion_minimal_pat2.mpr 0)
-
-ADD_TEST(membership_test-95 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/coregion_minimal.mpr ${CMAKE_CURRENT_SOURCE_DIR}/coregion_minimal_pat3.mpr 0)
-
-ADD_TEST(membership_test-96 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/coregion_minimal.mpr ${CMAKE_CURRENT_SOURCE_DIR}/coregion_minimal_pat4.mpr 0)
-
-ADD_TEST(membership_test-97 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/coregion_minimal.mpr ${CMAKE_CURRENT_SOURCE_DIR}/coregion_minimal_pat5.mpr 1)
-
-ADD_TEST(membership_test-98 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/coregion_minimal.mpr ${CMAKE_CURRENT_SOURCE_DIR}/coregion_minimal_pat6.mpr 1)
-
-ADD_TEST(membership_test-99 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/coregion_minimal.mpr ${CMAKE_CURRENT_SOURCE_DIR}/coregion_minimal_pat7.mpr 1)
-
-ADD_TEST(membership_test-100 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/coregion_minimal.mpr ${CMAKE_CURRENT_SOURCE_DIR}/coregion_minimal_pat8.mpr 1)
-
#partial membership
-ADD_TEST(membership_test-101 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/partial_mem_easy.mpr ${CMAKE_CURRENT_SOURCE_DIR}/partial_mem_easy_pat1.mpr 1 A)
+ADD_MEMBER_TEST(partial_mem_easy.mpr partial_mem_easy_pat1.mpr 1 A)
+ADD_MEMBER_TEST(partial_mem_easy.mpr partial_mem_easy_pat1.mpr 0 A B)
+ADD_MEMBER_TEST(partial_mem_easy.mpr partial_mem_easy.mpr 1 A B)
+ADD_MEMBER_TEST(partial_mem_easy.mpr partial_mem_easy.mpr 1 A B C)
-ADD_TEST(membership_test-102 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/partial_mem_easy.mpr ${CMAKE_CURRENT_SOURCE_DIR}/partial_mem_easy_pat1.mpr 0 A B)
-ADD_TEST(membership_test-103 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/partial_mem_easy.mpr ${CMAKE_CURRENT_SOURCE_DIR}/partial_mem_easy.mpr 1 A B)
-ADD_TEST(membership_test-104 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/partial_mem_easy.mpr ${CMAKE_CURRENT_SOURCE_DIR}/partial_mem_easy.mpr 1 A B C)
+ADD_MEMBER_TEST(complete.mpr complete_pat1.mpr 0)
+ADD_MEMBER_TEST(complete.mpr complete_pat5.mpr 1)
+ADD_MEMBER_TEST(complete.mpr complete_pat2.mpr 0)
+ADD_MEMBER_TEST(complete1.mpr complete_pat3.mpr 1)
+ADD_MEMBER_TEST(complete.mpr complete_pat1.mpr 1 PC)
+ADD_MEMBER_TEST(complete.mpr complete_pat3.mpr 1 PC Router Server)
-
-ADD_TEST(membership_test-105 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/complete.mpr ${CMAKE_CURRENT_SOURCE_DIR}/complete_pat1.mpr 0)
-
-ADD_TEST(membership_test-106 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/complete.mpr ${CMAKE_CURRENT_SOURCE_DIR}/complete_pat5.mpr 1)
-
-ADD_TEST(membership_test-107 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/complete.mpr ${CMAKE_CURRENT_SOURCE_DIR}/complete_pat2.mpr 0)
-
-ADD_TEST(membership_test-108 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/complete1.mpr ${CMAKE_CURRENT_SOURCE_DIR}/complete_pat3.mpr 1)
-
-ADD_TEST(membership_test-109 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/complete.mpr ${CMAKE_CURRENT_SOURCE_DIR}/complete_pat1.mpr 1 PC)
-
-ADD_TEST(membership_test-110 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/complete.mpr ${CMAKE_CURRENT_SOURCE_DIR}/complete_pat3.mpr 1 PC Router Server)
-
-
#complete.mpr separeted into small pieces
-ADD_TEST(membership_test-115 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc32.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc32_1.mpr 1)
+ADD_MEMBER_TEST(test_bmsc32.mpr test_bmsc32_1.mpr 1)
+ADD_MEMBER_TEST(test_bmsc33.mpr test_bmsc33_1.mpr 1)
+ADD_MEMBER_TEST(test_hmsc33.mpr test_bmsc33_1.mpr 1)
-ADD_TEST(membership_test-116 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc33.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc33_1.mpr 1)
-
-ADD_TEST(membership_test-117 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc33.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc33_1.mpr 1)
-
#do not meet preconditions
-#ADD_TEST(membership_test-118 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc32.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc32_2.mpr 0)
+#ADD_MEMBER_TEST(118 test_bmsc32.mpr test_bmsc32_2.mpr 0)
-ADD_TEST(membership_test-119 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_hmsc35.mpr ${CMAKE_CURRENT_SOURCE_DIR}/test_bmsc35.mpr 1)
-
-ADD_TEST(membership_test-120 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/absolut_time_hmsc01.mpr ${CMAKE_CURRENT_SOURCE_DIR}/absolut_time_bmsc01.mpr 1)
-
-ADD_TEST(membership_test-121 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/absolut_time_hmsc02.mpr ${CMAKE_CURRENT_SOURCE_DIR}/absolut_time_bmsc02_1.mpr 1)
-
-ADD_TEST(membership_test-122 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/absolut_time_hmsc02.mpr ${CMAKE_CURRENT_SOURCE_DIR}/absolut_time_bmsc02_2.mpr 1)
+ADD_MEMBER_TEST(test_hmsc35.mpr test_bmsc35.mpr 1)
+ADD_MEMBER_TEST(absolut_time_hmsc01.mpr absolut_time_bmsc01.mpr 1)
+ADD_MEMBER_TEST(absolut_time_hmsc02.mpr absolut_time_bmsc02_1.mpr 1)
+ADD_MEMBER_TEST(absolut_time_hmsc02.mpr absolut_time_bmsc02_2.mpr 1)
Added: trunk/tests/membership/membership_diff.py
===================================================================
--- trunk/tests/membership/membership_diff.py (rev 0)
+++ trunk/tests/membership/membership_diff.py 2011-07-18 21:41:35 UTC (rev 1154)
@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+import subprocess
+import difflib
+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)
+
+output = p.stderr.readlines() + p.stdout.readlines()
+# print the output as it may contain valgrind error reports
+# note: ctest expects the valgring errors at stderr
+sys.stderr.writelines(output)
+
+result_files = glob.glob(sys.argv[3] + ".result*")
+# if no result file, return the error code
+if len(result_files) == 0:
+ exit = p.wait()
+ sys.exit(0)
+
+error_count = 0
+passed_count = 0
+for result_file in result_files:
+ try:
+ expected_output = open(result_file, "rt")
+ except IOError:
+ error_count = error_count+1
+ print "----------------------------------------------------------"
+ print "FAILED: cannot open", result_file
+ continue
+
+ result = difflib.unified_diff(expected_output.readlines(), output)
+ result_lines = 0
+ # print the differences between the real and the expected output
+ for line in result:
+ if result_lines == 0:
+ error_count = error_count+1
+ print "----------------------------------------------------------"
+ print "FAILED: does not match", result_file
+
+ print line,
+ result_lines = result_lines + 1
+
+ if result_lines == 0:
+ passed_count = passed_count + 1
+ print "----------------------------------------------------------"
+ print "PASSED: matches", result_file
+
+if passed_count > 0:
+ sys.exit(0)
+else:
+ sys.exit(error_count)
+
+# $Id: z120_diff.py 627 2010-02-26 11:31:43Z gotthardp $
Property changes on: trunk/tests/membership/membership_diff.py
___________________________________________________________________
Added: svn:executable
+ *
Modified: trunk/tests/membership/membership_test.cpp
===================================================================
--- trunk/tests/membership/membership_test.cpp 2011-07-18 19:31:17 UTC (rev 1153)
+++ trunk/tests/membership/membership_test.cpp 2011-07-18 21:41:35 UTC (rev 1154)
@@ -102,7 +102,7 @@
BMscPtr bmsc = boost::dynamic_pointer_cast<BMsc>(msc_b[0]);
- std::map<std::wstring, std::vector<MscPtr> > result;
+ std::vector<std::pair<std::wstring, std::vector<MscPtr> > > result;
std::vector<MscPtr> bmscs;
bmscs.push_back(bmsc);
@@ -151,14 +151,14 @@
std::cerr << "Result messages are empty" << std::endl;
else
{
- std::map<std::wstring, std::vector<MscPtr> >::iterator map_it;
+ std::vector<std::pair<std::wstring, std::vector<MscPtr> > >::iterator vec_it;
- for(map_it = result.begin(); map_it != result.end(); map_it++)
+ for(vec_it = result.begin(); vec_it != result.end(); vec_it++)
{
- std::wcerr << map_it->first << std::endl;
- for(unsigned int i = 0; i < map_it->second.size(); i++)
+ std::wcerr << vec_it->first << std::endl;
+ for(unsigned int i = 0; i < vec_it->second.size(); i++)
{
- z120.save_msc(std::cout, TOWSTRING(filename), map_it->second.at(i));
+ z120.save_msc(std::cout, TOWSTRING(filename), vec_it->second.at(i));
}
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|