diff options
author | Stephen D. Huston <shuston@apache.org> | 2009-04-28 17:56:25 +0000 |
---|---|---|
committer | Stephen D. Huston <shuston@apache.org> | 2009-04-28 17:56:25 +0000 |
commit | 6beaf665b8e3668129e9821251d30721f2e32bef (patch) | |
tree | 35c4a565462d4a71eb5a69c6af2f37aee275d520 /cpp/src/tests/Shlib.cpp | |
parent | 979e96cb1df81a1a01204521dbfd6e19fdbcaf7b (diff) | |
download | qpid-python-6beaf665b8e3668129e9821251d30721f2e32bef.tar.gz |
Add tests; revise checks for C++ headers to uuse C++, not C
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@769480 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/Shlib.cpp')
-rw-r--r-- | cpp/src/tests/Shlib.cpp | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/cpp/src/tests/Shlib.cpp b/cpp/src/tests/Shlib.cpp index 426a052c9f..b75d8d919a 100644 --- a/cpp/src/tests/Shlib.cpp +++ b/cpp/src/tests/Shlib.cpp @@ -24,13 +24,37 @@ #include "unit_test.h" +#ifndef WIN32 +# include <sys/stat.h> +#endif + QPID_AUTO_TEST_SUITE(ShlibTestSuite) using namespace qpid::sys; typedef void (*CallMe)(int*); +// Figure out the correct combination of tokens to use for a loadable +// library. +namespace { + const char *assemble_name (const char *base) + { + static char full_name[1024]; +# if defined (WIN32) + sprintf (full_name, "%s.dll", base); +# else + // If we're in a libtool environment, use that; else look here. + struct stat s; + if (stat(".libs", &s) == 0) + sprintf (full_name, ".libs/lib%s.so", base); + else + sprintf (full_name, "./lib%s.so", base); +# endif /* WIN32 */ + return full_name; + } +} + QPID_AUTO_TEST_CASE(testShlib) { - Shlib sh(".libs/libshlibtest.so"); + Shlib sh(assemble_name("shlibtest")); // Double cast to avoid ISO warning. CallMe callMe=sh.getSymbol<CallMe>("callMe"); BOOST_REQUIRE(callMe != 0); @@ -48,7 +72,7 @@ QPID_AUTO_TEST_CASE(testShlib) { QPID_AUTO_TEST_CASE(testAutoShlib) { int unloaded = 0; { - AutoShlib sh(".libs/libshlibtest.so"); + AutoShlib sh(assemble_name("shlibtest")); CallMe callMe=sh.getSymbol<CallMe>("callMe"); BOOST_REQUIRE(callMe != 0); callMe(&unloaded); |