[Libreoffice-commits] .: sal/qa
Caolán McNamara
caolan at kemper.freedesktop.org
Tue Feb 22 03:05:52 PST 2011
sal/qa/osl/file/makefile.mk | 4 -
sal/qa/osl/file/test_cpy_wrt_file.cxx | 79 ++++++++++++----------------------
2 files changed, 29 insertions(+), 54 deletions(-)
New commits:
commit f31f722e3ebfdadc872627b0a988375f59a6afb3
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Feb 22 11:02:50 2011 +0000
Rework this test to be useful.
Make it test that everything works as expected under EEXIST conditions,
which is what it effectively tested for before.
diff --git a/sal/qa/osl/file/makefile.mk b/sal/qa/osl/file/makefile.mk
index 86d0e6d..8b6b1ff 100644
--- a/sal/qa/osl/file/makefile.mk
+++ b/sal/qa/osl/file/makefile.mk
@@ -53,9 +53,7 @@ SHL1VERSIONMAP = $(PRJ)$/qa$/export.map
#-------------------------------------------------------------------
SHL2OBJS=$(SLO)$/test_cpy_wrt_file.obj
-# TODO: disabled because it makes assumption on the build-environment
-# (assumes a target with not enough free disk-space exists)
-# SHL2TARGET=tcwf
+SHL2TARGET=tcwf
SHL2STDLIBS= $(SALLIB) $(CPPUNITLIB) $(TESTSHL2LIB)
SHL2IMPLIB=i$(SHL2TARGET)
SHL2DEF=$(MISC)$/$(SHL2TARGET).def
diff --git a/sal/qa/osl/file/test_cpy_wrt_file.cxx b/sal/qa/osl/file/test_cpy_wrt_file.cxx
index f982320..cfa7246 100644
--- a/sal/qa/osl/file/test_cpy_wrt_file.cxx
+++ b/sal/qa/osl/file/test_cpy_wrt_file.cxx
@@ -39,43 +39,7 @@
using namespace osl;
using namespace rtl;
-//########################################
-#ifdef UNX
-# define COPY_SOURCE_PATH "/home/tr109510/ucbhelper.cxx"
-# define COPY_DEST_PATH "/mnt/mercury08/ucbhelper.cxx"
-#else /* if WNT */
-# define COPY_SOURCE_PATH "d:\\msvcr70.dll"
-# define COPY_DEST_PATH "x:\\tra\\msvcr70.dll"
-#endif
-
-class test_osl_copyFile : public CppUnit::TestFixture
-{
-public:
- void cp_file()
- {
- rtl::OUString src_url;
- FileBase::getFileURLFromSystemPath(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(COPY_SOURCE_PATH)), src_url);
-
- rtl::OUString dest_url;
- FileBase::getFileURLFromSystemPath(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(COPY_DEST_PATH)), dest_url);
-
- FileBase::RC err = File::copy(src_url, dest_url);
- CPPUNIT_ASSERT_MESSAGE("Copy didn't recognized disk full", err != FileBase::E_None);
- }
-
- CPPUNIT_TEST_SUITE(test_osl_copyFile);
- CPPUNIT_TEST(cp_file);
- CPPUNIT_TEST_SUITE_END();
-};
-
-//########################################
-#ifdef UNX
-# define WRITE_DEST_PATH "/tmp/muell.tmp"
-#else /* if WNT */
-# define WRITE_DEST_PATH "d:\\tmp_data.tmp"
-#endif
-
-//Use to deliberately silence warnings for a deliberate error
+//Use to silence OSL_ warnings for a deliberate error
extern "C" void SAL_CALL suppressOslDebugMessage( const sal_Char *, sal_Int32, const sal_Char * )
{
}
@@ -85,28 +49,42 @@ class test_osl_writeFile : public CppUnit::TestFixture
public:
void wrt_file()
{
- rtl::OUString dest_url;
- FileBase::getFileURLFromSystemPath(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(WRITE_DEST_PATH)), dest_url);
+ FileBase::RC err;
+
+ //create a tempfile
+ rtl::OUString aTmpFile;
+ err = FileBase::createTempFile(NULL, NULL, &aTmpFile);
+ CPPUNIT_ASSERT_MESSAGE("temp File creation failed", err == osl::FileBase::E_None);
- File tmp_file(dest_url);
- rtl::OString sErrorMsg = "File creation failed: ";
- sErrorMsg += rtl::OUStringToOString( dest_url, RTL_TEXTENCODING_ASCII_US );
- FileBase::RC err = tmp_file.open(osl_File_OpenFlag_Write | osl_File_OpenFlag_Create);
+ //now attempt to open with Create flag an existing file, should get E_EXIST
+ File tmp_file(aTmpFile);
+ err = tmp_file.open(osl_File_OpenFlag_Write | osl_File_OpenFlag_Create);
- CPPUNIT_ASSERT_MESSAGE( sErrorMsg.getStr(), err == FileBase::E_None || err == FileBase::E_EXIST );
+ rtl::OString sErrorMsg = "Expected that '";
+ sErrorMsg += rtl::OUStringToOString(aTmpFile, RTL_TEXTENCODING_ASCII_US);
+ sErrorMsg += "' would exist!";
+ CPPUNIT_ASSERT_MESSAGE(sErrorMsg.getStr(), err == FileBase::E_EXIST);
- char buffer[50000];
+ //deliberate errors, suppress run-time warning for operations on
+ //un-opened File
+ pfunc_osl_printDetailedDebugMessage pOldDebugMessageFunc =
+ osl_setDetailedDebugMessageFunc( &suppressOslDebugMessage );
+
+ char buffer[1];
sal_uInt64 written = 0;
err = tmp_file.write((void*)buffer, sizeof(buffer), written);
+ CPPUNIT_ASSERT_MESSAGE("write on unconnected file should fail",
+ err != osl::FileBase::E_None && written == 0);
- //deliberate error, suppress run-time warning
- pfunc_osl_printDetailedDebugMessage pOldDebugMessageFunc = osl_setDetailedDebugMessageFunc( &suppressOslDebugMessage );
err = tmp_file.sync();
- osl_setDetailedDebugMessageFunc( pOldDebugMessageFunc );
+ CPPUNIT_ASSERT_MESSAGE("sync on unconnected file should fail", err != FileBase::E_None);
+ err = tmp_file.close();
+ CPPUNIT_ASSERT_MESSAGE("close on unconnected file should fail", err != FileBase::E_None);
- CPPUNIT_ASSERT_MESSAGE("Write didn't recognized disk full", err != FileBase::E_None);
+ osl_setDetailedDebugMessageFunc( pOldDebugMessageFunc );
- tmp_file.close();
+ err = ::osl::File::remove(aTmpFile);
+ CPPUNIT_ASSERT_MESSAGE("temp file should have existed", err == FileBase::E_None);
}
CPPUNIT_TEST_SUITE(test_osl_writeFile);
@@ -117,7 +95,6 @@ public:
//#####################################
// register test suites
CPPUNIT_TEST_SUITE_REGISTRATION(test_osl_writeFile);
-CPPUNIT_TEST_SUITE_REGISTRATION(test_osl_copyFile);
CPPUNIT_PLUGIN_IMPLEMENT();
More information about the Libreoffice-commits
mailing list