Path: | docs/RunningTests.textile |
Last Update: | Wed Apr 17 05:04:02 +0000 2013 |
# @title Ruby AMQP gem: Running tests
h1. Running amqp gem test suite
h2. About this guide
This guide is for people who want to contribute to amqp gem development. It has no relevant information for those who want to build applications using the library.
This work is licensed under a <a rel="license" href="Creative">creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported License</a> (including images & stylesheets). The source is available "on Github":github.com/ruby-amqp/amqp/tree/master/docs.
h2. Covered versions
Not applicable.
h2. Canonical repository
Since late 2010, the canonical amqp gem repository is at "github.com/ruby-amqp/amqp":github.com/ruby-amqp/amqp and *not tmm1/amqp*.
h2. Initial setup
amqp gem currently uses recent releases of RabbitMQ for automated tests. Broker installation is described in the {file:docs/GettingStarted.textile Getting started} guide and on "rabbitmq.com":www.rabbitmq.com/install.html. Once the broker is running, the only other step is to run
<pre> ./bin/set_test_suite_realms_up.sh </pre>
that will set up vhosts and users we test authentication and authorization against. Please note that the script uses `rabbitmqctl` tool and in the server environment (for example, a virtual instance in the cloud) depending on your OS and/or distribution of choice, that tool may or may not be accessible to your OS user, so pay attention to that.
h2. Dependencies
Dependencies are managed by Bundler. So begin with
<pre> gem install bundler </pre>
and then, from the root of the repository run
<pre> bundle install </pre>
and you are good to go.
h2. Running spec examples
During development, it is sufficient to just use
<pre> bundle exec rspec -c ./spec </pre>
or replace ./spec with an individual file you want to run.
h2. Continuous integration
CI happens in two steps:
* Clean up *.rbc files produced by "Rubinius":http://rubini.us. * Run the whole test suite
For that, we use Rake:
<pre> rake spec:ci </pre>
Thanks to the excellent "Travis CI":travis-ci.org project, we run test suites across multiple Ruby implementations/versions and 2 EventMachine versions.
h2. Authors
This guide was written by "Michael Klishin":twitter.com/michaelklishin and edited by "Chris Duncan":twitter.com/celldee.
h2. Tell us what you think!
Please take a moment and tell us what you think about this guide "on Twitter":twitter.com/rubyamqp or "Ruby AMQP mailing list":groups.google.com/group/ruby-amqp: what was unclear? what wasn‘t covered? maybe you don‘t like guide style or grammar and spelling are incorrect? Readers feedback is key to making documentation better.
If mailing list communication is not an option for you for some reason, you can "contact guides author directly":michael@novemberain.com?subject=amqp%20gem%20documentation
<div id="disqus_thread"></div> <script type="text/javascript">
/* * * CONFIGURATION VARIABLES * * */ var disqus_shortname = 'rubyamqpdocs'; // required: replace example with your forum shortname var disqus_developer = 0; // set to 1 on local machine for testing comments var disqus_identifier = 'amqp_running_tests_textile'; var disqus_url = 'http://rdoc.info/github/ruby-amqp/amqp/master/file/docs/RunningTests.textile'; /* * * DON'T EDIT BELOW THIS LINE * * */ (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })();
</script>