summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests
Commit message (Collapse)AuthorAgeFilesLines
* QPID-7134: ensure content object is reset when bytes are setGordon Sim2016-03-301-0/+24
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1737093 13f79535-47bb-0310-9956-ffa450edef68
* QPID-7148: Update CMake files to use better more modern style and featuresAndrew Stitcher2016-03-162-50/+18
| | | | | | | - This is already the way we do this stuff in Qpid Proton - Upgrade minimum version of CMake to 2.8.7 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1735324 13f79535-47bb-0310-9956-ffa450edef68
* QPID-7134: ensure content object is reset when bytes are setGordon Sim2016-03-101-0/+18
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1734476 13f79535-47bb-0310-9956-ffa450edef68
* QPID-7130: added test for retrieving authenticated username when using sslGordon Sim2016-03-082-0/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1734164 13f79535-47bb-0310-9956-ffa450edef68
* QPID-7100: Don't divide by zero when nsubs is 0 in shared mode. Patch from ↵Gordon Sim2016-03-021-2/+2
| | | | | | yuelongguang@letv.com git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1733272 13f79535-47bb-0310-9956-ffa450edef68
* QPID-7076: Avoid error with qpid-cpp-benchmark with 0 senders. Patch from ↵Gordon Sim2016-02-191-3/+6
| | | | | | yuelongguang@letv.com git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1731309 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6754: ensure anonymous-relay doesn't expose ability to detect whether ↵Gordon Sim2015-11-261-0/+18
| | | | | | or not entity exists for those without permissions git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1716781 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6754: some AMQP 1.0 based acl tests including for 'anonymous relay' ↵Gordon Sim2015-11-264-76/+482
| | | | | | pseudo-exchange git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1716780 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6717: Change Selector beaviour and tests to accord with consensus semanticsAndrew Stitcher2015-09-041-1/+9
| | | | | | | - It seems to be the consensus amongst JMS Selector implementations that the NOT IN expression should return false if none of the types match git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1701301 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5855 - Simplified HA transaction logic.Alan Conway2015-09-032-188/+20
| | | | | | | | | | | | | | | | | | | | | | | Removed complex and incorrect HA+TX logic, reverted to the following limitation: You can use transactions in a HA cluster, but there are limitations on the transactional guarantees. Transactions function normally with the *primary* broker but replication to the backups is not coverted by the atomic guarantee. The following situations are all safe: - Client rolls back a transaction. - Client successfully commits a transaction. - Primary fails during a transaction *before* the client sends a commit. - Transaction contains only one message. The problem case is when all of the following occur: - transaction contains multiple actions (enqueues or dequeues) - primary fails between client sending commit and receiving commit-complete. In this case it is possible that only part of the transaction was replicated to the backups, so on fail-over partial transaction results may be visible. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1701109 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6718: Complete parsing for all styles of numeric literalsAndrew Stitcher2015-09-021-2/+36
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1700915 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6717: Unit tests to demonstrate the issue (or not!)Andrew Stitcher2015-09-021-0/+17
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1700867 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Trivial update to work with changed Boost 1.59 Test library.Andrew Stitcher2015-08-201-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1696716 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: fix tests for python 2.4Gordon Sim2015-05-201-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1680478 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix test bugs in ha_tests and interop_testAlan Conway2015-05-192-1/+3
| | | | | | | Race conditions in ha_tests. Typo in skip logic for interop_test when recent proton not available. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1680422 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: make qpid-send send as string not binaryGordon Sim2015-05-151-2/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1679556 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6537: [Windows warning] avoid implicit conversion double->floatCharles E. Rolke2015-05-121-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1679012 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix floating point FieldValue tests to work on older ↵Alan Conway2015-05-071-8/+8
| | | | | | | | | | compilers/boost versions. This fixes compile errors seen on gcc-c++-4.1.2-55.el5, boost-devel-1.33.1-16.el5_9 Float/double conversion and template matching issues. Probably down to boost, but might be gcc related. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1678246 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6470: Fix float conversion problems.Alan Conway2015-04-162-21/+22
| | | | | | | | | | Previous code would incorrectly convert between float and int types producing nonsense values, and would not allow legal conversions between float and double types. Created FixedWidthIntValue and FixedWidthFloatValue template subclasses to correctly handle conversions. Enabled FieldValue unit tests for float conversions. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1674137 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6470: fix stray letters from commit 1671125Charles E. Rolke2015-04-061-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1671530 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6399: Fix store tests for run_test option syntax change.Alan Conway2015-04-032-4/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1671128 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6470: FieldValue::getFloatingPointValue() converts endian each time it ↵Alan Conway2015-04-031-34/+36
| | | | | | | | | | | | | | | | | | | | | is called. When calling getFloatingPointValue multiple times, the octets are endian-converted each time. Actually we need to make a copy first and then call convertIfRequired(). This fix is from a pull request by Pavel Pokutnev (see the JIRA). commit 4ed0ce9c9b74b136c49735b19efb80489aa495a3 His original patch was correct, I made some additions: - Added a unit test: qpid/cpp/src/tests/FieldValue.cpp - Fixed some incorrect uses of "const" in nearby code. - Replaced a for loop with std::copy, more readable and more optimizable. There are still serious problems with float conversion shown up by the unit tests, the relevant tests are commented out till these issues are fixed. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1671125 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix race condition in HA tests, remove useless test.Alan Conway2015-04-031-21/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1671124 13f79535-47bb-0310-9956-ffa450edef68
* Align run_test shell and Powershell versions. Changes the option syntax from ↵Stephen D. Huston2015-03-174-69/+165
| | | | | | two-hyphen to one. Fixes QPID-6399. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1667349 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6427: Fixed unit test build problem on RHEL 5.aconway2015-03-051-3/+7
| | | | | | RHEL5 compiler choked on some boost template magic, simplified the test. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1664479 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4710: adjust version checking used by new tx interop tests so as not to ↵Gordon Sim2015-03-041-3/+16
| | | | | | fail existing tests when either ptoron python lib is not on path or is 0.7 or earlier git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1664144 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4710: [AMQP 1.0] Support for transactions in qpid::messaging C++ client.Alan Conway2015-02-2712-63/+331
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements the "transactional retire and settle immediately" option for transactions as specified in AMQP 1.0 in the qpid::messaging C++ client. NOTE: Transactions over AMQP 1.0 require proton 0.9 or greater. With older versions, attempting a transactions over AMQP 1.0 will raise a link-detached exception "Node not found: tx-transaction" 1. Added descriptor list to Variant with support in Encoder and PnData. Required to support transactions, need to be able to create described lists. Variant changes are source and binary compatible. A Variant now has a Variant::List of descripors which can be numeric or string. Nested descriptors are implemented by putting multiple descriptors in the list. Other minor changes: - Variant refactor: don't delete impl on every assignment. - Add Variant constructors that take a string encoding. (new constructors, not defaulted arguments, so the change is binary and source compatible.) - Growable buffer support for Encoder. - Printing described Variant prints descriptors in form @descriptor value 2. Added transaction support to AMQP 1.0 client code Added messaging/amqp/Transaction.h,cpp: transaction logic - communicate with coordinator, send declare/dischange messages. - add tx state info to transfers and acknowledgements. - Sync session after discharge. - A transactional session automatically acks any message retrieved by fetch/get to bring them into the transaction. This is consistent the 0-10 client. Minor fixes to existing client code: - Fix use of pn_drain API in C++ client to work with C++ and Java brokers. - Make amqp::Exception derive from qpid::Exception 3. Fixes to existing broker code: - Incoming.cpp fix: start async completion before processing message. - Delay accept of dischage message till commit is complete. - newSession - handle failover during session creation. 4. Added tests interop_tests.py: transaction tests that can run against an external broker, see comments. ha_tests.py: Enable transaction tests over AMQP 1.0. Minor test fixes: - brokertest.py don't set default logging if QPID_LOG env vars set. - brokertest.py Pass kwargs to broker() create function. - qpid-receive: capacity should never be larger than message count. - Accept user:pass as well as user/pass in Url. - brokertest.py: Always do a ready() check on all brokers. If proton < 0.9 is used, transaction tests will be skipped or will downgrade to the amqp0-10 protocol with a printed warning. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1662743 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6415: Core dump in ha_tests and interlink_tests with proton 0.9 (test fix)Alan Conway2015-02-261-0/+1
| | | | | | Minor test fix to avoid core dumps git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1662583 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6414: Skip HA tests if qpid-ha or qpid-config tools are not available.Alan Conway2015-02-253-14/+24
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1662275 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6413: Sporadic failure of HA tests causd by maxNegotiateTimeoutAlan Conway2015-02-251-11/+11
| | | | | | | | | | | | | | | | | | | | Increased maxNegotiateTimeout to the default (10 seconds). A smaller value speeds up detection of non-running brokers on remote hosts, but this is not necessary for the tests. Increased some other test timeouts and added some improved error reporting. The occasional long (> 1 second) connection delays are caused by Cyrus SASL authentication. Not clear why this takes so long, but that is a separate issue. Here's a client log excerpt showing the delay. 2015-02-25 08:29:37.461299895 [Network] trace RECV [[127.0.0.1:34247-127.0.0.1:45983]]: Frame[BEbe; channel=0; {ConnectionStartBody: server-properties={qpid.federation_tag:V2:36:str16(77800bff-a176-46c1-917a-32f136dee650)}; mechanisms=str16{V2:9:str16(ANONYMOUS), V2:5:str16(PLAIN)}; locales=str16{V2:5:str16(en_US)}; }] 2015-02-25 08:29:37.463116303 [Security] debug CyrusSasl::start(ANONYMOUS PLAIN) (Note delay > 1 sec here) 2015-02-25 08:29:38.839793753 [Security] debug min_ssf: 0, max_ssf: 256 2015-02-25 08:29:38.839851781 [Security] debug CyrusSasl::start(ANONYMOUS PLAIN): selected ANONYMOUS response: 'anonymous@wallace' 2015-02-25 08:29:38.839963162 [Client] warning Connection [127.0.0.1:34247-127.0.0.1:45983] closed git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1662247 13f79535-47bb-0310-9956-ffa450edef68
* Don't take the address of a 0-length vector. Fixes QPID-6409.Stephen D. Huston2015-02-241-5/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1661830 13f79535-47bb-0310-9956-ffa450edef68
* Apply patches for QPID-6312 to get Qpid building on AIX with XL C++ 13.1Stephen D. Huston2015-02-041-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1657338 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5538: Implement AMQP 1.0 connection idle-timeout.Ken Giusti2015-02-022-0/+96
| | | | | | Original patch by Gordon Sim. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1656505 13f79535-47bb-0310-9956-ffa450edef68
* txshift: switch to uint for workersDarryl L. Pierce2015-01-211-2/+2
| | | | | | | | | | | | | workaround missing size_t implementation of po::value_semantic* create_value(T& val, const std::string& arg) as it would conflict with when size_t == unsigned int even when it would help for size_t == unsigned long fixes https://issues.apache.org/jira/browse/QPID-6135 Contributed by Dan Horaz <dan@danny.cz> git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1653631 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6329: slightly more forgiving equivalence check on fieldvalues in ↵Gordon Sim2015-01-211-0/+15
| | | | | | assertions on 0-10 path git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1653548 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Use absolute path for store directory in brokertest.pyAlan Conway2014-11-271-1/+1
| | | | | | Recent store changes broke the use of a relative directory as data-dir. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1642246 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix qpid-cpp-benchmark to work with activemq broker.Alan Conway2014-11-221-2/+8
| | | | | | | The activemq broker appears not to respect the AMQP drain flag, so calling fetch() on an empty queue hangs. Use get() with a timeout instead to drain the queues. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1641027 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix qpid-cpp-benchmark to support AMQP 1.0.Alan Conway2014-11-211-22/+63
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1640975 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6167: allow 0-10 to be disabledGordon Sim2014-11-101-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1637822 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5361: No tests for linearstore functionality currently exist - basic ↵Kim van der Riet2014-09-167-0/+792
| | | | | | tests from the legacystore suite ported to linearstore git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1625283 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix error message test in acl.py, on older python versions error ↵Alan Conway2014-09-091-10/+10
| | | | | | code is '7L' instead of '7' git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1623856 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix minor bug in run_paged_queue_tests handling a failure to start ↵Alan Conway2014-09-051-1/+1
| | | | | | broker. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1622593 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: HA Fix ha_tests.py failures with SWIG 0.10 client.Alan Conway2014-09-052-39/+29
| | | | | | | | - Fix un-necessary re-sends in amqp0_10::SenderImpl::replay. - Throw NotFound and UnauthorizedAccess correctly from amqp0_10::SessionImpl and ConnectionImpl - Fix ha_test wait_address and valid_address re-using a session after it is closed by NotFound. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1622592 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix qpid/cpp/src/tests/ha_tests.py to work on python 2.4.Alan Conway2014-09-041-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1622560 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6069: Extra fix to FreeBSD compile fixesAndrew Stitcher2014-09-041-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1622397 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Explictily convert double to uint64_t in qpid-txtest2 to avoid ↵Alan Conway2014-09-031-1/+1
| | | | | | warnings on some compilers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1622372 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6069: FreeBSD compilation problemsAndrew Stitcher2014-09-031-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1622369 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5855: Fix to JAVA Client Can not recieve message with qpid ha cluster.Alan Conway2014-08-291-2/+4
| | | | | | | | | | | | | | The original fix for this introduced a regression, running the qpid-txttest2 test against a cluster with the linear store failed. This fixes the fix. - Run transaction commit logic when the commit completes. Report completion to the user only when all prior commands have completed (sync point) - Fix missing initializer in client/amqp0_10/SessionImpl.cpp for transaction committing flag. - Remove annoying log messages from IdSetter.h - Skip transactional messages in prepare, don't wait till commit. - Added fetch-timeout option to qpid-txtest2 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1621368 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: brokertest.py: don't use AMQP 1.0 if not available, ignore ↵Alan Conway2014-08-281-4/+5
| | | | | | connection close teardown errors. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1621212 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5975: HA extra/missing messages when running qpid-txtest2 in a loop ↵Alan Conway2014-08-283-13/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with failover. This is partly not-a-bug, there is a client error handling issue that has been corrected. qpid-txtest2 initializes a queue with messages at the start and drains the queues at the end. These operations are *not transactional*. Therefore duplicates are expected if there is a failover during initialization or draining. When duplicates were observed, there was indeed a failover at one of these times. Making these operations transactional is not enough to pass, now we see the test fail with "no messages to fetch". This is explained as follows: If there is a failover during a transaction, TransactionAborted is raised. The client assumes the transaction was rolled back and re-plays it. However, if the failover occurs at a critical point *after* the client has sent commit but *before* it has received a response, then the the client *does not know* whether the transaction was committed or rolled-back on the new primary. Re-playing in this case can duplicate the transaction. Each transaction moves messages from one queue to another so as long as transactions are atomic the total number of messages will not change. However, if transactions are duplicated, a transactional session may try to move more messages than exist on the queue, hence "no messages to fetch". For example if thread 1 moves N messages from q1 to q2, and thread 2 tries to move N+M messages back, then thread 2 will fail. This problem has been corrected as follows: C++ and python clients now raise the following exceptions: - TransactionAborted: The transaction has definitely been rolled back due to a connection failure before commit or a broker error (e.g. a store error) during commit. It can safely be replayed. - TransactionUnknown: The transaction outcome is unknown because the connection failed at the critical time. There's no simple automatic way to know what happened without examining the state of the broker queues. Unfortunately With this fix qpid-txtest2 is no longer useful test for TX failover because it regularly raises TransactionUnknown and there's not much we can do with that. A better test of TX atomicity with failover is to run a pair of qpid-send/qpid-receive with fail-over and verify that the number of enqueues/dequeues and message depth are a multiple of the transaction size. See the JIRA for such a test. (Note these test also sometimes raise TransactionUnknown but it doesn't matter since all we are checking is that messages go on and off the queues in multiple of the TX size.) ) Note: the original bug also reported seeing missing messages from qpid-txtest2. I don't have a good explanation for that but since the qpid-send/receive test shows that transactions are atomic I am going to let that go for now. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1621211 13f79535-47bb-0310-9956-ffa450edef68