<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>src/capabilities/unittest/unittest.pro</filename>
    </added>
    <added>
      <filename>src/modules.pri</filename>
    </added>
    <added>
      <filename>src/privacy/unittest/unittest.pro</filename>
    </added>
    <added>
      <filename>src/unittest/unittest.pro</filename>
    </added>
    <added>
      <filename>src/utilities/unittest/unittest.pro</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -37,6 +37,9 @@ src/Makefile
 src/config.h
 src/psi.app
 src/psi
+src/capabilities/unittest/Makefile
+src/unittest/Makefile
+src/utilities/unittest/Makefile
 src/AutoUpdater/guitest/Makefile
 src/AutoUpdater/guitest/testapp-2.0/Makefile
 src/AutoUpdater/guitest/testapp-2.0/testapp.app
@@ -44,4 +47,4 @@ src/AutoUpdater/guitest/testapp-2.0/testapp-2.0.zip
 src/AutoUpdater/guitest/testapp/Makefile
 src/AutoUpdater/guitest/testapp/testapp.app
 src/plugins/*/*/Makefile
-
+checker</diff>
      <filename>.gitignore</filename>
    </modified>
    <modified>
      <diff>@@ -41,7 +41,6 @@ Dependency options:
   --disable-aspell             Disable use of ASPELL
   --with-aspell-inc=[path]     Path to Aspell include files
   --with-aspell-lib=[path]     Path to Aspell library files
-  --enable-tests               Enable use of Tests
   --enable-debug               Enable debugging support
 
 EOT
@@ -249,11 +248,6 @@ while [ $# -gt 0 ]; do
 			shift
 			;;
 
-		--enable-tests)
-			QC_ENABLE_tests=&quot;Y&quot;
-			shift
-			;;
-
 		--enable-debug)
 			QC_ENABLE_DEBUG=&quot;Y&quot;
 			shift
@@ -298,7 +292,6 @@ echo QC_DISABLE_ghbnr=$QC_DISABLE_ghbnr
 echo QC_DISABLE_aspell=$QC_DISABLE_aspell
 echo QC_WITH_ASPELL_INC=$QC_WITH_ASPELL_INC
 echo QC_WITH_ASPELL_LIB=$QC_WITH_ASPELL_LIB
-echo QC_ENABLE_tests=$QC_ENABLE_tests
 echo QC_ENABLE_DEBUG=$QC_ENABLE_DEBUG
 echo
 fi
@@ -1140,28 +1133,6 @@ public:
 		return true;
 	}
 };
-#line 1 &quot;tests.qcm&quot;
-/*
------BEGIN QCMOD-----
-name: Tests
------END QCMOD-----
-*/
-
-//----------------------------------------------------------------------------
-// qc_tests
-//----------------------------------------------------------------------------
-class qc_tests : public ConfObj
-{
-public:
-	qc_tests(Conf *c) : ConfObj(c) {}
-	QString name() const { return &quot;tests&quot;; }
-	QString shortname() const { return &quot;tests&quot;; }
-	bool exec()
-	{
-		conf-&gt;addExtra(&quot;CONFIG += tests&quot;);
-		return true;
-	}
-};
 #line 1 &quot;debug.qcm&quot;
 /*
 -----BEGIN QCMOD-----
@@ -1264,9 +1235,6 @@ cat &gt;$1/modules_new.cpp &lt;&lt;EOT
     o = new qc_aspell(conf);
     o-&gt;required = false;
     o-&gt;disabled = false;
-    o = new qc_tests(conf);
-    o-&gt;required = false;
-    o-&gt;disabled = true;
     o = new qc_debug(conf);
     o-&gt;required = true;
     o-&gt;disabled = false;
@@ -2259,7 +2227,6 @@ export QC_DISABLE_ghbnr
 export QC_DISABLE_aspell
 export QC_WITH_ASPELL_INC
 export QC_WITH_ASPELL_LIB
-export QC_ENABLE_tests
 export QC_ENABLE_DEBUG
 export QC_VERBOSE
 rm -rf .qconftemp</diff>
      <filename>configure</filename>
    </modified>
    <modified>
      <diff>@@ -18,13 +18,3 @@ qca-static {
 SUBDIRS += \
 	iris \
 	src
-
-tests {
-	SUBDIRS += \
-    third-party/cppunit \
-		qa/unittest \
-		qa/guitest
-
-	QMAKE_EXTRA_TARGETS += check
-	check.commands += make -C qa/unittest check
-}</diff>
      <filename>psi.pro</filename>
    </modified>
    <modified>
      <diff>@@ -27,9 +27,6 @@
   &lt;dep type='xss'/&gt;
   &lt;dep type='ghbnr'/&gt;
   &lt;dep type='aspell'/&gt;
-  &lt;dep type='tests'&gt;
-    &lt;disabled/&gt;
-  &lt;/dep&gt;
   &lt;dep type='debug'&gt;
 	&lt;required/&gt;
   &lt;/dep&gt;</diff>
      <filename>psi.qc</filename>
    </modified>
    <modified>
      <diff>@@ -29,7 +29,6 @@
 #include &lt;QStringList&gt;
 #include &lt;QTimer&gt;
 #include &lt;QPair&gt;
-#include &lt;QApplication&gt;
 #include &lt;QDebug&gt;
 
 #include &quot;capsregistry.h&quot;</diff>
      <filename>src/capabilities/capsmanager.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -18,7 +18,7 @@
  *
  */
 
