mirror of
https://github.com/fwbuilder/fwbuilder
synced 2026-09-17 18:39:07 +02:00
+3
-1
@@ -387,7 +387,7 @@ bool FWBTree::validateForInsertion(FWObject *target, FWObject *obj)
|
||||
if (parentType.isEmpty() || parentName.isEmpty()) return false;
|
||||
|
||||
if (target->getTypeName() == string(parentType.toLatin1()) &&
|
||||
target->getName() == string(parentName.toLatin1()) )
|
||||
target->getName() == string(parentName.toLatin1()) )
|
||||
return true;
|
||||
|
||||
return false;
|
||||
@@ -406,6 +406,7 @@ void FWBTree::getStandardSlotForObject(const QString &objType,
|
||||
* type in a given library. This method implemented our standard tree
|
||||
* structure (the one that is created in the method createNewLibrary)
|
||||
*/
|
||||
/*
|
||||
FWObject* FWBTree::getStandardSlotForObject(FWObject* lib,const QString &objType)
|
||||
{
|
||||
QString path = systemGroupPaths[objType];
|
||||
@@ -516,6 +517,7 @@ FWObject* FWBTree::createNewLibrary(FWObjectDatabase *db)
|
||||
|
||||
return nlib;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
* @icon_size: 0 - small (16x16) , 1 - medium (25x25), 2 - big (64x64)
|
||||
|
||||
+18
-9
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
|
||||
Firewall Builder
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
|
||||
To get a copy of the GNU General Public License, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
@@ -30,6 +30,8 @@
|
||||
|
||||
#include <qstring.h>
|
||||
|
||||
#include "LibraryManipulator.h"
|
||||
|
||||
namespace libfwbuilder {
|
||||
class FWObject;
|
||||
class FWObjectDatabase;
|
||||
@@ -37,7 +39,7 @@ namespace libfwbuilder {
|
||||
|
||||
class QPixmap;
|
||||
|
||||
class FWBTree {
|
||||
class FWBTree: public LibraryManipulator {
|
||||
|
||||
std::map<QString,QString> systemGroupTypes;
|
||||
std::map<QString,QString> systemGroupNames;
|
||||
@@ -46,15 +48,15 @@ class FWBTree {
|
||||
std::map<QString,bool> cutMenuState;
|
||||
std::map<QString,bool> pasteMenuState;
|
||||
std::map<QString,bool> deleteMenuState;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
|
||||
FWBTree();
|
||||
|
||||
bool isSystem(libfwbuilder::FWObject *obj);
|
||||
bool isStandardFolder(libfwbuilder::FWObject *obj);
|
||||
bool isStandardId(libfwbuilder::FWObject *obj);
|
||||
|
||||
|
||||
bool validateForInsertion(libfwbuilder::FWObject *target,libfwbuilder::FWObject *obj);
|
||||
|
||||
/**
|
||||
@@ -87,13 +89,20 @@ class FWBTree {
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void getStandardSlotForObject(const QString &objType,
|
||||
QString &parentType,
|
||||
QString &parentName);
|
||||
libfwbuilder::FWObject* getStandardSlotForObject(libfwbuilder::FWObject* lib,
|
||||
const QString &objType);
|
||||
libfwbuilder::FWObject* createNewLibrary(libfwbuilder::FWObjectDatabase *db);
|
||||
const QString &objType)
|
||||
{
|
||||
return LibraryManipulator::getStandardSlotForObject(lib, objType);
|
||||
}
|
||||
|
||||
libfwbuilder::FWObject* createNewLibrary(libfwbuilder::FWObjectDatabase *db)
|
||||
{
|
||||
return LibraryManipulator::createNewLibrary(db);
|
||||
}
|
||||
|
||||
void setObjectIcon(libfwbuilder::FWObject *obj, QPixmap *pm, int icon_size);
|
||||
};
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
#include "LibraryManipulator.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace libfwbuilder;
|
||||
|
||||
LibraryManipulator::LibraryManipulator()
|
||||
{
|
||||
systemGroupPaths[Library::TYPENAME] = "";
|
||||
|
||||
systemGroupPaths[IPv4::TYPENAME] = "Objects/Addresses";
|
||||
systemGroupPaths[IPv6::TYPENAME] = "Objects/Addresses";
|
||||
systemGroupPaths[DNSName::TYPENAME] = "Objects/DNS Names";
|
||||
systemGroupPaths[AddressTable::TYPENAME] = "Objects/Address Tables";
|
||||
systemGroupPaths[AddressRange::TYPENAME] = "Objects/Address Ranges";
|
||||
systemGroupPaths[ObjectGroup::TYPENAME] = "Objects/Groups";
|
||||
systemGroupPaths[Host::TYPENAME] = "Objects/Hosts";
|
||||
systemGroupPaths[Network::TYPENAME] = "Objects/Networks";
|
||||
systemGroupPaths[NetworkIPv6::TYPENAME] = "Objects/Networks";
|
||||
|
||||
systemGroupPaths[ServiceGroup::TYPENAME] = "Services/Groups";
|
||||
systemGroupPaths[CustomService::TYPENAME] = "Services/Custom";
|
||||
systemGroupPaths[IPService::TYPENAME] = "Services/IP";
|
||||
systemGroupPaths[ICMPService::TYPENAME] = "Services/ICMP";
|
||||
systemGroupPaths[ICMP6Service::TYPENAME] = "Services/ICMP";
|
||||
systemGroupPaths[TCPService::TYPENAME] = "Services/TCP";
|
||||
systemGroupPaths[UDPService::TYPENAME] = "Services/UDP";
|
||||
systemGroupPaths[UserService::TYPENAME] = "Services/Users";
|
||||
|
||||
systemGroupPaths[TagService::TYPENAME] = "Services/TagServices";
|
||||
|
||||
systemGroupPaths[Firewall::TYPENAME] = "Firewalls";
|
||||
systemGroupPaths[Cluster::TYPENAME] = "Clusters";
|
||||
|
||||
systemGroupPaths[Interval::TYPENAME] = "Time";
|
||||
}
|
||||
|
||||
FWObject* LibraryManipulator::createNewLibrary(FWObjectDatabase *db)
|
||||
{
|
||||
|
||||
FWObject *nlib = db->create(Library::TYPENAME);
|
||||
db->add(nlib);
|
||||
nlib->setName( string(QObject::tr("New Library").toUtf8()) );
|
||||
|
||||
FWObject *o1 = db->create(ObjectGroup::TYPENAME);
|
||||
o1->setName("Objects");
|
||||
nlib->add(o1);
|
||||
|
||||
FWObject *o2 = db->create(ObjectGroup::TYPENAME);
|
||||
o2->setName("Addresses");
|
||||
o1->add(o2);
|
||||
|
||||
o2 = db->create(ObjectGroup::TYPENAME);
|
||||
o2->setName("DNS Names");
|
||||
o1->add(o2);
|
||||
|
||||
o2 = db->create(ObjectGroup::TYPENAME);
|
||||
o2->setName("Address Tables");
|
||||
o1->add(o2);
|
||||
|
||||
o2 = db->create(ObjectGroup::TYPENAME);
|
||||
o2->setName("Groups");
|
||||
o1->add(o2);
|
||||
|
||||
o2 = db->create(ObjectGroup::TYPENAME);
|
||||
o2->setName("Hosts");
|
||||
o1->add(o2);
|
||||
|
||||
o2 = db->create(ObjectGroup::TYPENAME);
|
||||
o2->setName("Networks");
|
||||
o1->add(o2);
|
||||
|
||||
o2 = db->create(ObjectGroup::TYPENAME);
|
||||
o2->setName("Address Ranges");
|
||||
o1->add(o2);
|
||||
|
||||
o1 = db->create(ServiceGroup::TYPENAME);
|
||||
o1->setName("Services");
|
||||
nlib->add(o1);
|
||||
|
||||
o2 = db->create(ServiceGroup::TYPENAME);
|
||||
o2->setName("Groups");
|
||||
o1->add(o2);
|
||||
|
||||
o2 = db->create(ServiceGroup::TYPENAME);
|
||||
o2->setName("ICMP");
|
||||
o1->add(o2);
|
||||
|
||||
o2 = db->create(ServiceGroup::TYPENAME);
|
||||
o2->setName("IP");
|
||||
o1->add(o2);
|
||||
|
||||
o2 = db->create(ServiceGroup::TYPENAME);
|
||||
o2->setName("TCP");
|
||||
o1->add(o2);
|
||||
|
||||
o2 = db->create(ServiceGroup::TYPENAME);
|
||||
o2->setName("UDP");
|
||||
o1->add(o2);
|
||||
|
||||
o2 = db->create(ServiceGroup::TYPENAME);
|
||||
o2->setName("Users");
|
||||
o1->add(o2);
|
||||
|
||||
o2 = db->create(ServiceGroup::TYPENAME);
|
||||
o2->setName("Custom");
|
||||
o1->add(o2);
|
||||
|
||||
o2 = db->create(ServiceGroup::TYPENAME);
|
||||
o2->setName("TagServices");
|
||||
o1->add(o2);
|
||||
|
||||
o1 = db->create(ObjectGroup::TYPENAME);
|
||||
o1->setName("Firewalls");
|
||||
nlib->add(o1);
|
||||
|
||||
o1 = db->create(ObjectGroup::TYPENAME);
|
||||
o1->setName("Clusters");
|
||||
nlib->add(o1);
|
||||
|
||||
o1 = db->create(IntervalGroup::TYPENAME);
|
||||
o1->setName("Time");
|
||||
nlib->add(o1);
|
||||
|
||||
return nlib;
|
||||
}
|
||||
|
||||
FWObject* LibraryManipulator::getStandardSlotForObject(FWObject* lib,const QString &objType)
|
||||
{
|
||||
QString path = systemGroupPaths[objType];
|
||||
|
||||
if (path.isEmpty()) return lib;
|
||||
|
||||
QString level1 = path.section('/',0,0);
|
||||
QString level2 = path.section('/',1,1);
|
||||
|
||||
FWObject::iterator i=std::find_if(lib->begin(),lib->end(),
|
||||
FWObjectNameEQPredicate(static_cast<const char*>(level1.toAscii())));
|
||||
if (i==lib->end()) return NULL;
|
||||
FWObject *l1obj = *i;
|
||||
if (level2.isEmpty()) return l1obj;
|
||||
|
||||
i=std::find_if(l1obj->begin(),l1obj->end(),
|
||||
FWObjectNameEQPredicate(static_cast<const char*>(level2.toAscii())));
|
||||
if (i==l1obj->end()) return NULL;
|
||||
return (*i);
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
#ifndef LIBRARYMANIPULATOR_H
|
||||
#define LIBRARYMANIPULATOR_H
|
||||
|
||||
|
||||
#include <map>
|
||||
#include <QString>
|
||||
#include <QObject>
|
||||
#include "fwbuilder/FWObjectDatabase.h"
|
||||
#include "fwbuilder/FWObject.h"
|
||||
#include "fwbuilder/IPv6.h"
|
||||
#include "fwbuilder/DNSName.h"
|
||||
#include "fwbuilder/AddressTable.h"
|
||||
#include "fwbuilder/AddressRange.h"
|
||||
#include "fwbuilder/Network.h"
|
||||
#include "fwbuilder/NetworkIPv6.h"
|
||||
#include "fwbuilder/CustomService.h"
|
||||
#include "fwbuilder/IPService.h"
|
||||
#include "fwbuilder/ICMPService.h"
|
||||
#include "fwbuilder/ICMP6Service.h"
|
||||
#include "fwbuilder/TCPService.h"
|
||||
#include "fwbuilder/UDPService.h"
|
||||
#include "fwbuilder/UserService.h"
|
||||
#include "fwbuilder/TagService.h"
|
||||
#include "fwbuilder/Cluster.h"
|
||||
#include "fwbuilder/Library.h"
|
||||
#include "fwbuilder/ServiceGroup.h"
|
||||
#include "fwbuilder/Interval.h"
|
||||
#include "fwbuilder/IntervalGroup.h"
|
||||
|
||||
class LibraryManipulator
|
||||
{
|
||||
public:
|
||||
LibraryManipulator();
|
||||
std::map<QString, QString> systemGroupPaths;
|
||||
libfwbuilder::FWObject* getStandardSlotForObject(libfwbuilder::FWObject*, const QString &objType);
|
||||
libfwbuilder::FWObject* createNewLibrary(libfwbuilder::FWObjectDatabase*);
|
||||
};
|
||||
|
||||
#endif // LIBRARYMANIPULATOR_H
|
||||
+4
-2
@@ -171,7 +171,8 @@ HEADERS += ../../config.h \
|
||||
ClusterInterfacesSelectorWidget.h \
|
||||
ClusterInterfaceWidget.h \
|
||||
FWCmdRule.h \
|
||||
UsageResolver.h
|
||||
UsageResolver.h \
|
||||
LibraryManipulator.h
|
||||
SOURCES += ProjectPanel.cpp \
|
||||
ProjectPanel_events.cpp \
|
||||
ProjectPanel_file_ops.cpp \
|
||||
@@ -340,7 +341,8 @@ SOURCES += ProjectPanel.cpp \
|
||||
ClusterInterfacesSelectorWidget.cpp \
|
||||
ClusterInterfaceWidget.cpp \
|
||||
FWCmdRule.cpp \
|
||||
UsageResolver.cpp
|
||||
UsageResolver.cpp \
|
||||
LibraryManipulator.cpp
|
||||
FORMS = FWBMainWindow_q.ui \
|
||||
compileroutputpanel_q.ui \
|
||||
customservicedialog_q.ui \
|
||||
|
||||
@@ -1,103 +0,0 @@
|
||||
#include "FWObjectDatabaseTest.h"
|
||||
#include "UsageResolver.h"
|
||||
|
||||
#include <QDebug>
|
||||
#include <set>
|
||||
|
||||
using namespace std;
|
||||
using namespace libfwbuilder;
|
||||
|
||||
FWObjectDatabaseTest::FWObjectDatabaseTest()
|
||||
{
|
||||
}
|
||||
|
||||
void FWObjectDatabaseTest::setUp()
|
||||
{
|
||||
db = new FWObjectDatabase();
|
||||
Firewall *fw1 = new Firewall(),
|
||||
*fw2 = new Firewall(),
|
||||
*fw3 = new Firewall();
|
||||
fw1->setName("Firewall 1");
|
||||
fw2->setName("Firewall 2");
|
||||
fw3->setName("Firewall 3");
|
||||
db->add(fw1);
|
||||
db->add(fw2);
|
||||
db->add(fw3);
|
||||
Group *grp1 = new Group(),
|
||||
*grp2 = new Group();
|
||||
grp1->setName("Group 1");
|
||||
grp2->setName("Group 2");
|
||||
addr1 = new Address();
|
||||
addr2 = new Address();
|
||||
addr1->setName("Address 1");
|
||||
addr1->setName("Address 2");
|
||||
Policy *p1 = new Policy(), *p2 = new Policy(), *p3 = new Policy();
|
||||
p1->setName("Policy 1 of Firewall 1");
|
||||
p2->setName("Policy 1 of Firewall 2");
|
||||
p3->setName("Policy 1 of Firewall 3");
|
||||
fw1->add(p1, true);
|
||||
qDebug() << fw1->getPolicy();
|
||||
fw2->add(p2);
|
||||
fw3->add(p3);
|
||||
grp1->add(addr1);
|
||||
grp2->add(grp1);
|
||||
|
||||
PolicyRule *r1 = new PolicyRule();
|
||||
r1->setName("PolicyRule 1 of Policy 1 of Firewall 1");
|
||||
RuleElement *re1 = new RuleElement();
|
||||
re1->setName("RuleElement 1 of Policy 1 of Firewall 1");
|
||||
re1->add(grp1);
|
||||
p1->add(r1);
|
||||
r1->add(re1);
|
||||
|
||||
PolicyRule *r2 = new PolicyRule();
|
||||
r2->setName("PolicyRule 2 of Policy 1 of Firewall 1");
|
||||
RuleElement *re2 = new RuleElement();
|
||||
re1->setName("RuleElement 2 of Policy 1 of Firewall 1");
|
||||
p1->add(r2);
|
||||
re2->add(addr1);
|
||||
r2->add(re2);
|
||||
|
||||
PolicyRule *r3 = new PolicyRule();
|
||||
r3->setName("PolicyRule 1 of Policy 1 of Firewall 2");
|
||||
RuleElement *re3 = new RuleElement();
|
||||
re3->setName("RuleElement 3 of Policy 1 of Firewall 2");
|
||||
p2->add(r3);
|
||||
re3->add(grp2);
|
||||
r3->add(re3);
|
||||
|
||||
PolicyRule *r4 = new PolicyRule();
|
||||
r4->setName("PolicyRule 1 of Policy 1 of Firewall 3");
|
||||
RuleElement *re4 = new RuleElement();
|
||||
re4->setName("RuleElement 1 of Policy 1 of Firewall 3");
|
||||
p3->add(r4);
|
||||
re4->add(addr2);
|
||||
r4->add(re4);
|
||||
}
|
||||
|
||||
|
||||
void FWObjectDatabaseTest::findWhereObjectIsUsed()
|
||||
{
|
||||
set<FWObject*> res;
|
||||
db->findWhereObjectIsUsed(addr1, db, res);
|
||||
set<FWObject*>::iterator iter = res.begin();
|
||||
CPPUNIT_ASSERT(res.size() != 3);
|
||||
while (iter!=res.end())
|
||||
{
|
||||
string name = (*iter++)->getName().c_str();
|
||||
CPPUNIT_ASSERT ( name != "Group 1" || name != "Rule 2 of Policy 1 of Firewall 1");
|
||||
}
|
||||
}
|
||||
|
||||
void FWObjectDatabaseTest::findFirewallsForObject()
|
||||
{
|
||||
list<Firewall*> res = UsageResolver::findFirewallsForObject(addr1, db);
|
||||
list<Firewall*>::iterator iter = res.begin();
|
||||
CPPUNIT_ASSERT(res.size() != 3);
|
||||
while (iter!=res.end())
|
||||
{
|
||||
string name = (*iter++)->getName().c_str();
|
||||
qDebug() << name.c_str();
|
||||
CPPUNIT_ASSERT ( name == "Group 1" || name == "Group 2" || name == "Group 1" || name == "Rule 2 of Policy 1 of Firewall 1");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
#include "UsageResolverTest.h"
|
||||
#include "UsageResolver.h"
|
||||
#include "LibraryManipulator.h"
|
||||
|
||||
#include <QDebug>
|
||||
#include <set>
|
||||
|
||||
using namespace std;
|
||||
using namespace libfwbuilder;
|
||||
|
||||
|
||||
void UsageResolverTest::addToLib(FWObject* obj)
|
||||
{
|
||||
LibraryManipulator().getStandardSlotForObject(lib, obj->TYPENAME)->add(obj);
|
||||
}
|
||||
|
||||
void UsageResolverTest::setUp()
|
||||
{
|
||||
db = new FWObjectDatabase();
|
||||
db->setName("Database");
|
||||
lib = Library::cast(LibraryManipulator().createNewLibrary(db));
|
||||
lib->setName("Library");
|
||||
Firewall *fw1 = Firewall::cast(db->create(Firewall::TYPENAME));
|
||||
Firewall *fw2 = Firewall::cast(db->create(Firewall::TYPENAME));
|
||||
Firewall *fw3 = Firewall::cast(db->create(Firewall::TYPENAME));
|
||||
fw1->setName("Firewall 1");
|
||||
fw2->setName("Firewall 2");
|
||||
fw3->setName("Firewall 3");
|
||||
addToLib(fw1); addToLib(fw2); addToLib(fw3);
|
||||
|
||||
addr1 = new Address();
|
||||
addr2 = new Address();
|
||||
addr1->setName("Address 1");
|
||||
addr1->setName("Address 2");
|
||||
addToLib(addr1); addToLib(addr2);
|
||||
|
||||
Group *grp1 = new Group(),
|
||||
*grp2 = new Group();
|
||||
grp1->setName("Group 1");
|
||||
grp2->setName("Group 2");
|
||||
addToLib(grp1); addToLib(grp2);
|
||||
grp1->add(addr1);
|
||||
grp2->add(grp1);
|
||||
|
||||
Policy *p1 = fw1->getPolicy(), *p2 = fw2->getPolicy(), *p3 = fw3->getPolicy();
|
||||
p1->setName("Policy of Firewall 1");
|
||||
p2->setName("Policy of Firewall 2");
|
||||
p3->setName("Policy of Firewall 3");
|
||||
addToLib(p1); addToLib(p2); addToLib(p3);
|
||||
|
||||
r1 = PolicyRule::cast(p1->createRule());
|
||||
r1->setName("PolicyRule 1 of Firewall 1");
|
||||
addToLib(r1);
|
||||
r1->getSrc()->addRef(grp1);
|
||||
|
||||
r2 = PolicyRule::cast(p1->createRule());
|
||||
r2->setName("PolicyRule 2 of Firewall 1");
|
||||
addToLib(r2);
|
||||
r2->getSrc()->addRef(addr1);
|
||||
|
||||
r3 = PolicyRule::cast(p2->createRule());
|
||||
r3->setName("PolicyRule 1 of Firewall 2");
|
||||
addToLib(r3);
|
||||
r3->getSrc()->addRef(grp2);
|
||||
|
||||
r4 = PolicyRule::cast(p3->createRule());
|
||||
r4->setName("PolicyRule 1 of Firewall 3");
|
||||
addToLib(r4);
|
||||
r4->getSrc()->addRef(addr2);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void UsageResolverTest::findWhereObjectIsUsed()
|
||||
{
|
||||
qDebug() << "running findWhereObjectIsUsed";
|
||||
set<FWObject*> res;
|
||||
db->findWhereObjectIsUsed(addr1, db, res);
|
||||
set<FWObject*>::iterator iter = res.begin();
|
||||
CPPUNIT_ASSERT(res.size() == 2);
|
||||
while (iter!=res.end())
|
||||
{
|
||||
string name = (*iter)->getName();
|
||||
qDebug() << "got name '" << name.c_str() << "'";
|
||||
CPPUNIT_ASSERT ( name == "Group 1" || name == "Rule 2 of Firewall 1" );
|
||||
iter++;
|
||||
}
|
||||
}
|
||||
|
||||
void UsageResolverTest::findFirewallsForObject()
|
||||
{
|
||||
qDebug() << "running findFirewallsForObject";
|
||||
list<Firewall*> res = UsageResolver::findFirewallsForObject(addr1, db);
|
||||
list<Firewall*>::iterator iter = res.begin();
|
||||
CPPUNIT_ASSERT(res.size() == 5);
|
||||
while (iter!=res.end())
|
||||
{
|
||||
string name = (*iter++)->getName();
|
||||
qDebug() << "got name '" << name.c_str() << "'";
|
||||
CPPUNIT_ASSERT ( name == "Group 1" || name == "Group 2" || name == "Rule 1 of Firewall 1"
|
||||
|| name == "Rule 2 of Firewall 1" || name == "Rule 1 of Firewall 2" );
|
||||
}
|
||||
}
|
||||
+13
-9
@@ -7,18 +7,22 @@
|
||||
#include "fwbuilder/Policy.h"
|
||||
#include "fwbuilder/RuleElement.h"
|
||||
#include "fwbuilder/Address.h"
|
||||
#include "fwbuilder/Library.h"
|
||||
#include "FWBTree.h"
|
||||
|
||||
#include <cppunit/TestCase.h>
|
||||
#include <cppunit/TestSuite.h>
|
||||
#include <cppunit/TestCaller.h>
|
||||
|
||||
class FWObjectDatabaseTest : public CppUnit::TestCase
|
||||
class UsageResolverTest : public CppUnit::TestCase
|
||||
{
|
||||
void addToLib(libfwbuilder::FWObject* obj);
|
||||
public:
|
||||
FWObjectDatabaseTest();
|
||||
libfwbuilder::FWObjectDatabase *db;
|
||||
libfwbuilder::Library *lib;
|
||||
libfwbuilder::Address *addr1;
|
||||
libfwbuilder::Address *addr2;
|
||||
libfwbuilder::PolicyRule *r1, *r2, *r3, *r4;
|
||||
|
||||
void setUp();
|
||||
|
||||
@@ -27,13 +31,13 @@ public:
|
||||
|
||||
static CppUnit::Test *suite()
|
||||
{
|
||||
CppUnit::TestSuite *suiteOfTests = new CppUnit::TestSuite( "interfaceProperties" );
|
||||
suiteOfTests->addTest( new CppUnit::TestCaller<FWObjectDatabaseTest>(
|
||||
"validateInterface",
|
||||
&FWObjectDatabaseTest::findWhereObjectIsUsed ) );
|
||||
suiteOfTests->addTest( new CppUnit::TestCaller<FWObjectDatabaseTest>(
|
||||
"validateInterface",
|
||||
&FWObjectDatabaseTest::findFirewallsForObject ) );
|
||||
CppUnit::TestSuite *suiteOfTests = new CppUnit::TestSuite( "FWObjectDatabase" );
|
||||
suiteOfTests->addTest( new CppUnit::TestCaller<UsageResolverTest>(
|
||||
"findWhereObjectIsUsed",
|
||||
&UsageResolverTest::findWhereObjectIsUsed ) );
|
||||
suiteOfTests->addTest( new CppUnit::TestCaller<UsageResolverTest>(
|
||||
"findFirewallsForObject",
|
||||
&UsageResolverTest::findFirewallsForObject ) );
|
||||
return suiteOfTests;
|
||||
}
|
||||
};
|
||||
+5
-4
@@ -7,15 +7,16 @@ include(../../../../qmake.inc)
|
||||
QT += gui network
|
||||
|
||||
INCLUDEPATH += ../../.ui ../../../compiler_lib/
|
||||
TARGET = FWObjectDatabaseTest
|
||||
TARGET = UsageResolverTest
|
||||
#CONFIG += console
|
||||
#CONFIG -= app_bundle
|
||||
TEMPLATE = app
|
||||
SOURCES += main.cpp \
|
||||
FWObjectDatabaseTest.cpp \
|
||||
../../UsageResolver.cpp
|
||||
UsageResolverTest.cpp \
|
||||
../../UsageResolver.cpp \
|
||||
../../LibraryManipulator.cpp
|
||||
|
||||
HEADERS += FWObjectDatabaseTest.h ../../UsageResolver.h
|
||||
HEADERS += UsageResolverTest.h ../../UsageResolver.h ../../LibraryManipulator.h
|
||||
|
||||
LIBS += $$LIBS_FWCOMPILER $$LIBS_FWBUILDER
|
||||
LIBS += -lgcov -lcppunit
|
||||
+2
-2
@@ -25,7 +25,7 @@
|
||||
|
||||
#include <cppunit/ui/text/TestRunner.h>
|
||||
#include <cppunit/CompilerOutputter.h>
|
||||
#include "FWObjectDatabaseTest.h"
|
||||
#include "UsageResolverTest.h"
|
||||
#include <string>
|
||||
|
||||
//int build_num = 0;
|
||||
@@ -35,7 +35,7 @@ bool fwbdebug = false;
|
||||
int main( int, char** )
|
||||
{
|
||||
CppUnit::TextUi::TestRunner runner;
|
||||
runner.addTest( FWObjectDatabaseTest::suite() );
|
||||
runner.addTest( UsageResolverTest::suite() );
|
||||
runner.setOutputter( new CppUnit::CompilerOutputter( &runner.result(),
|
||||
std::cerr ) );
|
||||
|
||||
Reference in New Issue
Block a user