[Libreoffice-commits] .: sc/qa

Caolán McNamara caolan at kemper.freedesktop.org
Tue Apr 12 08:03:35 PDT 2011


 dev/null                                      |binary
 sc/qa/unit/data/qpro/fail/CVE-2007-5747-1.wb2 |binary
 sc/qa/unit/data/qpro/pass/CVE-2007-5745-1.wb2 |binary
 sc/qa/unit/data/qpro/pass/CVE-2007-5745-2.wb2 |binary
 sc/qa/unit/ucalc.cxx                          |   42 +++++++++++++++++---------
 5 files changed, 29 insertions(+), 13 deletions(-)

New commits:
commit 38a3850edb09b2c592af47a358a6370ab4cc0393
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Apr 12 16:01:42 2011 +0100

    allow new test files to be just dropped into the appropiate test dir

diff --git a/sc/qa/unit/CVE/CVE-2007-5745-1.wb2 b/sc/qa/unit/CVE/CVE-2007-5745-1.wb2
deleted file mode 100644
index 0ba60b2..0000000
Binary files a/sc/qa/unit/CVE/CVE-2007-5745-1.wb2 and /dev/null differ
diff --git a/sc/qa/unit/CVE/CVE-2007-5745-2.wb2 b/sc/qa/unit/CVE/CVE-2007-5745-2.wb2
deleted file mode 100644
index 8a9eca9..0000000
Binary files a/sc/qa/unit/CVE/CVE-2007-5745-2.wb2 and /dev/null differ
diff --git a/sc/qa/unit/CVE/CVE-2007-5747-1.wb2 b/sc/qa/unit/CVE/CVE-2007-5747-1.wb2
deleted file mode 100644
index ca91826..0000000
Binary files a/sc/qa/unit/CVE/CVE-2007-5747-1.wb2 and /dev/null differ
diff --git a/sc/qa/unit/data/qpro/fail/CVE-2007-5747-1.wb2 b/sc/qa/unit/data/qpro/fail/CVE-2007-5747-1.wb2
new file mode 100644
index 0000000..ca91826
Binary files /dev/null and b/sc/qa/unit/data/qpro/fail/CVE-2007-5747-1.wb2 differ
diff --git a/sc/qa/unit/data/qpro/pass/CVE-2007-5745-1.wb2 b/sc/qa/unit/data/qpro/pass/CVE-2007-5745-1.wb2
new file mode 100644
index 0000000..0ba60b2
Binary files /dev/null and b/sc/qa/unit/data/qpro/pass/CVE-2007-5745-1.wb2 differ
diff --git a/sc/qa/unit/data/qpro/pass/CVE-2007-5745-2.wb2 b/sc/qa/unit/data/qpro/pass/CVE-2007-5745-2.wb2
new file mode 100644
index 0000000..8a9eca9
Binary files /dev/null and b/sc/qa/unit/data/qpro/pass/CVE-2007-5745-2.wb2 differ
diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index 3fb247c..b077047 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx
@@ -219,7 +219,8 @@ public:
     virtual void setUp();
     virtual void tearDown();
 
-    bool testLoad(const rtl::OUString &rFilter, const rtl::OUString &rURL);
+    void recursiveScan(const rtl::OUString &rFilter, const rtl::OUString &rURL, bool bExpected);
+    bool load(const rtl::OUString &rFilter, const rtl::OUString &rURL);
 
     void testCollator();
     void testInput();
@@ -469,7 +470,7 @@ void Test::testCSV()
     }
 }
 
-bool Test::testLoad(const rtl::OUString &rFilter, const rtl::OUString &rURL)
+bool Test::load(const rtl::OUString &rFilter, const rtl::OUString &rURL)
 {
     SfxFilter aFilter(
         rFilter,
@@ -482,21 +483,36 @@ bool Test::testLoad(const rtl::OUString &rFilter, const rtl::OUString &rURL)
     return xDocShRef->DoLoad(&aSrcMed);
 }
 
-void Test::testCVEs()
+void Test::recursiveScan(const rtl::OUString &rFilter, const rtl::OUString &rURL, bool bExpected)
 {
-    bool bResult;
+    osl::Directory aDir(rURL);
 
-    bResult = testLoad(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Quattro Pro 6.0")),
-        m_aPWDURL + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/qa/unit/CVE/CVE-2007-5745-1.wb2")));
-    CPPUNIT_ASSERT_MESSAGE("CVE-2007-5745 regression", bResult == true);
+    CPPUNIT_ASSERT(osl::FileBase::E_None == aDir.open());
+    osl::DirectoryItem aItem;
+    osl::FileStatus aFileStatus(FileStatusMask_FileURL|FileStatusMask_Type);
+    while (aDir.getNextItem(aItem) == osl::FileBase::E_None)
+    {
+        aItem.getFileStatus(aFileStatus);
+        rtl::OUString sURL = aFileStatus.getFileURL();
+        if (aFileStatus.getFileType() == osl::FileStatus::Directory)
+            recursiveScan(rFilter, sURL, bExpected);
+        else
+        {
+            bool bRes = load(rFilter, sURL);
+            rtl::OString aRes(rtl::OUStringToOString(sURL, osl_getThreadTextEncoding()));
+            CPPUNIT_ASSERT_MESSAGE(aRes.getStr(), bRes == bExpected);
+        }
+    }
+    CPPUNIT_ASSERT(osl::FileBase::E_None == aDir.close());
+}
 
-    bResult = testLoad(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Quattro Pro 6.0")),
-        m_aPWDURL + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/qa/unit/CVE/CVE-2007-5745-2.wb2")));
-    CPPUNIT_ASSERT_MESSAGE("CVE-2007-5745 regression", bResult == true);
+void Test::testCVEs()
+{
+    recursiveScan(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Quattro Pro 6.0")),
+        m_aPWDURL + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/qa/unit/data/qpro/pass")), true);
 
-    bResult = testLoad(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Quattro Pro 6.0")),
-        m_aPWDURL + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/qa/unit/CVE/CVE-2007-5747-1.wb2")));
-    CPPUNIT_ASSERT_MESSAGE("CVE-2007-5747 regression", bResult == false);
+    recursiveScan(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Quattro Pro 6.0")),
+        m_aPWDURL + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/qa/unit/data/qpro/fail")), false);
 }
 
 template<typename Evaluator>


More information about the Libreoffice-commits mailing list