-#include &lt;QApplication&gt;
+#include &lt;QCoreApplication&gt;
 #include &lt;QDebug&gt;
 #include &lt;QTextCodec&gt;
 #include &lt;QFile&gt;</diff>
      <filename>src/capabilities/capsregistry.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -5,12 +5,13 @@
 
 // FIXME: This test suite is far from complete
 
-#include &lt;cppunit/extensions/HelperMacros.h&gt;
-#include &lt;cppunit/extensions/TestFactoryRegistry.h&gt;
+#include &lt;QObject&gt;
+#include &lt;QtTest/QtTest&gt;
 
+#include &quot;qttestutil/qttestutil.h&quot;
 #include &quot;protocol/discoinfoquerier.h&quot;
-#include &quot;xmpp_jid.h&quot;
-#include &quot;capsmanager.h&quot;
+#include &quot;xmpp/jid/jid.h&quot;
+#include &quot;capabilities/capsmanager.h&quot;
 
 using namespace XMPP;
 
@@ -57,127 +58,92 @@ public:
 
 // -----------------------------------------------------------------------------
 
-class CapsManagerTest : public CppUnit::TestFixture
+class CapsManagerTest : public QObject
 {
-	CPPUNIT_TEST_SUITE(CapsManagerTest);
+		Q_OBJECT
 
-	CPPUNIT_TEST(testUpdateCaps);
-
-	CPPUNIT_TEST(testCapsEnabled);
-	CPPUNIT_TEST(testCapsEnabled_NoCaps);
-
-	CPPUNIT_TEST(testDisableCaps);
-
-	CPPUNIT_TEST_SUITE_END();
-
-public:
-	CapsManagerTest();
-
-	void setUp();
-	void tearDown();
-
-	void addContact(const QString&amp; jid, const QString&amp; client, const QString&amp; version, const QStringList&amp; capabilities);
-	CapsManager* createManager(const QString&amp; jid);
-
-	void testUpdateCaps();
-	void testCapsEnabled();
-	void testCapsEnabled_NoCaps();
-	void testDisableCaps();
-
-private:
-	CapsRegistry registry_;
-	TestDiscoInfoQuerier* querier_;
-	CapsManager* manager_;
-};
+	private slots:
+		void initTestCase() {
+			manager_ = NULL;
+			querier_ = new TestDiscoInfoQuerier();
+		}
 
-CPPUNIT_TEST_SUITE_REGISTRATION(CapsManagerTest);
+		void cleanupTestCase() {
+			delete manager_;
+		}
 
-// -----------------------------------------------------------------------------
+		void testUpdateCaps()
+		{
+			QStringList capabilities;
+			capabilities &lt;&lt; &quot;c1&quot; &lt;&lt; &quot;c2&quot; &lt;&lt; &quot;c3&quot;;
+			addContact(&quot;you@example.com/a&quot;, &quot;myclient&quot;, &quot;myversion&quot;, capabilities);
+			CapsManager* manager = createManager(&quot;me@example.com&quot;);
+
+			manager-&gt;updateCaps(&quot;you@example.com/a&quot;, &quot;myclient&quot;, &quot;myversion&quot;, &quot;c1 c2&quot;);
+			XMPP::Features features(manager-&gt;features(&quot;you@example.com/a&quot;));
+
+			QCOMPARE(querier_-&gt;nb_getdiscoinfo_called_, 3U);
+			QVERIFY(features.test(QStringList(&quot;myversion_f1&quot;)));
+			QVERIFY(features.test(QStringList(&quot;c1_f1&quot;)));
+			QVERIFY(features.test(QStringList(&quot;c1_f2&quot;)));
+			QVERIFY(features.test(QStringList(&quot;c2_f1&quot;)));
+			QVERIFY(features.test(QStringList(&quot;c2_f2&quot;)));
+		}
 
