Git Product home page Git Product logo

bolt's Introduction

NOTE: Bolt is currently an experiment, so don’t expect magic from it yet :) It might crash at any time. If it does not work for you, please report an issue at http://github.com/marcinbunsch/bolt/issues with a description of the error and a stack trace (if possible). Thanks!

Bolt – fast autotest alternative

Welcome to Bolt!

Bolt is a merge of several gems aimed at producing a fast, stable and easy to use version autotest.

What’s the main difference? First of all, it does not use rakes for running test. Instead, it loads the environment and runs the tests within the main process instantly, reloading the changed files only.

When working with autotest, I was frustrated by the delay of the environment being loaded with every test run. And when trying to use mislav-rspactor it turned out it does not work with Mac OS X 10.4 (Tiger). So I decided to go ahead and make my own gem which would take the best elements of all these gems and work on my machine.

This is still in experimental phase, so all feedback is appreciated.

It takes solutions from several gems:

  • sentientmonkey-autotest-notifyosd – notify osd usage
  • mislav-rspactor – inspiration, structure and growl notifier
  • autotest – obviously. Whole concept, parts of generic listener
  • Roman2K-rails_test_serving – concept of running tests with preloaded environment, elements of test::unit runner

Installation

	gem sources -a http://gems.github.com
	sudo gem install marcinbunsch-bolt 

Running

Cd into the folder you want bolt to run in and type ‘bolt’

Contributors

Copyright

  • autotest-notifyosd – sentientmonkey
  • autotest – ZenTest
  • rails-test-serving – Roman2K
  • rspactor – Mislav Marohnić, Andreas Wolff, Pelle Braendgaard
  • Icons by DryIcons http://dryicons.com

bolt's People

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

cziko

bolt's Issues

Issue with workling.

The famous bolt is not working that well with workling. What's that all about dude?

** Starting Bolt...
** Rails found, loading adapter
/home/cziko/workspace/video_distributor/trunk/vendor/plugins/workling/lib/workling.rb:131:in config': config/workling.yml could not be loaded. check out README.markdown to see what this file should contain. (Workling::ConfigurationError) from /home/cziko/workspace/video_distributor/trunk/vendor/plugins/workling/init.rb:3:inevaluate_init_rb'
from /usr/local/lib/ruby/gems/1.8/gems/rails-2.1.1/lib/rails/plugin.rb:95:in evaluate_init_rb' from /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/active_support/core_ext/kernel/reporting.rb:11:insilence_warnings'
from /usr/local/lib/ruby/gems/1.8/gems/rails-2.1.1/lib/rails/plugin.rb:91:in evaluate_init_rb' from /usr/local/lib/ruby/gems/1.8/gems/rails-2.1.1/lib/rails/plugin.rb:44:inload'
from /usr/local/lib/ruby/gems/1.8/gems/rails-2.1.1/lib/rails/plugin/loader.rb:33:in load_plugins' from /usr/local/lib/ruby/gems/1.8/gems/rails-2.1.1/lib/rails/plugin/loader.rb:32:ineach'
from /usr/local/lib/ruby/gems/1.8/gems/rails-2.1.1/lib/rails/plugin/loader.rb:32:in load_plugins' from /usr/local/lib/ruby/gems/1.8/gems/rails-2.1.1/lib/initializer.rb:292:inload_plugins'
from /usr/local/lib/ruby/gems/1.8/gems/rails-2.1.1/lib/initializer.rb:142:in process' from /usr/local/lib/ruby/gems/1.8/gems/rails-2.1.1/lib/initializer.rb:97:insend'
from /usr/local/lib/ruby/gems/1.8/gems/rails-2.1.1/lib/initializer.rb:97:in run' from /home/cziko/workspace/secret_name/trunk/config/environment.rb:13 from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:ingem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in require' from ./test/test_helper.rb:2 from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:ingem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in require' from /usr/local/lib/ruby/gems/1.8/gems/bolt-0.2.9/lib/bolt/adapters/rails.rb:14 from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:ingem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in require' from /usr/local/lib/ruby/gems/1.8/gems/bolt-0.2.9/bin/bolt:11 from /usr/local/bin/bolt:19:inload'
from /usr/local/bin/bolt:19

First run

It would be useful to run all the tests when starting bolt.

Always errors and quits after first change detected

Test unit tests, running bolt in the root of the rails app, it starts up fine but as soon as a test/file is changed it throws the following exception and quits:

** Rails found, loading environment
** Starting Bolt...
/opt/local/lib/ruby/gems/1.8/gems/marcinbunsch-bolt-0.2.8/lib/bolt/listeners/osx.rb:21:in `initialize': no block given (LocalJumpError)
from /opt/local/lib/ruby/gems/1.8/gems/marcinbunsch-bolt-0.2.8/lib/bolt/listeners/osx.rb:58:in `call'
from /opt/local/lib/ruby/gems/1.8/gems/marcinbunsch-bolt-0.2.8/lib/bolt/listeners/osx.rb:58:in `CFRunLoopRun'
from /opt/local/lib/ruby/gems/1.8/gems/marcinbunsch-bolt-0.2.8/lib/bolt/listeners/osx.rb:58:in `run'
from /opt/local/lib/ruby/gems/1.8/gems/marcinbunsch-bolt-0.2.8/lib/bolt/listeners/osx.rb:23:in `initialize'
from /opt/local/lib/ruby/gems/1.8/gems/marcinbunsch-bolt-0.2.8/lib/bolt/listeners/osx.rb:36:in `new'
from /opt/local/lib/ruby/gems/1.8/gems/marcinbunsch-bolt-0.2.8/lib/bolt/listeners/osx.rb:36:in `start'
from /opt/local/lib/ruby/gems/1.8/gems/marcinbunsch-bolt-0.2.8/lib/bolt/listener.rb:68:in `listener'
from /opt/local/lib/ruby/gems/1.8/gems/marcinbunsch-bolt-0.2.8/lib/bolt/listener.rb:16:in `initialize'
from /opt/local/lib/ruby/gems/1.8/gems/marcinbunsch-bolt-0.2.8/lib/bolt.rb:66:in `new'
from /opt/local/lib/ruby/gems/1.8/gems/marcinbunsch-bolt-0.2.8/lib/bolt.rb:66:in `start'
from /opt/local/lib/ruby/gems/1.8/gems/marcinbunsch-bolt-0.2.8/bin/bolt:13
from /opt/local/bin/bolt:19:in `load'
from /opt/local/bin/bolt:19

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.