X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6eb1e122cbefa9ad022935846eb2981880ea50ef..968b44d37b9fcdc5232fb68312a65e4fc6b5f4ab:/tests/misc/dynamiclib.cpp diff --git a/tests/misc/dynamiclib.cpp b/tests/misc/dynamiclib.cpp index 4fedd6bed0..55d443c5a9 100644 --- a/tests/misc/dynamiclib.cpp +++ b/tests/misc/dynamiclib.cpp @@ -19,6 +19,11 @@ #include "wx/dynlib.h" +#ifdef __UNIX__ + #include "wx/filename.h" + #include "wx/log.h" +#endif + // ---------------------------------------------------------------------------- // test class // ---------------------------------------------------------------------------- @@ -41,12 +46,12 @@ private: // register in the unnamed registry so that these tests are run by default CPPUNIT_TEST_SUITE_REGISTRATION( DynamicLibraryTestCase ); -// also include in it's own registry so that these tests can be run alone +// also include in its own registry so that these tests can be run alone CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( DynamicLibraryTestCase, "DynamicLibraryTestCase" ); void DynamicLibraryTestCase::Load() { -#if defined(__WXMSW__) +#if defined(__WINDOWS__) static const wxChar *LIB_NAME = wxT("kernel32.dll"); static const wxChar *FUNC_NAME = wxT("lstrlenA"); #elif defined(__UNIX__) @@ -57,6 +62,13 @@ void DynamicLibraryTestCase::Load() static const wxChar *LIB_NAME = wxT("/lib/libc.so.6"); #endif static const wxChar *FUNC_NAME = wxT("strlen"); + + if ( !wxFileName::Exists(LIB_NAME) ) + { + wxLogWarning("Shared library \"%s\" doesn't exist, " + "skipping DynamicLibraryTestCase::Load() test."); + return; + } #else #error "don't know how to test wxDllLoader on this platform" #endif @@ -74,7 +86,7 @@ void DynamicLibraryTestCase::Load() // Call the function dynamically loaded CPPUNIT_ASSERT( pfnStrlen("foo") == 3 ); -#ifdef __WXMSW__ +#ifdef __WINDOWS__ static const wxChar *FUNC_NAME_AW = wxT("lstrlen"); typedef int (wxSTDCALL *wxStrlenTypeAorW)(const wxChar *); @@ -86,5 +98,5 @@ void DynamicLibraryTestCase::Load() CPPUNIT_ASSERT_MESSAGE( errMsg2.ToStdString(), pfnStrlenAorW ); CPPUNIT_ASSERT( pfnStrlenAorW(wxT("foobar")) == 6 ); -#endif // __WXMSW__ +#endif // __WINDOWS__ }