Commit Graph

358 Commits

Author SHA1 Message Date
Vlad Alexandru Ionescu 63de61d6c2 general refactoring in amqp_channel; checking if tag is already in use, on subscribe 2010-11-23 18:56:49 +00:00
Vlad Alexandru Ionescu ff4e91379b extending timeout for method serialization tests 2010-11-23 15:59:29 +00:00
Vlad Alexandru Ionescu c23b52ac51 merging in from default 2010-11-16 15:11:03 +00:00
Vlad Alexandru Ionescu de890420dc merging in from default 2010-11-16 13:32:19 +00:00
Vlad Alexandru Ionescu 4b6831ab72 more consistent error reporting on failed handshake; heartbeating is now started between connection.tune and .tune_ok; the network connection follows the closing protocol if it fails to receive connection.open_ok 2010-11-04 22:18:37 +00:00
Vlad Alexandru Ionescu 9bdcfde17f updating license boilerplate 2010-11-04 17:35:36 +00:00
Vlad Alexandru Ionescu e99e48c851 fixing failing qos test 2010-11-04 17:17:50 +00:00
Vlad Alexandru Ionescu 85abc07663 adding more tests for ensuring proper method ordering 2010-11-04 16:59:27 +00:00
Vlad Alexandru Ionescu 9ddc8873d9 fixing methods overtacking each other 2010-10-28 18:35:58 +01:00
Vlad Alexandru Ionescu eed0fd2ab2 updating license boilerplate in all files 2010-10-28 16:37:10 +01:00
Vlad Alexandru Ionescu bb0d0a2b2e changing connection_closing to a cast; updating amqp_dbg 2010-10-13 16:33:25 +01:00
Vlad Alexandru Ionescu 0b4a9fce18 fixing merge conflicts 2010-10-12 19:57:17 +01:00
Vlad Alexandru Ionescu ec814c68b3 merging in from default 2010-10-12 18:39:16 +01:00
Vlad Alexandru Ionescu 46a6500ee8 better error reporting on connection startup; fixing compile warnings 2010-10-11 20:45:19 +01:00
Vlad Alexandru Ionescu c35cd644e5 adding amqp_gen_connection module; all duplication between connection types has now been removed 2010-10-11 18:20:58 +01:00
Vlad Alexandru Ionescu be33721ad1 merging in from default 2010-10-05 12:23:07 +01:00
Vlad Alexandru Ionescu 64b37f7c50 merging in from default 2010-10-04 12:51:05 +01:00
Matthew Sackman 1540e75b28 Merging bug 23024 onto default. Drive-by correction to amqp_client.app.in 2010-10-01 16:50:53 +01:00
Vlad Alexandru Ionescu 5df54a19a2 merging in from bug23024 2010-09-24 16:55:31 +01:00
Vlad Alexandru Ionescu 13db1190fb removing use of timer:sleep in tests; cosmetics 2010-09-24 12:33:59 +01:00
Matthew Sackman c8f83afbc2 Endless cosmetics 2010-09-20 15:44:12 +01:00
Vlad Alexandru Ionescu a1ee995808 connection now sends connection.close if it receives a channel method on channel0 or a connection method on a channel; better support for sending the server errors, using #amqp_error and rabbit_binary_generator:map_exception/3; tests for command_invalid errors due to server misbehaviour; other small fixes 2010-09-17 12:28:24 +01:00
Vlad Alexandru Ionescu d2676f736f removing channel flow test 2010-09-15 17:30:55 +01:00
Vlad Alexandru Ionescu 611ae43f21 fixing merge conflicts 2010-09-14 13:12:06 +01:00
Vlad Alexandru Ionescu 78c6bc3e90 merging in from default 2010-09-14 12:57:32 +01:00
Matthew Sackman e1677c480d Merge default into bug 23234 (now broker default works with erlang client on 23234 with new API) 2010-09-10 15:10:37 +01:00
Matthew Sackman cfadb215a2 Merging bug 22993 into default 2010-09-10 14:46:52 +01:00
Matthew Sackman 92f9e7f233 Revert connection API to throw on error, as it does on default 2010-09-09 14:31:25 +01:00
Vlad Alexandru Ionescu 50091a9c95 removing connection:start_link; making open_channel return {ok, Pid} | {error, Error} 2010-09-08 14:41:27 +01:00
Matthew Sackman 60dd766b0e Be more robust in waiting for process termination 2010-09-07 16:56:44 +01:00
Matthew Sackman 19c5eae78c Support linked and unlinked versions in the supervisor branch too. Unfortunately, there's no supervisor:start, only supervisor:start_child. Luckily, all the children are dynamically started, thus we can unlink it after it's created and before it has any children added. However, I still can't get the negative_test_util:channel_writer_death_test test to pass 2010-09-06 17:35:25 +01:00
Matthew Sackman 955520a7ec Turns out to be very important to support both start_link and start variants 2010-09-06 17:17:44 +01:00
Matthew Sackman 1a3eafcf08 Support older API still on default 2010-09-06 12:09:00 +01:00
Matthew Sackman ef2faba6b1 Make amqp_connection API more OTPish and better abstracted (changes lifted from bug 22993) 2010-09-06 11:47:01 +01:00
Vlad Alexandru Ionescu 481bba47fd forgot to update amqp_dbg 2010-09-03 13:27:26 +01:00
Vlad Alexandru Ionescu cac9609396 fixing merge conflicts; more consistent children types in supervision hierarchy; removing amqp_channel_util module entirely; better error handling code; other smaller fixes 2010-09-03 13:20:19 +01:00
Vlad Alexandru Ionescu e9b1b31bb4 merging in from bug22993 2010-09-02 12:44:48 +01:00
Vlad Alexandru Ionescu ab2980beee removing supervisor info item in connections; updating amqp_dbg 2010-09-01 18:27:43 +01:00
Vlad Alexandru Ionescu e97750e98b debitroting; moving all children start code in the supervisors; other small fixes 2010-09-01 16:30:42 +01:00
Vlad Alexandru Ionescu 2b9a3b8d33 fixing failing tests 2010-08-05 16:33:15 +01:00
Vlad Alexandru Ionescu 6d1ae7a0d2 minor amqp_dbg fix 2010-08-05 13:00:35 +01:00
Vlad Alexandru Ionescu 8b8056bb92 merging in from bug22993 2010-08-04 15:09:21 +01:00
Vlad Alexandru Ionescu fae295c7e9 fixing leftovers; need to find a way to get connection exit reason if it fails to start and return it as {error, Reason} from amqp_connection_sup:start_link/2 2010-08-02 18:15:59 +01:00
Vlad Alexandru Ionescu caedde16fc supervision children are now properly started in supervisor's init; adding amqp_connection_specific_sup 2010-08-02 15:24:23 +01:00
Vlad Ionescu c0f0decf2e adding amqp_channels_manager; adding two tests for opening and closing channels repeatedly and in paralel; removing some duplication between network and direct connections; other refactorings; other small fixes 2010-07-30 15:24:17 +01:00
Vlad Ionescu eca87dda95 cosmetic 2010-07-26 20:05:32 +01:00
Vlad Ionescu ed20971d86 fixing some merge conflicts; moving heartbeat from main reader to the network connection module - the two heartbeating processes are added to amqp_connection_sup; other small fixes 2010-07-26 18:23:39 +01:00
Vlad Ionescu e51fb6db69 major refactoring to supervise all processes; amqp_connection_{network,direct} processes now lives under amqp_connection_sup which uses amqp_infra_sup; amqp_channel now lives under amqp_channel_sup which uses amqp_infra_sup; amqp_channel_sup lives under amqp_channel_sup_sup which lives under amqp_connection_sup; adapting all processes to work with the supervision model; changing the way to start connections in the API; other smaller fixes 2010-07-26 17:31:21 +01:00
Vlad Ionescu 5d367771e3 amqp_main_reader is now a gen_server 2010-07-21 17:26:47 +01:00
Vlad Ionescu 5c33dc5218 cleaning up all makefiles in the client; make -j works; client does not do unnecessary builds anymore; source tarball makefile does not contain unnecessary make targets (some of which would not work); other smaller makefile fixes 2010-07-19 13:07:33 +01:00
Matthew Sackman b9a2c039ac Merging bug 22587 into default 2010-06-30 17:57:26 +01:00
Simon MacMullen d67eb5d572 Unabuse scope for Tag 2010-06-30 15:13:37 +01:00
Simon MacMullen 3c8bd29b93 Support default consumer in the Erlang client. 2010-06-29 13:22:09 +01:00
Emile Joubert 7badc9a5a7 Match symbolic constant for code instead of advisory text in test 2010-06-25 11:46:33 +01:00
Emile Joubert 5f30a15be1 Synchronise test constant with broker value 2010-06-24 15:12:31 +01:00
Emile Joubert b45e014201 Report connect setup errors as likely authentication failure 2010-05-24 15:51:25 +01:00
Matthew Sackman 32c5e13de5 Merging bug 21939 into default 2010-03-05 17:30:06 +00:00
Matthew Sackman e9b9a8b4dd Merging bug 21998 ⇨ default 2010-02-17 12:02:19 +00:00
Vlad Ionescu 803f66298c adding amqp_connection:infos/2, which can be used to get server_properties, which is now stored in the connection's state 2010-02-13 19:31:05 +00:00
Vlad Ionescu 4f27d914ad adding c_ variants of the tracing functions; refactoring 2010-02-11 17:58:51 +00:00
Vlad Ionescu 5226b48d01 cosmetic 2010-02-10 20:28:06 +00:00
Vlad Ionescu 0f9e941281 adding comments; changing lists:foreach to list comprehensions; other cosmetic 2010-02-10 17:12:29 +00:00
Vlad Ionescu 7e04b3dbb1 adding tests for shortstr overflow 2010-01-29 19:55:29 +00:00
Vlad Ionescu 440cdff555 adding test/amqp_dbg 2010-01-28 17:50:30 +00:00
Matthew Sackman 38c483c6de Backed out the changes that were on branch bug22056 2010-01-25 17:14:28 +00:00
Vlad Ionescu 84ce30c18d fixing old example in comment 2010-01-03 15:04:11 +04:00
Matthew Sackman bbb094079a Remove channel:subscribe totally, and instead make sure that channel:call(#'basic.consume'{}...) works correctly. The consume-ok is no longer sent. If you want to get another process to receive messages then send them the channel pid and get them to do the :call(#'basic.consume'{}...). This removes a wart from the API, removes a POA and makes things more consistent. 2009-11-27 17:14:09 +00:00
Matthew Sackman 8b3f869b21 Added a test. However, can't actually verify that the negotiation was correct as there's no way of getting the params back from the network process. Oh well. Test does pass. 2009-11-23 17:09:58 +00:00
Vlad Ionescu 3bf9936704 moving rpc server and client state records to their respective modules; adding rpc_test to the direct client suite as well 2009-10-28 16:59:36 +00:00
Ben Hood 6f096d3205 Merged bug21698 into default 2009-10-20 21:33:04 +01:00
Vlad Ionescu 1ff98dcc84 fixing failing basic_qos_test 2009-10-16 19:23:10 +01:00
Vlad Ionescu cd418bc188 major redesign of amqp_connection's closing mechanism 2009-10-14 16:37:46 +01:00
Ben Hood c483cc2a89 Fixed spelling 2009-09-30 03:03:08 +01:00
Vlad Ionescu ff62169865 renaming channel_death_test to channel_writer_death_test; adding new channel_death_test, which can be run in both network and direct cases 2009-09-29 20:46:55 +01:00
Vlad Ionescu 3304079373 an internal error in the channel process now takes the entire connection down 2009-09-28 14:48:19 +01:00
Vlad Ionescu 191fc90cea merging from default 2009-09-10 13:35:04 +01:00
Vlad Ionescu 1d46406bac fixing merge conflict 2009-09-06 20:35:07 +01:00
Vlad Ionescu c322a9fa94 updating from default 2009-09-06 20:32:35 +01:00
Ben Hood 2500df69e9 Refactored the channel registration in the connection process so that it reads better and allocates channel numbers in a more sensible fashion. channel processes that die on the client are trapped and the connection process just ignores them, i.e. the channel number is not de-allocated, because that would free up the channel number and hence confuse the server. This bug requires 21522 and 21533 to land before this can be seriously tested. 2009-09-02 01:32:24 +01:00
Ben Hood b3fa3fb431 Added shutdown statements to tests that were leaking processes 2009-09-01 16:21:31 +01:00
Ben Hood 684312d70e Introduced a closing state when the broker initiates the shutdown. This allows
the socket reader process to wait for the broker to close the socket (or
timeout) before stopping amqp_connection process. Squirrel the close
reason away in the state of the connection process. The resulting EXIT message
from the reader process is trapped and then the close reason that was
squirreled away can is used as the EXIT reason of the amqp_connection
process.

Because the amqp_channel process links to the connection process, it will
receive the same EXIT reason and return it to whatever application
process is using the amqp_channel process.

The network driver sees some minor defintion cleanups as well as removing
the link between the amqp_channel_process and the rabbit_framing_channel
process -
this is because the amqp_channel is not able to sensibly handle any exit
the framing channel will send.

Made the teardown routine assert that the channel and connection
processes are in actual fact dead after having closed the connection for every test.

The connection process does not shutdown synchronously.

Also put some repetitions into the tests that were experiencing race conditions.
2009-09-01 13:47:40 +01:00
Ben Hood 0b1bda4bf2 Merged default into bug21404 2009-08-28 13:33:57 +01:00
Ben Hood ec5fb387e0 Merged default into bug21488 2009-08-27 12:34:48 +01:00
Ben Hood c6b9f23db7 Connection level error in the direct case now is propagated to the channel process 2009-08-27 12:31:54 +01:00
Ben Hood f6098ac401 Better assertion about reason for channel closing 2009-08-27 09:53:22 +01:00
Ben Hood 7a82974fc7 Merged default into bug21495 2009-08-26 18:12:42 +01:00
Ben Hood aac499becb Merged default into bug21404 2009-08-26 18:07:20 +01:00
Ben Hood 8181d3ecd2 Cosmetic 2009-08-26 18:01:56 +01:00
Ben Hood 93feac8784 Cherry picked old version of bug21488 and applied it to reincarnation 2009-08-26 17:59:39 +01:00
Matthew Sackman 2bcad96b6c merge in from default 2009-08-26 16:51:27 +01:00
Ben Hood 5cd717433e Merged default into bug21493 2009-08-26 13:54:34 +01:00
Ben Hood 749bd7bb6b Savepoint, need to look into another bug first 2009-08-26 13:25:23 +01:00
Paul Jones 9f4915447e Changed test cases to use the reduced-arity methods 2009-08-26 13:07:32 +01:00
Paul Jones 764ec82a46 Added test cases to validate call functionality 2009-08-26 12:42:33 +01:00
Ben Hood 37782188e8 Got rid of all io:format calls 2009-08-25 23:32:10 +01:00
Matthew Sackman f33199844a merging in from default 2009-08-25 14:25:07 +01:00
Matthew Sackman ee63ef3a3e merging in from default 2009-08-25 14:00:34 +01:00
Paul Jones f7a45c6e1a Merged bug21309 into default 2009-08-25 13:30:58 +01:00
Ben Hood 11520ee39b Split makefiles out a little more so that when you use the source tarball, all you need to do is run 'make test', provided that you have a broker runningi already. 2009-08-22 17:49:59 +01:00
Ben Hood 39cc4826cd Ooops :-) 2009-08-21 19:32:10 +01:00
Ben Hood c512cfa057 Got all tests working 2009-08-21 19:15:27 +01:00
Ben Hood 1a74aa3d38 Deleted all references to lib_amqp, still need to get rid of the actual module 2009-08-21 01:09:12 +01:00
Ben Hood 5e2f5d9d87 Deleted some more stuff 2009-08-20 23:40:56 +01:00
Ben Hood 9885f7a673 Merged default into bug21336 2009-08-19 10:11:31 +01:00
Ben Hood 5abe4e847d Minor refactoring 2009-08-19 00:10:47 +01:00
Ben Hood 1debc27be0 Merged default into bug20896 2009-08-18 23:07:38 +01:00
Ben Hood 80697b3b1c rabbit.hrl and rabbit_framing.hrl now get included in amqp_client.hrl 2009-08-18 18:21:04 +01:00
Ben Hood 6a77dfc2ba Merged default into bug20896 2009-08-18 17:29:34 +01:00
Ben Hood 6e07c58f38 Merged bug21406 into default 2009-08-14 18:28:29 +01:00
Matthias Radestock 83720498d7 introduce #amqp_connection_parameters
containing sensible defaults. This is used in all the
amqp_connection:start* methods, replacing the bewildering variety of
previou start* functions.
2009-08-13 07:33:25 +01:00
Matthias Radestock 8edb1e1626 test roundtripping of large(ish) content
as well as testing async_publish
2009-08-09 01:29:27 +01:00
Matthias Radestock a31de9dd22 increase timeout to prevent test from failing on tanto 2009-08-09 01:26:49 +01:00
Matthias Radestock 5a7e2d3a4c minor test refactoring 2009-08-09 01:00:46 +01:00
Vlad Ionescu 20d659450c merging from default 2009-08-06 18:07:04 +01:00
Ben Hood 118509202f Merged default into bug21305 2009-08-06 12:58:19 +01:00
Ben Hood deae93c1d8 Deleted debug statement 2009-08-06 12:56:37 +01:00
Ben Hood da3d186f7b Merged default into bug21305 2009-08-05 19:53:45 +01:00
Ben Hood 2284b6005b Merged default into bug21335 2009-08-05 19:35:05 +01:00
Ben Hood 206bb5b67f Merged bug21234 into default 2009-08-05 19:26:22 +01:00
Ben Hood 861d2e8f2a Introduced amqp_msg record to be friendlier to higher level code 2009-08-05 14:17:34 +01:00
Ben Hood f719b4c549 Found out that you cannot source a header file from inside an archive, so
basically what we're going to have to do is to explode the archive if you want
to compile against it. Given this, it is probably a better idea to have it
reside in a separate deps directory as opposed to the dist dir where it was
previously located.
2009-08-04 18:45:36 +01:00
Matthew Sackman 855c7fe475 actually bother to verify certs! 2009-08-04 18:03:06 +01:00
Matthew Sackman 2fd641ff80 modifications to the erlang client in light of changes to the location and structure of the certificates 2009-08-04 14:15:52 +01:00
Ben Hood c96056ce31 Added server header files into the common bundle.
Added the common bundle to the load path of the compiler so that you don't
need to have the server installed to compile the client.
2009-08-04 13:35:10 +01:00
Matthew Sackman a277b5c8e5 I think this is all right now. Note that we are creating certs on demand _for the client_ as it would be a silly idea to use the same certs for the server and client. 2009-07-27 15:34:02 +01:00
Matthew Sackman 265ecdd1d5 just merging in from 21234, will make work next... 2009-07-27 14:30:31 +01:00
Vlad Ionescu 357a3988b0 fixing small bugs; making sure user in non_existent_user_test does not exist; making sure vhost in non_existent_vhost_test does not exist 2009-07-25 17:20:44 +01:00
Vlad Ionescu 5552d24244 adding negative test for user with no permissions 2009-07-25 16:52:17 +01:00
Vlad Ionescu 0e54440a1b merging from bug21234 2009-07-25 16:21:23 +01:00
Vlad Ionescu 9cac0c407f make sure queue is empty after consume in pub_and_close_test 2009-07-25 16:08:05 +01:00
Vlad Ionescu be4930d24e removing symlink to server creation; changing the way the broker is run; tests are now run via erl_call to rabbit node 2009-07-24 15:16:49 +01:00
Vlad Ionescu 2efcc2bad3 removing some leftover junk 2009-07-23 13:14:13 +01:00
Vlad Ionescu 6c57bf78f6 adding negative tests for invalid user, invalid password and invalid vhost; furnishing amqp_connection:start_network calls 2009-07-23 13:07:22 +01:00
Vlad Ionescu ac9301a8c2 channel and writer are now synced; removing test_pub_and_close make target; adding pub_and_close_test_ to network_client_SUITE; removing spammer from pub_and_close_test 2009-07-22 16:33:07 +01:00
Vlad Ionescu f1e277339d fixing a merge conflict; pub_and_close_test in a separate make target; previous all_tests make target renamed to test_suites and all_tests_coverage to test_suites_coverage; other smaller tweaks 2009-07-22 11:36:27 +01:00
Essien Ita Essien f6fc065328 IANA assigned port number for AMQP over TLS/SSL is 5671 2009-07-21 15:37:13 +01:00
Essien Ita Essien e11543be87 Merge with upstream. Update start_network to support SSL options 2009-07-21 15:34:00 +01:00
Vlad Ionescu c674e6b1ed changing amqp_channel:get_writer_status to amqp_channel:is_waiting; fixing network_client_SUITE:pub_and_close_test; rewriting amqp_connection:get_channel_pids 2009-07-21 13:50:56 +01:00
Vlad Ionescu e996274833 merging from default 2009-07-21 12:34:08 +01:00
Essien Ita Essien b67d7cb40f Update test suite to use new API and fixup bug in amqp_connection
All tests pass now
2009-07-21 09:48:07 +01:00
Essien Ita Essien 263fa7e894 Merge with upstream. Port can now explicitly specified 2009-07-21 09:42:19 +01:00
Ben Hood 2c3bdaf385 Merging bug19985 into default (again).
If you're wondering why this this has happened again, read the corresponding
bug report. Basically it seemed easier to just re-merge than to extract the
patch onto a separate branch.
2009-07-17 18:55:08 +01:00
Ben Hood 44e5583e07 Merged default back into bug20539 2009-07-15 16:51:56 +01:00
Essien Ita Essien f8b77d5cc7 Move ssl tests suite into tests folder 2009-07-12 21:12:26 +01:00
Vlad Ionescu 7cc998d97a fixing dependencies in makefile targets 2009-07-10 16:49:40 +01:00
Vlad Ionescu 80c3941dda adding port number as optional parameter to start_connection; removing getting port number from env var 2009-07-10 15:45:27 +01:00
Vlad Ionescu ebf1351cfb adding pub_and_close_test in network_client_SUITE 2009-07-10 13:44:32 +01:00
Vlad Ionescu 4096c351cf merging from default 2009-07-10 13:24:57 +01:00
Vlad Ionescu 54d5c6c27d renaming tests/ to test/; renaming test suite files to xx_SUITE.erl 2009-07-06 15:58:36 +01:00
simon@lshift.net 4da5d3047f Bug 17141: Add test coverage checking. Necessitates moving all erlang
files to src/.
2007-10-03 16:13:53 +00:00
simon@lshift.net 4713212b04 disapproval of revision '18de103015dd6f8e87c4165b0fa8381319169cf2' 2007-10-03 16:08:21 +00:00
simon@lshift.net 267f95b59c Bug 17118: Add test coverage checking. Needed to move all the test code into
src/ to do this as the cover library only looks for source in src/.
2007-10-02 14:29:03 +00:00
simon@lshift.net 635736c19b Bug none: Moving rpc handler to permit merging 2007-10-04 10:38:12 +00:00
0x6e6562@gmail.com acb8aa9fea Added initial test for rpc handling 2007-10-03 21:44:46 +00:00
simon@lshift.net e2b6b74355 Bug 17118: s/rabbit/rabbitmq_server/ to find header files. 2007-10-01 16:44:56 +00:00
0x6e6562@gmail.com ed17bbf119 Changed rpc/send to call/cast 2007-10-01 07:54:54 +00:00
0x6e6562@gmail.com d83dba2615 Separated amqp_client from the rabbit tree 2007-09-30 19:52:07 +00:00
0x6e6562@gmail.com ad7329aad1 Initial checkin 2007-09-13 16:06:53 +00:00