-CapsManagerTest::CapsManagerTest()
-{
-}
+		void testCapsEnabled() {
+			QStringList capabilities;
+			capabilities &lt;&lt; &quot;c1&quot; &lt;&lt; &quot;c2&quot;;
+			addContact(&quot;you@example.com/a&quot;, &quot;myclient&quot;, &quot;myversion&quot;, capabilities);
+			CapsManager* manager = createManager(&quot;me@example.com&quot;);
 
-void CapsManagerTest::setUp()
-{
-	manager_ = NULL;
-	querier_ = new TestDiscoInfoQuerier();
-}
+			manager-&gt;updateCaps(&quot;you@example.com/a&quot;, &quot;myclient&quot;, &quot;myversion&quot;, &quot;c1 c2&quot;);
 
-void CapsManagerTest::tearDown()
-{
-	delete manager_;
-}
-
-CapsManager* CapsManagerTest::createManager(const QString&amp; jid)
-{
-	manager_ = new CapsManager(jid, &amp;registry_, querier_);
-	return manager_;
-}
-
-void CapsManagerTest::addContact(const QString&amp; jid, const QString&amp; client,
-const QString&amp; version, const QStringList&amp; capabilities) 
-{ 
-	XMPP::DiscoItem i;
-	i.setFeatures(XMPP::Features(version + &quot;_f1&quot;));
-	querier_-&gt;addInfo(jid, client + &quot;#&quot; + version, i);
-
-	foreach(QString s, capabilities) {
-		XMPP::DiscoItem i2;
-		QStringList f;
-		f &lt;&lt; s + &quot;_f1&quot; &lt;&lt; s + &quot;_f2&quot;;
-		i2.setFeatures(XMPP::Features(f));
-		querier_-&gt;addInfo(jid, client + &quot;#&quot; + s, i2);
-	}
-}
+			QVERIFY(manager-&gt;capsEnabled(&quot;you@example.com/a&quot;));
+		}
 
+		void testCapsEnabled_NoCaps() {
+			CapsManager* manager = createManager(&quot;me@example.com/a&quot;);
 
-void CapsManagerTest::testUpdateCaps()
-{
-	QStringList capabilities;
-	capabilities &lt;&lt; &quot;c1&quot; &lt;&lt; &quot;c2&quot; &lt;&lt; &quot;c3&quot;;
-	addContact(&quot;you@example.com/a&quot;, &quot;myclient&quot;, &quot;myversion&quot;, capabilities);
-	CapsManager* manager = createManager(&quot;me@example.com&quot;);
-
-	manager-&gt;updateCaps(&quot;you@example.com/a&quot;, &quot;myclient&quot;, &quot;myversion&quot;, &quot;c1 c2&quot;);
-	XMPP::Features features(manager-&gt;features(&quot;you@example.com/a&quot;));
-
-	CPPUNIT_ASSERT_EQUAL(3U, querier_-&gt;nb_getdiscoinfo_called_);
-	CPPUNIT_ASSERT(features.test(QStringList(&quot;myversion_f1&quot;)));
-	CPPUNIT_ASSERT(features.test(QStringList(&quot;c1_f1&quot;)));
-	CPPUNIT_ASSERT(features.test(QStringList(&quot;c1_f2&quot;)));
-	CPPUNIT_ASSERT(features.test(QStringList(&quot;c2_f1&quot;)));
-	CPPUNIT_ASSERT(features.test(QStringList(&quot;c2_f2&quot;)));
-}
-
-void CapsManagerTest::testCapsEnabled()
-{
-	QStringList capabilities;
-	capabilities &lt;&lt; &quot;c1&quot; &lt;&lt; &quot;c2&quot;;
-	addContact(&quot;you@example.com/a&quot;, &quot;myclient&quot;, &quot;myversion&quot;, capabilities);
-	CapsManager* manager = createManager(&quot;me@example.com&quot;);
+			QVERIFY(!manager-&gt;capsEnabled(&quot;you@example.com/b&quot;));
+		}
 
-	manager-&gt;updateCaps(&quot;you@example.com/a&quot;, &quot;myclient&quot;, &quot;myversion&quot;, &quot;c1 c2&quot;);
+		void testDisableCaps() {
+			QStringList capabilities;
+			capabilities &lt;&lt; &quot;c1&quot; &lt;&lt; &quot;c2&quot;;
+			addContact(&quot;you@example.com/a&quot;, &quot;myclient&quot;, &quot;myversion&quot;, capabilities);
+			CapsManager* manager = createManager(&quot;me@example.com&quot;);
+			manager-&gt;updateCaps(&quot;you@example.com/a&quot;, &quot;myclient&quot;, &quot;myversion&quot;, &quot;c1 c2&quot;);
 
-	CPPUNIT_ASSERT(manager-&gt;capsEnabled(&quot;you@example.com/a&quot;));
-}
+			manager-&gt;disableCaps(&quot;you@example.com/a&quot;);
 
-void CapsManagerTest::testCapsEnabled_NoCaps()
-{
-	CapsManager* manager = createManager(&quot;me@example.com/a&quot;);
+			QVERIFY(!manager-&gt;capsEnabled(&quot;you@example.com/a&quot;));
+		}
 
-	CPPUNIT_ASSERT(!manager-&gt;capsEnabled(&quot;you@example.com/b&quot;));
-}
+	private:
+		void addContact(const QString&amp; jid, const QString&amp; client, const QString&amp; version, const QStringList&amp; capabilities) {
+			XMPP::DiscoItem i;
+			i.setFeatures(XMPP::Features(version + &quot;_f1&quot;));
+			querier_-&gt;addInfo(jid, client + &quot;#&quot; + version, i);
+
+			foreach(QString s, capabilities) {
+				XMPP::DiscoItem i2;
+				QStringList f;
+				f &lt;&lt; s + &quot;_f1&quot; &lt;&lt; s + &quot;_f2&quot;;
+				i2.setFeatures(XMPP::Features(f));
+				querier_-&gt;addInfo(jid, client + &quot;#&quot; + s, i2);
+			}
+		}
 
-void CapsManagerTest::testDisableCaps()
-{
-	QStringList capabilities;
-	capabilities &lt;&lt; &quot;c1&quot; &lt;&lt; &quot;c2&quot;;
-	addContact(&quot;you@example.com/a&quot;, &quot;myclient&quot;, &quot;myversion&quot;, capabilities);
-	CapsManager* manager = createManager(&quot;me@example.com&quot;);
-	manager-&gt;updateCaps(&quot;you@example.com/a&quot;, &quot;myclient&quot;, &quot;myversion&quot;, &quot;c1 c2&quot;);
+		CapsManager* createManager(const QString&amp; jid) {
+			manager_ = new CapsManager(jid, &amp;registry_, querier_);
+			return manager_;
+		}
 
-	manager-&gt;disableCaps(&quot;you@example.com/a&quot;);
+	private:
+		CapsRegistry registry_;
+		TestDiscoInfoQuerier* querier_;
+		CapsManager* manager_;
+};
 
-	CPPUNIT_ASSERT(!manager-&gt;capsEnabled(&quot;you@example.com/a&quot;));
-}
+QTTESTUTIL_REGISTER_TEST(CapsManagerTest);
+#include &quot;capsmanagertest.moc&quot;</diff>
      <filename>src/capabilities/unittest/capsmanagertest.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -2,123 +2,84 @@
  * Copyright (C) 2007, Remko Troncon
  */
 
-#include &lt;cppunit/extensions/HelperMacros.h&gt;
-#include &lt;cppunit/extensions/TestFactoryRegistry.h&gt;
+#include &lt;QObject&gt;
+#include &lt;QtTest/QtTest&gt;
 
-#include &quot;capsspec.h&quot;
+#include &quot;qttestutil/qttestutil.h&quot;
+#include &quot;capabilities/capsspec.h&quot;
 
-// -----------------------------------------------------------------------------
-
-class CapsSpecTest : public CppUnit::TestFixture
+class CapsSpecTest : public QObject
 {
-	CPPUNIT_TEST_SUITE(CapsSpecTest);
-	CPPUNIT_TEST(testConstructor);
+		Q_OBJECT
 
-	CPPUNIT_TEST(testEqualsNotEquals_Equal);
-	CPPUNIT_TEST(testEqualsNotEquals_NotEqual);
+	private slots:
+		void testConstructor() {
+			CapsSpec c(&quot;a&quot;,&quot;b&quot;,&quot;c d&quot;);
 
-	CPPUNIT_TEST(testSmallerThan);
-	CPPUNIT_TEST(testSmallerThan_SameNode);
-	CPPUNIT_TEST(testSmallerThan_SameNodeVersion);
-	CPPUNIT_TEST(testSmallerThan_Equals);
+			QVERIFY(c.node() == &quot;a&quot;);
+			QVERIFY(c.version() == &quot;b&quot;);
+			QVERIFY(c.extensions() == &quot;c d&quot;);
+		}
 
-	CPPUNIT_TEST(testFlatten);
+		void testEqualsNotEquals_Equal() {
+			CapsSpec c1(&quot;a&quot;,&quot;b&quot;,&quot;c d&quot;);
+			CapsSpec c2(&quot;a&quot;,&quot;b&quot;,&quot;c d&quot;);
 
-	CPPUNIT_TEST_SUITE_END();
+			QVERIFY(c1 == c2);
+			QVERIFY(!(c1 != c2));
+		}
 
-public:
-	CapsSpecTest();
+		void testEqualsNotEquals_NotEqual() {
+			CapsSpec c1(&quot;a&quot;,&quot;b&quot;,&quot;c d&quot;);
+			CapsSpec c2(&quot;a&quot;,&quot;e&quot;,&quot;c d&quot;);
 
-	void testConstructor();
-	void testFlatten();
-	void testEqualsNotEquals_Equal();
-	void testEqualsNotEquals_NotEqual();
-	void testSmallerThan();
-	void testSmallerThan_SameNode();
-	void testSmallerThan_SameNodeVersion();
-	void testSmallerThan_Equals();
-};
+			QVERIFY(!(c1 == c2));
+			QVERIFY(c1 != c2);
+		}
 
-CPPUNIT_TEST_SUITE_REGISTRATION(CapsSpecTest);
+		void testSmallerThan() {
+			CapsSpec c1(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;);
+			CapsSpec c2(&quot;d&quot;,&quot;e&quot;,&quot;f&quot;);
 
-// -----------------------------------------------------------------------------
+			QVERIFY(c1 &lt; c2);
+			QVERIFY(!(c2 &lt; c1));
+		}
 
-CapsSpecTest::CapsSpecTest()
-{
-}
+		void testSmallerThan_SameNode() {
+			CapsSpec c1(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;);
+			CapsSpec c2(&quot;a&quot;,&quot;e&quot;,&quot;f&quot;);
 
-void CapsSpecTest::testConstructor()
-{
-	CapsSpec c(&quot;a&quot;,&quot;b&quot;,&quot;c d&quot;);
+			QVERIFY(c1 &lt; c2);
+			QVERIFY(!(c2 &lt; c1));
+		}
 
-	CPPUNIT_ASSERT(c.node() == &quot;a&quot;);
-	CPPUNIT_ASSERT(c.version() == &quot;b&quot;);
-	CPPUNIT_ASSERT(c.extensions() == &quot;c d&quot;);
-}
+		void testSmallerThan_SameNodeVersion() {
+			CapsSpec c1(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;);
+			CapsSpec c2(&quot;a&quot;,&quot;b&quot;,&quot;f&quot;);
 
-void CapsSpecTest::testEqualsNotEquals_Equal()
-{
-	CapsSpec c1(&quot;a&quot;,&quot;b&quot;,&quot;c d&quot;);
-	CapsSpec c2(&quot;a&quot;,&quot;b&quot;,&quot;c d&quot;);
+			QVERIFY(c1 &lt; c2);
+			QVERIFY(!(c2 &lt; c1));
+		}
 
-	CPPUNIT_ASSERT(c1 == c2);
-	CPPUNIT_ASSERT(!(c1 != c2));
-}
+		void testSmallerThan_Equals() {
+			CapsSpec c1(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;);
+			CapsSpec c2(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;);
 
-void CapsSpecTest::testEqualsNotEquals_NotEqual()
-{
-	CapsSpec c1(&quot;a&quot;,&quot;b&quot;,&quot;c d&quot;);
-	CapsSpec c2(&quot;a&quot;,&quot;e&quot;,&quot;c d&quot;);
+			QVERIFY(!(c1 &lt; c2));
+			QVERIFY(!(c2 &lt; c1));
+		}
 
-	CPPUNIT_ASSERT(!(c1 == c2));
-	CPPUNIT_ASSERT(c1 != c2);
-}
-
-void CapsSpecTest::testSmallerThan()
-{
-	CapsSpec c1(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;);
-	CapsSpec c2(&quot;d&quot;,&quot;e&quot;,&quot;f&quot;);
-
-	CPPUNIT_ASSERT(c1 &lt; c2);
-	CPPUNIT_ASSERT(!(c2 &lt; c1));
-}
-
-void CapsSpecTest::testSmallerThan_SameNode()
-{
-	CapsSpec c1(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;);
-	CapsSpec c2(&quot;a&quot;,&quot;e&quot;,&quot;f&quot;);
+		void testFlatten() {
+			CapsSpec c(&quot;a&quot;,&quot;b&quot;,&quot;c d&quot;);
 
-	CPPUNIT_ASSERT(c1 &lt; c2);
-	CPPUNIT_ASSERT(!(c2 &lt; c1));
-}
+			CapsSpecs cs = c.flatten();
 
-void CapsSpecTest::testSmallerThan_SameNodeVersion()
-{
-	CapsSpec c1(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;);
-	CapsSpec c2(&quot;a&quot;,&quot;b&quot;,&quot;f&quot;);
-
-	CPPUNIT_ASSERT(c1 &lt; c2);
-	CPPUNIT_ASSERT(!(c2 &lt; c1));
-}
-
-void CapsSpecTest::testSmallerThan_Equals()
-{
-	CapsSpec c1(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;);
-	CapsSpec c2(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;);
-
-	CPPUNIT_ASSERT(!(c1 &lt; c2));
-	CPPUNIT_ASSERT(!(c2 &lt; c1));
-}
-
-void CapsSpecTest::testFlatten()
-{
-	CapsSpec c(&quot;a&quot;,&quot;b&quot;,&quot;c d&quot;);
-
-	CapsSpecs cs = c.flatten();
-
-	CPPUNIT_ASSERT_EQUAL(3, cs.count());
-	CPPUNIT_ASSERT(cs[0] == CapsSpec(&quot;a&quot;, &quot;b&quot;, &quot;b&quot;));
-	CPPUNIT_ASSERT(cs[1] == CapsSpec(&quot;a&quot;, &quot;b&quot;, &quot;c&quot;));
-	CPPUNIT_ASSERT(cs[2] == CapsSpec(&quot;a&quot;, &quot;b&quot;, &quot;d&quot;));
-}
+			QCOMPARE(cs.count(), 3);
+			QVERIFY(cs[0] == CapsSpec(&quot;a&quot;, &quot;b&quot;, &quot;b&quot;));
+			QVERIFY(cs[1] == CapsSpec(&quot;a&quot;, &quot;b&quot;, &quot;c&quot;));
+			QVERIFY(cs[2] == CapsSpec(&quot;a&quot;, &quot;b&quot;, &quot;d&quot;));
+		}
+};
 
+QTTESTUTIL_REGISTER_TEST(CapsSpecTest);
+#include &quot;capsspectest.moc&quot;</diff>
      <filename>src/capabilities/unittest/capsspectest.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,3 @@
 SOURCES += \
-	$$PWD/capsspectest.cpp \
-	$$PWD/capsmanagertest.cpp 
+	$$PWD/capsmanagertest.cpp \
+	$$PWD/capsspectest.cpp</diff>
      <filename>src/capabilities/unittest/unittest.pri</filename>
    </modified>
    <modified>
      <diff>@@ -2,72 +2,43 @@
  * Copyright (C) 2007, Remko Troncon
  */
 
-#include &lt;cppunit/extensions/HelperMacros.h&gt;
-#include &lt;cppunit/extensions/TestFactoryRegistry.h&gt;
+#include &lt;QObject&gt;
+#include &lt;QtTest/QtTest&gt;
 
+#include &quot;qttestutil/qttestutil.h&quot;
 #include &quot;common.h&quot;
 
 int versionStringToInt(const char* version);
 
-// -----------------------------------------------------------------------------
-
-class CommonTest : public CppUnit::TestFixture
+class CommonTest : public QObject
 {
-	CPPUNIT_TEST_SUITE(CommonTest);
-
-	CPPUNIT_TEST(testVersionStringToInt);
-	CPPUNIT_TEST(testVersionStringToInt_TooManyParts);
-	CPPUNIT_TEST(testVersionStringToInt_TooFewParts);
-	CPPUNIT_TEST(testVersionStringToInt_NonNumericPart);
-	CPPUNIT_TEST(testVersionStringToInt_TooBigPart);
-	CPPUNIT_TEST(testVersionStringToInt_TooSmallPart);
-
-	CPPUNIT_TEST_SUITE_END();
-
-public:
-	CommonTest();
+		Q_OBJECT
 
-	void testVersionStringToInt();
-	void testVersionStringToInt_TooManyParts();
-	void testVersionStringToInt_TooFewParts();
-	void testVersionStringToInt_NonNumericPart();
-	void testVersionStringToInt_TooBigPart();
-	void testVersionStringToInt_TooSmallPart();
-};
+	private slots:
+		void testVersionStringToInt() {
+			QCOMPARE(versionStringToInt(&quot;4.3.0&quot;), 0x00040300);
+		}
 
-CPPUNIT_TEST_SUITE_REGISTRATION(CommonTest);
+		void testVersionStringToInt_TooManyParts() {
+			QCOMPARE(versionStringToInt(&quot;4.3.0.1&quot;), 0);
+		}
 
-CommonTest::CommonTest()
-{
-}
+		void testVersionStringToInt_TooFewParts() {
+			QCOMPARE(versionStringToInt(&quot;4.3&quot;), 0);
+		}
 
-void CommonTest::testVersionStringToInt()
-{
-  CPPUNIT_ASSERT_EQUAL(0x00040300, versionStringToInt(&quot;4.3.0&quot;));
-}
+		void testVersionStringToInt_NonNumericPart() {
+			QCOMPARE(versionStringToInt(&quot;4.A.3&quot;), 0);
+		}
 
-void CommonTest::testVersionStringToInt_TooManyParts()
-{
-  CPPUNIT_ASSERT_EQUAL(0, versionStringToInt(&quot;4.3.0.1&quot;));
-}
+		void testVersionStringToInt_TooBigPart() {
+			QCOMPARE(versionStringToInt(&quot;4.256.4&quot;), 0);
+		}
 
-void CommonTest::testVersionStringToInt_TooFewParts()
-{
-  CPPUNIT_ASSERT_EQUAL(0, versionStringToInt(&quot;4.3&quot;));
-}
-
-void CommonTest::testVersionStringToInt_NonNumericPart()
-{
-  CPPUNIT_ASSERT_EQUAL(0, versionStringToInt(&quot;4.A.3&quot;));
-}
-
-void CommonTest::testVersionStringToInt_TooBigPart()
-{
-  CPPUNIT_ASSERT_EQUAL(0, versionStringToInt(&quot;4.256.4&quot;));
-}
+		void testVersionStringToInt_TooSmallPart() {
+			QCOMPARE(versionStringToInt(&quot;4.-1.4&quot;), 0);
+		}
+};
 
-void CommonTest::testVersionStringToInt_TooSmallPart()
-{
-  CPPUNIT_ASSERT_EQUAL(0, versionStringToInt(&quot;4.-1.4&quot;));
-}
+QTTESTUTIL_REGISTER_TEST(CommonTest);
 </diff>
      <filename>src/unittest/commontest.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -2,153 +2,113 @@
  * Copyright (C) 2007, Remko Troncon
  */
 
+#include &lt;QObject&gt;
+#include &lt;QtTest/QtTest&gt;
 #include &lt;QList&gt;
 #include &lt;QStringList&gt;
 #include &lt;QBuffer&gt;
 
-#include &lt;cppunit/extensions/HelperMacros.h&gt;
-#include &lt;cppunit/extensions/TestFactoryRegistry.h&gt;
+#include &quot;qttestutil/qttestutil.h&quot;
+#include &quot;utilities/iodeviceopener.h&quot;
 
-#include &quot;iodeviceopener.h&quot;
-
-// -----------------------------------------------------------------------------
-
-class IODeviceOpenerTest : public CppUnit::TestFixture
-{
-	CPPUNIT_TEST_SUITE(IODeviceOpenerTest);
-
-	CPPUNIT_TEST(testConstructor);
-	CPPUNIT_TEST(testConstructor_Open);
-	CPPUNIT_TEST(testConstructor_OpenInSubsetMode);
-	CPPUNIT_TEST(testConstructor_OpenInWrongMode);
-	CPPUNIT_TEST(testConstructor_Unopenable);
-
-	CPPUNIT_TEST(testDestructor);
-	CPPUNIT_TEST(testDestructor_Open);
-	CPPUNIT_TEST(testDestructor_OpenInWrongMode);
-
-	CPPUNIT_TEST_SUITE_END();
-
-public:
-	IODeviceOpenerTest();
-
-	void testConstructor();
-	void testConstructor_Open();
-	void testConstructor_OpenInSubsetMode();
-	void testConstructor_OpenInWrongMode();
-	void testConstructor_Unopenable();
-
-	void testDestructor();
-	void testDestructor_Open();
-	void testDestructor_OpenInWrongMode();
-};
-
-CPPUNIT_TEST_SUITE_REGISTRATION(IODeviceOpenerTest);
-
-// -----------------------------------------------------------------------------
-
-class UnopenableBuffer : public QBuffer
+class IODeviceOpenerTest : public QObject
 {
-public:
-	UnopenableBuffer() : QBuffer() { }
+		Q_OBJECT
 
-	bool open(QIODevice::OpenMode) { return false; } 
-};
+	private slots:
+		void testConstructor() {
+			QBuffer buffer;
 
-// -----------------------------------------------------------------------------
+			IODeviceOpener opener(&amp;buffer, QIODevice::WriteOnly);
 
-IODeviceOpenerTest::IODeviceOpenerTest()
-{
-}
+			QVERIFY(buffer.isOpen());
+			QVERIFY(QIODevice::WriteOnly == buffer.openMode());
+			QVERIFY(opener.isOpen());
+		}
 
-void IODeviceOpenerTest::testConstructor()
-{
-	QBuffer buffer;
+		void testConstructor_Open() {
+			QBuffer buffer;
+			buffer.open(QIODevice::ReadOnly);
 
-	IODeviceOpener opener(&amp;buffer, QIODevice::WriteOnly);
+			IODeviceOpener opener(&amp;buffer, QIODevice::ReadOnly);
 
-	CPPUNIT_ASSERT(buffer.isOpen());
-	CPPUNIT_ASSERT(QIODevice::WriteOnly == buffer.openMode());
-	CPPUNIT_ASSERT(opener.isOpen());
-}
+			QVERIFY(buffer.isOpen());
+			QVERIFY(QIODevice::ReadOnly == buffer.openMode());
+			QVERIFY(opener.isOpen());
+		}
 
-void IODeviceOpenerTest::testConstructor_Open()
-{
-	QBuffer buffer;
-	buffer.open(QIODevice::ReadOnly);
+		void testConstructor_OpenInSubsetMode() {
+			QBuffer buffer;
+			buffer.open(QIODevice::ReadWrite);
 
-	IODeviceOpener opener(&amp;buffer, QIODevice::ReadOnly);
+			IODeviceOpener opener(&amp;buffer, QIODevice::WriteOnly);
 
-	CPPUNIT_ASSERT(buffer.isOpen());
-	CPPUNIT_ASSERT(QIODevice::ReadOnly == buffer.openMode());
-	CPPUNIT_ASSERT(opener.isOpen());
-}
+			QVERIFY(buffer.isOpen());
+			QVERIFY(QIODevice::ReadWrite == buffer.openMode());
+			QVERIFY(opener.isOpen());
+		}
 
-void IODeviceOpenerTest::testConstructor_OpenInSubsetMode()
-{
-	QBuffer buffer;
-	buffer.open(QIODevice::ReadWrite);
+		void testConstructor_OpenInWrongMode() {
+			QBuffer buffer;
+			buffer.open(QIODevice::ReadOnly);
 
-	IODeviceOpener opener(&amp;buffer, QIODevice::WriteOnly);
+			IODeviceOpener opener(&amp;buffer, QIODevice::WriteOnly);
 
-	CPPUNIT_ASSERT(buffer.isOpen());
-	CPPUNIT_ASSERT(QIODevice::ReadWrite == buffer.openMode());
-	CPPUNIT_ASSERT(opener.isOpen());
-}
+			QVERIFY(buffer.isOpen());
+			QVERIFY(QIODevice::ReadOnly == buffer.openMode());
+			QVERIFY(!opener.isOpen());
+		}
 
-void IODeviceOpenerTest::testConstructor_OpenInWrongMode()
-{
-	QBuffer buffer;
-	buffer.open(QIODevice::ReadOnly);
+		void testConstructor_Unopenable() {
+			UnopenableBuffer buffer;
 
-	IODeviceOpener opener(&amp;buffer, QIODevice::WriteOnly);
+			IODeviceOpener opener(&amp;buffer, QIODevice::WriteOnly);
 
-	CPPUNIT_ASSERT(buffer.isOpen());
-	CPPUNIT_ASSERT(QIODevice::ReadOnly == buffer.openMode());
-	CPPUNIT_ASSERT(!opener.isOpen());
-}
+			QVERIFY(!opener.isOpen());
+		}
 
-void IODeviceOpenerTest::testConstructor_Unopenable()
-{
-	UnopenableBuffer buffer;
+		void testDestructor() {
+			QBuffer buffer;
 
-	IODeviceOpener opener(&amp;buffer, QIODevice::WriteOnly);
+			{
+				IODeviceOpener opener(&amp;buffer, QIODevice::WriteOnly);
+			}
 
-	CPPUNIT_ASSERT(!opener.isOpen());
-}
+			QVERIFY(!buffer.isOpen());
+		}
 
-void IODeviceOpenerTest::testDestructor()
-{
-	QBuffer buffer;
+		void testDestructor_Open() {
+			QBuffer buffer;
+			buffer.open(QIODevice::ReadOnly);
 
-	{
-		IODeviceOpener opener(&amp;buffer, QIODevice::WriteOnly);
-	}
+			{
+				IODeviceOpener opener(&amp;buffer, QIODevice::ReadOnly);
+			}
 
-	CPPUNIT_ASSERT(!buffer.isOpen());
-}
+			QVERIFY(buffer.isOpen());
+		}
 
-void IODeviceOpenerTest::testDestructor_Open()
-{
-	QBuffer buffer;
-	buffer.open(QIODevice::ReadOnly);
+		void testDestructor_OpenInWrongMode() {
+			QBuffer buffer;
+			buffer.open(QIODevice::ReadOnly);
 
-	{
-		IODeviceOpener opener(&amp;buffer, QIODevice::ReadOnly);
-	}
+			{
+				IODeviceOpener opener(&amp;buffer, QIODevice::WriteOnly);
+			}
 
-	CPPUNIT_ASSERT(buffer.isOpen());
-}
+			QVERIFY(buffer.isOpen());
+			QVERIFY(QIODevice::ReadOnly == buffer.openMode());
+		}
 
-void IODeviceOpenerTest::testDestructor_OpenInWrongMode()
-{
-	QBuffer buffer;
-	buffer.open(QIODevice::ReadOnly);
+	private:
+		class UnopenableBuffer : public QBuffer
+		{
+			public:
+				UnopenableBuffer() : QBuffer() { }
 
-	{
-		IODeviceOpener opener(&amp;buffer, QIODevice::WriteOnly);
-	}
+				bool open(QIODevice::OpenMode) { return false; } 
+		};
+};
 
-	CPPUNIT_ASSERT(buffer.isOpen());
-	CPPUNIT_ASSERT(QIODevice::ReadOnly == buffer.openMode());
-}
+QTTESTUTIL_REGISTER_TEST(IODeviceOpenerTest);
+#include &quot;iodeviceopenertest.moc&quot;</diff>
      <filename>src/utilities/unittest/iodeviceopenertest.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
