A distributed Test Suite runner for Rails, using Eventmachine and Redis
Ruby JavaScript
Pull request Compare This branch is 19 commits ahead, 1 commit behind code-mancers:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
spec
.document
.gitignore
Gemfile
Gemfile.lock
LICENSE.txt
README.rdoc
Rakefile
TODO
VERSION
borg-0.0.33.gem
borg-0.0.34.gem
borg-0.0.35.gem
borg-0.0.37.gem
borg-0.0.39.gem
borg.gemspec

README.rdoc

Borg

Borg is a distributed test runner for running you unit/functionals tests, specs or cucumber scenarios, across a network of machines.

It is written using EventMachine and Redis and has rather very simple design at its heart. More details forthcoming..

Installation Guide

CONTENTS
1. Requirements
2. Installation procedure

1.Requirements

1. We need Redis for this setup.

Redis is an open source, advanced key-value store.
It is often referred to as a data structure server since keys can contain strings,
hashes, lists, sets and sorted sets.

2. Installation procedure

Step 1 : Choose a machine where you want to run the borg server(for instance a Server with IP 172.18.0.7 in mycase).

Step 2 : We need a Redis server for this setup. So, install redis server and run the redis server on same machine( i.e same Server with IP 172.18.0.7).

Please refer http://redis.io/ to install the redis

Step 3 : checkout your project with borg gem

Step 4 : Add a configuration file solaro/config/config.yml as per above server IP and push the code (server IP is : 172.18.0.7)

For instance

redis_ip: "172.18.0.7"
redis_port: 6379
build_server_ip: "172.18.0.7"
build_server_port: 10001
build_test_unit_processes: 3
build_cucumber_processes: 1
test_framework: "rake spec/ rake test"

Step 5 : Add a a borg_config.rb in initializers.

For instance

Borg::Config.ip = configatron.build_server_ip
Borg::Config.port = configatron.build_server_port
Borg::Config.redis_ip = configatron.redis_ip
Borg::Config.redis_port = configatron.redis_port
Borg::Config.test_unit_processes = configatron.build_test_unit_processes
Borg::Config.cucumber_processes = configatron.build_cucumber_processes
Borg::Config.test_framework = configatron.test_framework

Step4 : Go to project folder and start the Borg server (i.e Server machine) as follows

rake borg:start_server   # Start server

Step5 : Choose a Client machine and checkout project folder and run the Client

rake borg:start_client 2>&1 &

You can also run the client on the same server

Step6: Run the task rake borg:build and we can also add this task to cruise config. So it will run for every new push.

That's it!.

Contributing to Borg

* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
* Fork the project
* Start a feature/bugfix branch
* Commit and push until you are happy with your contribution
* Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.

Copyright

Copyright (c) 2011 Hemant Kumar & Karunakar. See LICENSE.txt for further details.