From 47889657dc32714f461b5cbd476c63f7da7f9f24 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Tue, 12 Apr 2011 16:01:42 +0100 Subject: allow new test files to be just dropped into the appropiate test dir --- sc/qa/unit/CVE/CVE-2007-5745-1.wb2 | Bin 45006 -> 0 bytes sc/qa/unit/CVE/CVE-2007-5745-2.wb2 | Bin 45006 -> 0 bytes sc/qa/unit/CVE/CVE-2007-5747-1.wb2 | Bin 5409 -> 0 bytes sc/qa/unit/data/qpro/fail/CVE-2007-5747-1.wb2 | Bin 0 -> 5409 bytes sc/qa/unit/data/qpro/pass/CVE-2007-5745-1.wb2 | Bin 0 -> 45006 bytes sc/qa/unit/data/qpro/pass/CVE-2007-5745-2.wb2 | Bin 0 -> 45006 bytes sc/qa/unit/ucalc.cxx | 42 ++++++++++++++++++-------- 7 files changed, 29 insertions(+), 13 deletions(-) delete mode 100644 sc/qa/unit/CVE/CVE-2007-5745-1.wb2 delete mode 100644 sc/qa/unit/CVE/CVE-2007-5745-2.wb2 delete mode 100644 sc/qa/unit/CVE/CVE-2007-5747-1.wb2 create mode 100644 sc/qa/unit/data/qpro/fail/CVE-2007-5747-1.wb2 create mode 100644 sc/qa/unit/data/qpro/pass/CVE-2007-5745-1.wb2 create mode 100644 sc/qa/unit/data/qpro/pass/CVE-2007-5745-2.wb2 (limited to 'sc/qa') 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 0ba60b26cda7..000000000000 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 8a9eca970532..000000000000 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 ca91826b9be9..000000000000 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 000000000000..ca91826b9be9 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 000000000000..0ba60b26cda7 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 000000000000..8a9eca970532 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 3bb18fa19a7f..028b37c3e715 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 -- cgit