-INCLUDEPATH *= $$PWD
-DEPENDPATH *= $$PWD
+INCLUDEPATH *= $$PWD $$PWD/..
+DEPENDPATH *= $$PWD $$PWD/..
 
 HEADERS += \
 	$$PWD/maybe.h \</diff>
      <filename>src/utilities/utilities.pri</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>qa/unittest/unittest.cpp</filename>
    </removed>
    <removed>
      <filename>qa/unittest/unittest.pro</filename>
    </removed>
    <removed>
      <filename>qa/unittest/unittestutil.cpp</filename>
    </removed>
    <removed>
      <filename>qa/unittest/unittestutil.h</filename>
    </removed>
    <removed>
      <filename>qcm/tests.qcm</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit.pri</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit.pro</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/COPYING</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/config-auto.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/AdditionalMessage.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/Asserter.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/BriefTestProgressListener.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/CompilerOutputter.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/Exception.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/Message.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/Outputter.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/Portability.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/Protector.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/SourceLine.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/SynchronizedObject.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/Test.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TestAssert.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TestCaller.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TestCase.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TestComposite.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TestFailure.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TestFixture.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TestLeaf.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TestListener.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TestPath.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TestResult.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TestResultCollector.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TestRunner.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TestSuccessListener.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TestSuite.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TextOutputter.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TextTestProgressListener.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TextTestResult.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/TextTestRunner.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/XmlOutputter.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/XmlOutputterHook.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/config/CppUnitApi.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/config/SelectDllLoader.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/config/SourcePrefix.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/config/config-bcb5.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/config/config-evc4.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/config/config-mac.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/config/config-msvc6.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/extensions/AutoRegisterSuite.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/extensions/ExceptionTestCaseDecorator.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/extensions/HelperMacros.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/extensions/Orthodox.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/extensions/RepeatedTest.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/extensions/TestCaseDecorator.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/extensions/TestDecorator.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/extensions/TestFactory.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/extensions/TestFactoryRegistry.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/extensions/TestFixtureFactory.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/extensions/TestNamer.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/extensions/TestSetUp.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/extensions/TestSuiteBuilderContext.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/extensions/TestSuiteFactory.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/extensions/TypeInfoHelper.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/plugin/DynamicLibraryManager.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/plugin/DynamicLibraryManagerException.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/plugin/PlugInManager.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/plugin/PlugInParameters.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/plugin/TestPlugIn.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/plugin/TestPlugInDefaultImpl.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/portability/CppUnitDeque.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/portability/CppUnitMap.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/portability/CppUnitSet.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/portability/CppUnitStack.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/portability/CppUnitVector.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/portability/FloatingPoint.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/portability/Stream.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/tools/Algorithm.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/tools/StringTools.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/tools/XmlDocument.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/tools/XmlElement.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/ui/text/TestRunner.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/include/cppunit/ui/text/TextTestRunner.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/AdditionalMessage.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/Asserter.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/BeOsDynamicLibraryManager.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/BriefTestProgressListener.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/CompilerOutputter.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/DefaultProtector.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/DefaultProtector.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/DllMain.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/DynamicLibraryManager.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/DynamicLibraryManagerException.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/Exception.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/Message.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/PlugInManager.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/PlugInParameters.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/Protector.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/ProtectorChain.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/ProtectorChain.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/ProtectorContext.h</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/RepeatedTest.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/ShlDynamicLibraryManager.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/SourceLine.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/StringTools.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/SynchronizedObject.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/Test.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestAssert.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestCase.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestCaseDecorator.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestComposite.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestDecorator.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestFactoryRegistry.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestFailure.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestLeaf.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestNamer.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestPath.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestPlugInDefaultImpl.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestResult.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestResultCollector.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestRunner.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestSetUp.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestSuccessListener.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestSuite.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TestSuiteBuilderContext.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TextOutputter.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TextTestProgressListener.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TextTestResult.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TextTestRunner.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/TypeInfoHelper.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/UnixDynamicLibraryManager.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/Win32DynamicLibraryManager.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/XmlDocument.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/XmlElement.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/XmlOutputter.cpp</filename>
    </removed>
    <removed>
      <filename>third-party/cppunit/cppunit/src/cppunit/XmlOutputterHook.cpp</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>a6b39b3bf297140c9e3d759b80d88e7a279c0368</id>
    </parent>
  </parents>
  <author>
    <name>Remko Tron&#231;on</name>
    <email>git@el-tramo.be</email>
  </author>
  <url>http://github.com/psi-im/psi/commit/ab6903e2a3c920398e30f27b65ade84fa214d045</url>
  <id>ab6903e2a3c920398e30f27b65ade84fa214d045</id>
  <committed-date>2008-09-24T07:17:00-07:00</committed-date>
  <authored-date>2008-09-24T07:17:00-07:00</authored-date>
  <message>Ported CppUnit tests to QtTest.
Removed third-party/cppunit and tests.qcm module.</message>
  <tree>0901f42692c3c45a0ab74caff7d110405c5d59c1</tree>
  <committer>
    <name>Remko Tron&#231;on</name>
    <email>git@el-tramo.be</email>
  </committer>
</commit>
