Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

DTR

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

DTR

  • 0.0.2
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

= DTR -- Distributed Test Runner

Supporting DTR version: 0.0.x

This package contains DTR, a distributed test runner program for decreasing build time.

DTR has the following features:

  • Run tests in mutli processes/machines.

  • Hot plug distributed runners.

  • Runtime injection, all tests run in same environment including TestRunner.

DTR works in three parts: DTR Server, Runner and Test Suite Injection.

  • DTR Server is a Rinda Server which allows DRb services and clients to automatically find each other without knowing where they live.

  • Runner is a DRb service host on distributed machines to run tests.

  • Test Suite Injection works by loading 'dtr/inject_with_svn.rb' with all test files.

DTR only supports Subversion to update codebase now, you may need to consider using sychronize tools (likes rsync(http://samba.anu.edu.au/rsync/)) to synchronize project files between machines.

== Download

The latest version of DTR can be found at

== Installation

=== Normal Installation

You can install DTR with the following command.

% ruby install.rb

from its distribution directory.

=== GEM Installation

Download and install DTR with the following.

gem install --remote dtr

=== Running the DTR Test Suite

If you wish to run the unit and functional tests that come with DTR:

  • CD into the top project directory of dtr.

  • Type one of the following:

    rake # You need a version of rake installed

== Online Resources

== DTR References

== Simple Example

Once installed, you can run DTR server anywhere:

% dtr -s

After server started, you can run DTR runner at your project directory as follows:

% dtr --server_address dtr_server_ip -r runner_name

Type "dtr --help" for an up-to-date option summary. Invoking dtr without any options causes dtr to run with option '--server_address localhost'

Most of time your project test suite need setup environment before run tests, you can set setup command by option '--setup', for example:

% dtr --server_address dtr_server_ip --r runner1 --setup "rake db:test:prepare"

At last, you need to add 'dtr/inject_with_svn.rb' into test_files of your test task in your Rakefile, and for load it, you also need add dtr lib path:

require 'dtr'

Rake::TestTask.new(:dtr_tests) do |t| t.libs << DTR.lib_path t.test_files = FileList['dtr/inject_with_svn.rb', 'test/*test.rb'] t.warning = false t.verbose = false end

== Run tests in multi-processes on one machine

In your Rakefile:

require 'dtr/raketasks'

DTR::MPTask.new :test do |t| t.test_files = FileList['test/*test.rb'] t.processes = 2 #default is 2 end

== Credits

[Josh Price] For fixing tests packer in release 0.0.1.

[Wang Pengchao] For share of lots of ideas.

== License

DTR is available under an Apache License Version 2.

== Support

The DTR homepage is http://dtr.rubyforge.org. You can find the DTR RubyForge page at http://rubyforge.org/projects/dtr.

Feel free to submit commits or feature requests. If you send a patch, remember to update the corresponding unit tests. If fact, I prefer new feature to be submitted in the form of new unit tests.

For other information, feel free to ask on the ruby-talk mailing list or contact mailto:swing1979@gmail.com.

== Usage

DTR client is invoked from the command line using:

% dtr [options ...]

Options are: -s, --server Start DTR service server. There must be a DTR server running. -r runner1_name,runner2_name Start DTR test runner agent. The name should be uniq of all runners. Every runner will be start in different process. The daemons gem must be installed, when start multiple runners -i, --setup COMMAND Set the command for initializing test environment for test runner, the default is no setup command -a, --server_address ADDRESS Set server address. The default is 'localhost'. It should be domain name or ip address, for example: 192.168.0.1 -D, --daemon Start server/runners in daemon mode. The daemon gem must be installed -S, --stop_server Stop server run in daemon mode. -R, --stop_runners Stop runners run in daemon mode. -d, --debug Output debug log -v, --version Show version -h, --help Show this help doc

= Other stuff

Author:: Li Xiao swing1979@gmail.com Requires:: Ruby 1.8.6 or later License:: Copyright 2007 by Li Xiao. Released under an Apache License 2. See the LICENSE file included in the distribution.

== Warranty

This software is provided "as is" and without any express or implied warranties, including, without limitation, the implied warranties of merchantibility and fitness for a particular purpose.

FAQs

Package last updated on 16 Aug 2009

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc