Make test order deterministic

Change-Id: I9980034f0cb948acd6bb20aaf0fc27928ac68913
This commit is contained in:
Stephan Bergmann
2015-08-24 16:56:29 +02:00
parent 02e9b490a9
commit 82fb80ec22

View File

@@ -7,6 +7,10 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#include <sal/config.h>
#include <set>
#include <unotest/filters-test.hxx>
#include <osl/file.hxx>
#include <osl/thread.h>
@@ -60,17 +64,26 @@ void FiltersTest::recursiveScan(filterStatus nExpected,
CPPUNIT_ASSERT(osl::FileBase::E_None == aDir.open());
osl::DirectoryItem aItem;
osl::FileStatus aFileStatus(osl_FileStatus_Mask_FileURL|osl_FileStatus_Mask_Type);
std::set<OUString> dirs;
std::set<OUString> files;
while (aDir.getNextItem(aItem) == osl::FileBase::E_None)
{
aItem.getFileStatus(aFileStatus);
OUString sURL = aFileStatus.getFileURL();
if (aFileStatus.getFileType() == osl::FileStatus::Directory)
{
recursiveScan(nExpected, rFilter, sURL, rUserData,
nFilterFlags, nClipboardID, nFilterVersion, bExport);
dirs.insert(sURL);
}
else
{
files.insert(sURL);
}
}
for (auto const & sURL: dirs) {
recursiveScan(nExpected, rFilter, sURL, rUserData,
nFilterFlags, nClipboardID, nFilterVersion, bExport);
}
for (auto const & sURL: files) {
OUString sTmpFile;
bool bEncrypted = false;
@@ -95,11 +108,16 @@ void FiltersTest::recursiveScan(filterStatus nExpected,
OString aRes(OUStringToOString(sURL,
osl_getThreadTextEncoding()));
OUString realUrl;
if (bEncrypted)
{
CPPUNIT_ASSERT(osl::FileBase::E_None == osl::FileBase::createTempFile(NULL, NULL, &sTmpFile));
decode(sURL, sTmpFile);
sURL = sTmpFile;
realUrl = sTmpFile;
}
else
{
realUrl = sURL;
}
//output name early, so in the case of a hang, the name of
@@ -108,10 +126,10 @@ void FiltersTest::recursiveScan(filterStatus nExpected,
sal_uInt32 nStartTime = osl_getGlobalTimer();
bool bRes;
if (!bExport)
bRes = load(rFilter, sURL, rUserData, nFilterFlags,
bRes = load(rFilter, realUrl, rUserData, nFilterFlags,
nClipboardID, nFilterVersion);
else
bRes = save(rFilter, sURL, rUserData, nFilterFlags,
bRes = save(rFilter, realUrl, rUserData, nFilterFlags,
nClipboardID, nFilterVersion);
sal_uInt32 nEndTime = osl_getGlobalTimer();
@@ -125,7 +143,6 @@ void FiltersTest::recursiveScan(filterStatus nExpected,
filterStatus nResult = bRes ? test::pass : test::fail;
CPPUNIT_ASSERT_MESSAGE(aRes.getStr(), nResult == nExpected);
}
}
CPPUNIT_ASSERT(osl::FileBase::E_None == aDir.close());
}