Skip to content

Commit

Permalink
- compareMode-enum to task graph comparator added
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@20823 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
Marcus Walther committed May 26, 2014
1 parent d6ff87b commit 8fcbb51
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
10 changes: 5 additions & 5 deletions Compiler/runtime/TaskGraphResultsCmp.cpp
Expand Up @@ -647,12 +647,12 @@ GraphComparator::~GraphComparator()
{
}

bool GraphComparator::CompareGraphs(Graph *g1, Graph *g2,std::string *errorMsg)
bool GraphComparator::CompareGraphs(Graph *g1, Graph *g2, CompareMode mode, std::string *errorMsg)
{
return GraphComparator::CompareGraphs(g1, g2, NodeComparator(&NodeComparator::CompareNodeNamesInt), EdgeComparator(&EdgeComparator::CompareEdgesByNodeNamesInt), true, true, errorMsg);
return GraphComparator::CompareGraphs(g1, g2, NodeComparator(&NodeComparator::CompareNodeNamesInt), EdgeComparator(&EdgeComparator::CompareEdgesByNodeNamesInt), true, true, mode, errorMsg);
}

bool GraphComparator::CompareGraphs(Graph *g1, Graph *g2, NodeComparator nodeComparator, EdgeComparator edgeComparator, bool checkCalcTime, bool checkCommTime, std::string *errorMsg)
bool GraphComparator::CompareGraphs(Graph *g1, Graph *g2, NodeComparator nodeComparator, EdgeComparator edgeComparator, bool checkCalcTime, bool checkCommTime, CompareMode mode, std::string *errorMsg)
{
std::stringstream ss;

Expand Down Expand Up @@ -836,7 +836,7 @@ void* TaskGraphResultsCmp_checkTaskGraph(const char *filename, const char *reffi
parser.ParseGraph(&g1, filename, NodeComparator(&NodeComparator::CompareNodeNamesInt), &errorMsg);
parser.ParseGraph(&g2, reffilename, NodeComparator(&NodeComparator::CompareNodeNamesInt), &errorMsg);

if (GraphComparator::CompareGraphs(&g1, &g2, &errorMsg))
if (GraphComparator::CompareGraphs(&g1, &g2, FULL, &errorMsg))
res = mk_cons(mk_scon("Taskgraph correct"), mk_nil());
else
res = mk_cons(mk_scon("Taskgraph not correct"), mk_nil());
Expand Down Expand Up @@ -877,7 +877,7 @@ void* TaskGraphResultsCmp_checkCodeGraph(const char *filename, const char *codeF
parser.ParseGraph(&g1, filename, NodeComparator(&NodeComparator::CompareNodeNamesInt), &errorMsg);
codeParser.ParseGraph(&g2, codeFileName, NodeComparator(&NodeComparator::CompareNodeNamesInt), &errorMsg);

if (GraphComparator::CompareGraphs(&g1, &g2, NodeComparator(&NodeComparator::CompareNodeIdsInt),EdgeComparator(&EdgeComparator::CompareEdgesByNodeIdsInt), false, false, &errorMsg))
if (GraphComparator::CompareGraphs(&g1, &g2, NodeComparator(&NodeComparator::CompareNodeIdsInt),EdgeComparator(&EdgeComparator::CompareEdgesByNodeIdsInt), false, false, FULL, &errorMsg))
res = mk_cons(mk_scon("Codegraph correct"), mk_nil());
else
res = mk_cons(mk_scon("Codegraph not correct"), mk_nil());
Expand Down
8 changes: 6 additions & 2 deletions Compiler/runtime/TaskGraphResultsCmp.h
Expand Up @@ -224,17 +224,21 @@ class GraphCodeParser : public GraphParser

#ifndef TGRC_GRAPHCOMPARATOR
#define TGRC_GRAPHCOMPARATOR

enum CompareMode { FULL, LEVEL };

class GraphComparator
{
private:
GraphComparator(void);
public:
//Compares the two given graphs and adds every error-message to the given string.
static bool CompareGraphs(Graph *g1, Graph *g2, std::string *errorMsg);
static bool CompareGraphs(Graph *g1, Graph *g2, NodeComparator nodeComparator, EdgeComparator edgeComparator, bool checkCalcTime, bool checkCommTime, std::string *errorMsg);
static bool CompareGraphs(Graph *g1, Graph *g2, CompareMode mode, std::string *errorMsg);
static bool CompareGraphs(Graph *g1, Graph *g2, NodeComparator nodeComparator, EdgeComparator edgeComparator, bool checkCalcTime, bool checkCommTime, CompareMode mode, std::string *errorMsg);

~GraphComparator(void);


static bool IsNodePartOfGraph(Node *node, Graph *graph, NodeComparator nodeComparator);
static bool IsEdgePartOfGraph(Edge *edge, Graph *graph, EdgeComparator edgeComparator);
protected:
Expand Down

0 comments on commit 8fcbb51

Please sign in to comment.