Distributed testing framework
Go to file
Nick Gauthier 5b53276af6 broke up ssh connection to a target and options, so we can pass options through to rsync (no rsync yet) 2010-02-09 09:56:06 -05:00
lib broke up ssh connection to a target and options, so we can pass options through to rsync (no rsync yet) 2010-02-09 09:56:06 -05:00
test replaced echo script with hello script for ssh testing. 2010-02-06 16:23:52 -05:00
.document Initial commit to hydra. 2010-01-20 11:58:56 -05:00
.gitignore Initial commit to hydra. 2010-01-20 11:58:56 -05:00
LICENSE Initial commit to hydra. 2010-01-20 11:58:56 -05:00
README.rdoc added rake tasks and config reading. expanded documentation 2010-02-06 19:56:37 -05:00
Rakefile broke up ssh connection to a target and options, so we can pass options through to rsync (no rsync yet) 2010-02-09 09:56:06 -05:00
TODO updated TODO with current plans 2010-02-07 19:45:42 -05:00
VERSION Version bump to 0.8.0 2010-02-06 19:56:46 -05:00
caliper.yml added caliper config file 2010-02-04 11:31:45 -05:00
hydra.gemspec broke up ssh connection to a target and options, so we can pass options through to rsync (no rsync yet) 2010-02-09 09:56:06 -05:00

README.rdoc

= Hydra

Spread your tests over multiple machines to test your code faster.

== Description

Hydra is a distributed testing framework. It allows you to distribute
your tests locally across multiple cores and processors, as well as
run your tests remotely over SSH.

Hydra's goals are to make distributed testing easy. So as long as
you can ssh into a computer and run the tests, you can automate
the distribution with Hydra.

== Usage

In your rakefile:

  require 'hydra'
  require 'hydra/tasks'

  Hydra::TestTask.new('hydra') do |t|
    t.add_files 'test/unit/**/*_test.rb'
    t.add_files 'test/functional/**/*_test.rb'
    t.add_files 'test/integration/**/*_test.rb'
  end

Then you can run 'rake hydra'.

== Configuration

Place the config file in the main project directory as
'hydra.yml' or 'config/hydra.yml'.

  workers:
    - type: local
      runners: 2
    - type: ssh
      connect: user@example.com -p3022
      directory: /absolute/path/to/project
      runners: 4

The "connect" option is passed to SSH. So if you've setup an
ssh config alias to a server, you can use that.

The "directory" option is the path for the project directory
where the tests should be run.

The "runners" option is how many processes will be running
on the remote machine. It's best to pick the same number
as the number of cores on that machine (as well as your
own).

== Copyright

Copyright (c) 2010 Nick Gauthier. See LICENSE for details.