summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* QPID-5887: abort transactional session on failover; added equivalent of ↵Gordon Sim2014-07-113-1/+320
| | | | | | txtest using messaging API git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1609748 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5858: Remove unneeded line that generates a warning on Windows VS2010.Charles E. Rolke2014-07-111-1/+0
| | | | | | | | | 2> MessagingSessionTests.cpp 2>..\..\..\cpp\src\tests\MessagingSessionTests.cpp(1438): warning C4930: 'std::string queue(void)': prototyped function not called (was a variable definition intended?) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1609726 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: qpid-send help: copy&paste typo fixedPavel Moravec2014-07-091-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1609098 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix defects found by coverity.Alan Conway2014-07-073-3/+3
| | | | | | | | | | | | | | | | | | To view the defects in Coverity Scan visit, http://scan.coverity.com/projects/6?tab=overview ** CID 1224524: Big parameter passed by value (PASS_BY_VALUE) /qpidbuilds/trunk/qpid/cpp/src/tests/BrokerFixture.h: 155 in qpid::tests::SessionFixtureT<qpid::tests::LocalConnection, qpid::client::Session_0_10>::SessionFixtureT(qpid::broker::BrokerOptions)() ** CID 1224525: Big parameter passed by value (PASS_BY_VALUE) /qpidbuilds/trunk/qpid/cpp/src/tests/ClientSessionTest.cpp: 108 in qpid::tests::ClientSessionFixture::ClientSessionFixture(qpid::broker::BrokerOptions)() ** CID 1224526: Big parameter passed by value (PASS_BY_VALUE) /qpidbuilds/trunk/qpid/cpp/src/tests/MessagingFixture.h: 106 in qpid::tests::MessagingFixture::MessagingFixture(qpid::broker::BrokerOptions, bool)() ** CID 1224527: Wrapper object use after free (WRAPPER_ESCAPE) /qpidbuilds/trunk/qpid/cpp/src/qpid/broker/SaslAuthenticator.cpp: 276 in qpid::broker::CyrusAuthenticator::init()() git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1608487 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5874: Treat all empty selectors sensiblyAndrew Stitcher2014-07-031-0/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1607739 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5806: Allow quoted syntax for non standard selector identifiersAndrew Stitcher2014-07-031-1/+2
| | | | | | - This matches the Java broker syntax for selectors git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1607738 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3921: Refactored Broker::Options into its own independent classAndrew Stitcher2014-07-014-15/+19
| | | | | | | | | | - Now called BrokerOptions - Added extra getters to Broker so that nothing else needs to know about BrokerOptions - Significantly reduces header coupling as lots of files include Broker.h, but now don't need Options.h git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1607166 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5865: Be more robust in face of system clock being changed:Andrew Stitcher2014-07-014-7/+5
| | | | | | | | | | - Separate Wall clock time uses from other time * (assumed that any time with respect to the epoch is wallclock) - For Posix use CLOCK_MONOTONIC for all non wall clock purposes so that changing system time doesn't affect internal timekeeping - For Windows kept the same time keeping scheme. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1607140 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5858: prevent leakage of old exception typesGordon Sim2014-06-271-0/+19
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1606258 13f79535-47bb-0310-9956-ffa450edef68
* [no JIRA]: brokertest to set connection option 'protocol' only for SWIG ↵Pavel Moravec2014-06-261-2/+4
| | | | | | client on AMQP1.0 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1605703 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5817: [C++ broker] Improve ACL authorisation of QMF methods and queriesPavel Moravec2014-06-182-5/+159
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1603364 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5807: Remove boost::program_options as a header file dependency of ↵Andrew Stitcher2014-06-113-26/+30
| | | | | | | | | qpid/Options.h - The intent here is to remove the necessity for things using qpid::Options to need to link boost::program_options directly. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1602021 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5805: Disallow % and _ characters as escapes in selector LIKE expressionAndrew Stitcher2014-06-091-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1601373 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5804: Fix broken selector parsing of unary '+'Andrew Stitcher2014-06-091-0/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1601372 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5748: [C++ broker] Make Queue::purgeExpired more efficient; remove ↵Pavel Moravec2014-05-282-2/+1
| | | | | | ExpiryPolicy git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1597931 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5783: Share immutable state between copies of a message. Avoid using ↵Gordon Sim2014-05-232-1/+1
| | | | | | memory for annotations unless actually required. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1597121 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5765: don't invoke on dangling pointerGordon Sim2014-05-141-0/+1
| | | | | | | | | Strictly speaking comparing anything against the old pointer isn't correct either, but this is harder to change and the only negative effect is that in the event that a new connection has the same pointer value, it would be incorrectly interpreted as 'local'. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1594633 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5758: Move purging of expired messages from timer thread to worker threadGordon Sim2014-05-131-1/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1594220 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: HA fix hanging ha_tests.test_failover_send_receive on RHEL5Alan Conway2014-05-012-30/+28
| | | | | | | | | | | | | The test was hanging because of a python construct not available in 2.4. It was causing an exception in a strange place because this bit of code was imported at runtime, and that was hanging the test. Fixed and did some cleanup to avoid such mysterious hangs in future: - Fixed qpidtoollibs/config.py to work with python 2.4. - Import qpid-ha script at import time rather than runtime. - Fix Popen.teardown logic to avoid hanging if a process can't be killed. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1591794 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5489: More cleaning up of the Uuid codeAndrew Stitcher2014-04-291-3/+15
| | | | | | | | - Rewrite the Uuid iosteam extractor and insertor operators to not require any underlying uuid library. - Create a specific uuid implementation for FreeBSD git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1590978 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5725: Use correct comparison function to match property keysAndrew Michael Stitcher2014-04-271-0/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1590505 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: HA minor cleanup of qpid-ha toolAlan Conway2014-04-242-57/+0
| | | | | | | | | | - Remove some dead code. - Removed "set" command - not ready for production. All settings in qpidd.conf. - Removed related tests in ha_tests - Improved help on promote command. - Made option group for common broker connection options. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1589834 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5719: HA becomes unresponsive once any of the brokers are SIGSTOPedAlan Conway2014-04-242-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | - Added timeout to qpid-ha. - qpidd init script pings broker to verify it is not hung. - updated documentation in qpid/doc/book/src/cpp-broker/Active-Passive-Cluster.xml. The new results for the cases mentioned in the bug: a] stopped ALL brokers: rgmanager restarts the entire cluster but data is lost. Equivalent to killing all the brokers at once. This does not affect quorum because only qpidd services are affected, not other services managed by cman. b] stopped the primary: rgmanager restarts the primary after a timeout and promotes one of the backups. c] stopped a backup: rgmanager restarts the backups after a timeout. Clients that are actively sending messages may see a delay while backup is restarted. Note you need to set link-heartbeat-interval in qpidd.conf. The default is very high (120 seconds), it should be set lower to see recovery from sigstop in a reasonable time. See the updated documentation in qpid/doc/book/src/cpp-broker/Active-Passive-Cluster.xml. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1589807 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5714: In ha_tests, skip if the target test code is missingJustin Ross2014-04-241-0/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1589760 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5720: HA exception raised by the store for durable transactionsAlan Conway2014-04-233-8/+10
| | | | | | | | | | | | | | | Running qpid-txtest against a HA cluster was raising this exception: async_dequeue() failed: jexception 0x0b02 wmgr::dequeue_check() threw JERR_MAP_LOCKED: Record ID locked by a pending transaction. This is actually a test bug. In a cluster a transaction commit takes longer to complete because of co-ordinating with backups, the test was not waiting for the completion of commit command before proceeding. Adding a sync() in the test solves the problem. Note this test uses the old obsolete C++ API. Applications written using the supported messaging API are not affected by this. This can be verified using the qpid-send and qpid-receive clients with the --tx option (there is already an automated test for this in ha_tests.py.) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1589520 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5714: Skip python tests if test code is missingJustin Ross2014-04-212-0/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1588883 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: older versions of boost get confused when one option is a substring ↵Gordon Sim2014-04-171-1/+1
| | | | | | of another see r1587304 and r1587976 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1588212 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: make new output introduced in r1587304 optional, as it breaks ↵Gordon Sim2014-04-161-5/+9
| | | | | | several tests git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1587976 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Make qpid-receive print a bit more info for message headers/contentAndrew Michael Stitcher2014-04-141-2/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1587304 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5681: Fix core dump in interlink_tests.Alan Conway2014-04-112-1/+9
| | | | | | Use native python client for older (<=0.6) versions of proton. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1586646 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5560: Fix ReplicationTests.test_reject to work with SWIG and native ↵Alan Conway2014-04-091-1/+1
| | | | | | | | clients. Catch more general LinkError rather than TargetCapacityExceeded which is only raised by native client. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1585985 13f79535-47bb-0310-9956-ffa450edef68
* Author: Alan Conway <aconway@redhat.com>Alan Conway2014-04-081-2/+3
| | | | | | | --- log message follows this QPID-5560: Remove use of python if expression, not available in older python (2.4) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1585755 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5560: HA tests do not use AMQP 1.0Alan Conway2014-04-079-377/+444
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The HA tests were using only AMQP 0-10. Modified the tests to use AMQP 1.0 if available (still use 0-10 if 1.0 is not available) Fixed bugs uncovered both in the tests and in the AMQP 1.0 implementation. Summary of changes: - brokertest.py: configurable support for of swig vs. native and amqp0-10 vs. 1.0 - default to swig+amqp1.0 if swig is available, native+amqp0-10 otherwise - qpidtoollibs/broker.py: enable use of swig client with BrokerAgent - Swig python client: - support for passing client_properties/properties. - expose AddressHelper pn_data read/write as PnData helper class - set sender/receiver capacity on creation - limited disposition support - rejected messages. - support for additional timeout parameters - expose messaging::Logger, allow log configuration to be set from python. - ha_tests.py: - bind, delete policies not supported by AMQP 1.0, switched to using BrokerAgent QMF. - pass protocol:amqp1.0 connection-option to c++ test clients (qpid-send, qpid-receive) - TX tests forsce use of 0-10 protocol (but still with Swig client if enabled.) - Broker fixes: - Queue::Settings::isTemporary was set in the 0-10 SessionAdapter, moved to Broker::createQueue. - broker::amqp::Session was always setting an exclusive owner in createQueue git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1585588 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5667: C++ broker: QMF subscribe events are not raised with AMQP 1.0Alan Conway2014-04-071-1/+1
| | | | | | | The raise event logic for subscribe/unsubscribe events was in 0-10 specific code. Moved it into Queue.cpp so events are generated regardless of protocol. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1585587 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5666: HA fails with resource-limit-exceeded: Exceeded replicated queue ↵Alan Conway2014-04-072-2/+15
| | | | | | | | | | | | limit This is regression introduced in r1561206: CommitDate: Fri Jan 24 21:54:59 2014 +0000 QPID-5513: HA backup fails if number of replicated queues exceeds number of channels. Fixed by the current commit. PrimaryQueueLimits was not taking account of queues already on the broker prior to promotion. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1585507 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5660: [legacystore] Python tests fail with syntax error on Python 2.4Kim van der Riet2014-04-031-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1584347 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5659: Fixes to compile with C++11 (needed to compile with clang on ↵Andrew Stitcher2014-04-025-10/+7
| | | | | | | | | | | FreeBSD 10) - shared_ptr no longer has a default conversion to bool. - Change in default destructor semantics: by default destructors are now not allowed to throw exceptions. - stringstream no longer has a default conversion to string. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1584199 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5641: [legacystore] Valgrind reports memory leaks on older store testsKim van der Riet2014-03-215-1727/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1579963 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5362: No store tools exist for examining the journals - Bugfix and ↵Kim van der Riet2014-03-182-25/+57
| | | | | | reorganization of qls python modules. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1578899 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5613: Self test broker start command fails without --interface option.Charles E. Rolke2014-03-071-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1575443 13f79535-47bb-0310-9956-ffa450edef68
* Revert "NO-JIRA: CMakelists.txt check that ../python exists before building it."Alan Conway2014-03-051-6/+16
| | | | | | | | | | | | | | | | This reverts most of commit r1574138. The changes were intended to simplify handling of setup.py by letting it detect when things were out of date, but even when there are no changes setup.py does touch some files: changing mode of /home/andrew/Work/qpid/bld-ninja/src/tests/python/commands/qpid-python-trunning install_egg_info removing /home/andrew/Work/qpid/bld-ninja/src/tests/python/qpid_python-0.27-py2.7.egg-info writing /home/andrew/Work/qpid/bld-ninja/src/tests/python/qpid_python-0.27-py2.7.egg-info This commit restores the previous logic that avoids running setup.py if not needed but retains the if (EXISTS ${python_src}) check to avoid all this logic if there is no python source directory available. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1574656 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: CMakelists.txt check that ../python exists before building it.Alan Conway2014-03-041-20/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1574138 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix Coverty "Uncaught exception" errors in test clients.Alan Conway2014-02-262-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1572061 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5561: QPID-5565: Broker->ACL module improvementsPavel Moravec2014-02-261-8/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1572059 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix compile error on RHEL5 in qpid-pingAlan Conway2014-02-221-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1570775 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5568: HA C++ qpid::messaging AMQP 1.0 client failover logging is not clearAlan Conway2014-02-203-41/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The qpid::messaging AMQP 1.0 protocol logging did not give clear information about reconnection during failover. This patch simplifies the reconnect logic by collapsing all known addresses from broker URL and reconnect URLs into a single URL with no duplicates. It rationalizes the info and notice logging as follows: # Initial connection with multiple addresses, info logs show the # full URL, each attempt to connect and the finally connected address. [Messaging] info Starting connection to amqp:tcp:20.0.10.33:5672,tcp:20.0.10.34:5672,tcp:20.0.10.35:5672 [Messaging] info Connecting to tcp:20.0.10.33:5672 [Messaging] info Failed to connect to tcp:20.0.10.33:5672 [Messaging] info Connecting to tcp:20.0.10.34:5672 [Messaging] info Failed to connect to tcp:20.0.10.34:5672 [Messaging] info Connecting to tcp:20.0.10.35:5672 [Messaging] info Connected to tcp:20.0.10.35:5672 # Re-connection due to a failure. notice logs for the start of reconnection (with full URL) # and eventual sucess (with individual address). info logs for individual connection attempts. [Messaging] notice Auto-reconnecting to amqp:tcp:20.0.10.33:5672,tcp:20.0.10.34:5672,tcp:20.0.10.35:5672 [Messaging] info Connecting to tcp:20.0.10.33:5672 [Messaging] info Failed to connect to tcp:20.0.10.33:5672 .... [Messaging] info Connected to tcp:20.0.10.33:5672 [Messaging] notice Auto-reconnected to amqp:tcp:20.0.10.33:5672 The idea here is that there are no logs by default (info is not on by default) for "normal" behavior, but failover does get a (short) notice log by default. By turning on info logs you can follow the detailed blow-by-blow of failover without getting drowned in the detail of debug logs. Note that final failure to connect is signalled to the application via an exception. There was not previously any log message for that and I didn't add one. Additional changes: updated qpid-ping test client to use the messaging library. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1570231 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix build error in ha_test_max_queues for release builds.Alan Conway2014-02-181-1/+4
| | | | | | argc was only being tested in an assert which was compiled out for release builds. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1569400 13f79535-47bb-0310-9956-ffa450edef68
* Author: Alan Conway <aconway@redhat.com>Alan Conway2014-02-062-2/+2
| | | | | | | --- log message follows this NO-JIRA: Remove use of python built-in 'next', not available before python 2.6. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1565382 13f79535-47bb-0310-9956-ffa450edef68
* NO_JIRA: Added Apache license text to tx-text-soak.sh, updates to ↵Kim van der Riet2014-02-051-0/+20
| | | | | | linearstore ISSUES file git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1564935 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5361: Added a bash script which allows for transactional soak testing.Kim van der Riet2014-02-051-0/+234
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1564893 13f79535-47bb-0310-9956-ffa450edef68