summaryrefslogtreecommitdiff
path: root/salhelper
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2022-02-12 16:47:30 +0100
committerStephan Bergmann <sbergman@redhat.com>2022-02-12 17:56:52 +0100
commit29126e36a8c76ed9447e2d0375962e152a355a3c (patch)
treec62580931e417986980b063e351714b2f5bf8ccf /salhelper
parent436ed3693d3edf409ab99762349e79c8597ccdff (diff)
Simplify checking for exported std::type_info symbols
...to cover just those four classes for which type_info is actually exported from Library_salhelper (at least under the rules of the Itanium ABI). (All these checks had been introduced with c62a55b37f5d8918aa25e2f6876a016b0da13ebc "INTEGRATION: CWS sb22: #109743# Test that the API exports the necessary symbols.") Change-Id: I71e86ed19f4ee63ffb2519aca37c6757169d2a6b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129863 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'salhelper')
-rw-r--r--salhelper/qa/test_api.cxx118
1 files changed, 4 insertions, 114 deletions
diff --git a/salhelper/qa/test_api.cxx b/salhelper/qa/test_api.cxx
index dd45f4c730f2..2d4b8be0e2a8 100644
--- a/salhelper/qa/test_api.cxx
+++ b/salhelper/qa/test_api.cxx
@@ -32,25 +32,6 @@
namespace {
-std::type_info const & getConditionTypeInfo()
-{ return typeid (salhelper::Condition *); }
-
-std::type_info const & getConditionModifierTypeInfo()
-{ return typeid (salhelper::ConditionModifier *); }
-
-std::type_info const & getConditionWaiterTypeInfo()
-{ return typeid (salhelper::ConditionWaiter *); }
-
-std::type_info const & getORealDynamicLoaderTypeInfo()
-{ return typeid (salhelper::ORealDynamicLoader *); }
-
-std::type_info const & getSimpleReferenceObjectTypeInfo()
-{ return typeid (salhelper::SimpleReferenceObject *); }
-
-}
-
-namespace {
-
class DerivedCondition: public salhelper::Condition {
public:
explicit DerivedCondition(osl::Mutex & mutex): Condition(mutex) {}
@@ -69,10 +50,6 @@ class Test: public CppUnit::TestFixture {
public:
void testCondition();
- void testConditionModifier();
-
- void testConditionWaiter();
-
void testConditionWaiterTimedout();
void testORealDynamicLoader();
@@ -87,8 +64,6 @@ public:
CPPUNIT_TEST_SUITE(Test);
CPPUNIT_TEST(testCondition);
- CPPUNIT_TEST(testConditionModifier);
- CPPUNIT_TEST(testConditionWaiter);
CPPUNIT_TEST(testConditionWaiterTimedout);
CPPUNIT_TEST(testORealDynamicLoader);
CPPUNIT_TEST(testSimpleReferenceObject);
@@ -101,64 +76,12 @@ public:
void Test::testCondition() {
osl::Mutex mutex;
std::unique_ptr< salhelper::Condition > p(new DerivedCondition(mutex));
- CPPUNIT_ASSERT(typeid(*p) != typeid(salhelper::Condition));
- CPPUNIT_ASSERT(bool(typeid (p.get()) == typeid (salhelper::Condition *)));
- CPPUNIT_ASSERT(bool(
- typeid (const_cast< salhelper::Condition const * >(p.get()))
- == typeid (salhelper::Condition const *)));
- CPPUNIT_ASSERT(bool(
- typeid (const_cast< salhelper::Condition volatile * >(p.get()))
- == typeid (salhelper::Condition volatile *)));
- CPPUNIT_ASSERT(bool(typeid (salhelper::Condition *) == getConditionTypeInfo()));
-}
-
-#ifdef _MSC_VER
-#pragma warning (push)
-#pragma warning (disable: 4189) // 'p': local variable is initialized but not referenced
-#endif
-
-
-void Test::testConditionModifier() {
- salhelper::ConditionModifier * p = nullptr;
- CPPUNIT_ASSERT(bool(typeid (*p) == typeid (salhelper::ConditionModifier)));
- CPPUNIT_ASSERT(bool(typeid (p) == typeid (salhelper::ConditionModifier *)));
- CPPUNIT_ASSERT(bool(
- typeid (const_cast< salhelper::ConditionModifier const * >(p))
- == typeid (salhelper::ConditionModifier const *)));
- CPPUNIT_ASSERT(bool(
- typeid (const_cast< salhelper::ConditionModifier volatile * >(p))
- == typeid (salhelper::ConditionModifier volatile *)));
- CPPUNIT_ASSERT(bool(
- typeid (salhelper::ConditionModifier *)
- == getConditionModifierTypeInfo()));
-}
-
-void Test::testConditionWaiter() {
- salhelper::ConditionWaiter * p = nullptr;
- CPPUNIT_ASSERT(bool(typeid (*p) == typeid (salhelper::ConditionWaiter)));
- CPPUNIT_ASSERT(bool(typeid (p) == typeid (salhelper::ConditionWaiter *)));
- CPPUNIT_ASSERT(bool(
- typeid (const_cast< salhelper::ConditionWaiter const * >(p))
- == typeid (salhelper::ConditionWaiter const *)));
- CPPUNIT_ASSERT(bool(
- typeid (const_cast< salhelper::ConditionWaiter volatile * >(p))
- == typeid (salhelper::ConditionWaiter volatile *)));
- CPPUNIT_ASSERT(bool(
- typeid (salhelper::ConditionWaiter *) == getConditionWaiterTypeInfo()));
+ [[maybe_unused]] volatile auto const rtti = &typeid(salhelper::Condition);
}
void Test::testConditionWaiterTimedout() {
salhelper::ConditionWaiter::timedout x;
- CPPUNIT_ASSERT(bool(typeid (x) == typeid (salhelper::ConditionWaiter::timedout)));
- CPPUNIT_ASSERT(bool(
- typeid (&x) == typeid (salhelper::ConditionWaiter::timedout *)));
- CPPUNIT_ASSERT(bool(
- typeid (const_cast< salhelper::ConditionWaiter::timedout const * >(&x))
- == typeid (salhelper::ConditionWaiter::timedout const *)));
- CPPUNIT_ASSERT(bool(
- (typeid
- (const_cast< salhelper::ConditionWaiter::timedout volatile * >(&x)))
- == typeid (salhelper::ConditionWaiter::timedout volatile *)));
+ [[maybe_unused]] volatile auto const rtti = &typeid(salhelper::ConditionWaiter::timedout);
try {
throw salhelper::ConditionWaiter::timedout();
} catch (salhelper::ConditionWaiter::timedout &) {
@@ -168,46 +91,13 @@ void Test::testConditionWaiterTimedout() {
}
void Test::testORealDynamicLoader() {
- salhelper::ORealDynamicLoader * p = nullptr;
- CPPUNIT_ASSERT(typeid (p) != typeid (salhelper::ORealDynamicLoader));
- CPPUNIT_ASSERT(bool(typeid (p) == typeid (salhelper::ORealDynamicLoader *)));
- CPPUNIT_ASSERT(bool(
- typeid (const_cast< salhelper::ORealDynamicLoader const * >(p))
- == typeid (salhelper::ORealDynamicLoader const *)));
- CPPUNIT_ASSERT(bool(
- typeid (const_cast< salhelper::ORealDynamicLoader volatile * >(p))
- == typeid (salhelper::ORealDynamicLoader volatile *)));
- CPPUNIT_ASSERT(bool(
- typeid (salhelper::ORealDynamicLoader *)
- == getORealDynamicLoaderTypeInfo()));
+ [[maybe_unused]] volatile auto const rtti = &typeid(salhelper::ORealDynamicLoader);
}
-#ifdef _MSC_VER
-#pragma warning (pop)
-#endif
-
void Test::testSimpleReferenceObject() {
salhelper::SimpleReferenceObject * p = new DerivedSimpleReferenceObject;
- try {
- CPPUNIT_ASSERT(
- typeid (*p) != typeid (salhelper::SimpleReferenceObject));
- CPPUNIT_ASSERT(bool(
- typeid (p) == typeid (salhelper::SimpleReferenceObject *)));
- CPPUNIT_ASSERT(bool(
- typeid (const_cast< salhelper::SimpleReferenceObject const * >(p))
- == typeid (salhelper::SimpleReferenceObject const *)));
- CPPUNIT_ASSERT(bool(
- (typeid
- (const_cast< salhelper::SimpleReferenceObject volatile * >(p)))
- == typeid (salhelper::SimpleReferenceObject volatile *)));
- CPPUNIT_ASSERT(bool(
- typeid (salhelper::SimpleReferenceObject *)
- == getSimpleReferenceObjectTypeInfo()));
- } catch (...) {
- delete static_cast< DerivedSimpleReferenceObject * >(p);
- throw;
- }
delete static_cast< DerivedSimpleReferenceObject * >(p);
+ [[maybe_unused]] volatile auto const rtti = &typeid(salhelper::SimpleReferenceObject);
}
void Test::testDerivedCondition() {