Giter VIP home page Giter VIP logo

guard-minitest's Introduction

Guard::Minitest

Gem Version Build Status Dependency Status Code Climate Coverage Status

Guard::Minitest allows to automatically & intelligently launch tests with the minitest framework when files are modified.

  • Compatible with minitest >= 3.0 (optimal support for 5.x).
  • Tested against Ruby 1.9.3, 2.0.0, JRuby and Rubinius (1.9 mode).

IMPORTANT NOTE: guard-minitest does not depend on guard due to obscure issues - you must either install guard first or add it explicitly in your Gemfile (see: #131 for details)

Install

Please be sure to have Guard installed before you continue.

The simplest way to install Guard::Minitest is to use Bundler.

Add Guard::Minitest to your Gemfile:

group :development do
  gem 'guard' # NOTE: this is necessary in newer versions
  gem 'guard-minitest'
end

and install it by running Bundler:

$ bundle

Add guard definition to your Guardfile by running the following command:

guard init minitest

Ruby on Rails

Spring

Due to complexities in how arguments are handled and running tests for selected files, it's best to use the following spring command:

guard "minitest", spring: "bin/rails test" do
  # ...
end

(For details see issue #130).

Rails gem dependencies

Ruby on Rails lazy loads gems as needed in its test suite. As a result Guard::Minitest may not be able to run all tests until the gem dependencies are resolved.

To solve the issue either add the missing dependencies or remove the tests.

Example:

Specify ruby-prof as application's dependency in Gemfile to run benchmarks.

Rails automatically generates a performance test stub in the test/performance directory which can trigger this error. Either add ruby-prof to your Gemfile (inside the test group):

group :test do
   gem 'ruby-prof'
end

Or remove the test (or even the test/performance directory if it isn't necessary).

Usage

Please read Guard usage doc

Guardfile

Guard::Minitest can be adapated to all kind of projects. Please read guard doc for more info about the Guardfile DSL.

Standard Guardfile when using Minitest::Unit

guard :minitest do
  watch(%r{^test/(.*)\/?test_(.*)\.rb$})
  watch(%r{^lib/(.*/)?([^/]+)\.rb$})     { |m| "test/#{m[1]}test_#{m[2]}.rb" }
  watch(%r{^test/test_helper\.rb$})      { 'test' }
end

Standard Guardfile when using Minitest::Spec

guard :minitest do
  watch(%r{^spec/(.*)_spec\.rb$})
  watch(%r{^lib/(.+)\.rb$})         { |m| "spec/#{m[1]}_spec.rb" }
  watch(%r{^spec/spec_helper\.rb$}) { 'spec' }
end

Options

List of available options

all_on_start: false               # run all tests in group on startup, default: true
all_after_pass: true              # run all tests in group after changed specs pass, default: false
cli: '--test'                     # pass arbitrary Minitest CLI arguments, default: ''
test_folders: ['tests']           # specify an array of paths that contain test files, default: %w[test spec]
include: ['lib']                  # specify an array of include paths to the command that runs the tests
test_file_patterns: %w[test_*.rb] # specify an array of patterns that test files must match in order to be run, default: %w[*_test.rb test_*.rb *_spec.rb]
spring: true                      # enable spring support, default: false
zeus: true                        # enable zeus support; default: false
drb: true                         # enable DRb support, default: false
bundler: false                    # don't use "bundle exec" to run the minitest command, default: true
rubygems: true                    # require rubygems when running the minitest command (only if bundler is disabled), default: false
env: {}                           # specify some environment variables to be set when the test command is invoked, default: {}
all_env: {}                       # specify additional environment variables to be set when all tests are being run, default: false
autorun: false                    # require 'minitest/autorun' automatically, default: true

Options usage examples

:test_folders and :test_file_patterns

You can change the default location of test files using the :test_folders option and change the pattern of test files using the :test_file_patterns option:

guard :minitest, test_folders: 'test/unit', test_file_patterns: '*_test.rb' do
  # ...
end

:cli

You can pass any of the standard MiniTest CLI options using the :cli option:

guard :minitest, cli: '--seed 123456 --verbose' do
  # ...
end

:spring

Spring is supported (Ruby 1.9.X / Rails 3.2+ only), but you must enable it:

guard :minitest, spring: true do
  # ...
end

Since version 2.3.0, the default Spring command works is bin/rake test making the integration with your Rails >= 4.1 app effortless.

If you're using an older version of Rails (or no Rails at all), you might want to customize the Spring command, e.g.:

guard :minitest, spring: 'spring rake test' do
  # ...
end

:zeus

Zeus is supported, but you must enable it. Please note that notifications support is very basic when using Zeus. The zeus client exit status is evaluated, and a Guard :success or :failed notification is triggered. It does not include the test results though.

If you're interested in improving it, please open a new issue.

If your test helper matches the test_file_patterns, it can lead to problems as guard-minitest will submit the test helper itself to the zeus test command when running all tests. For example, if the test helper is called test/test_helper.rb it will match test_*.rb. In this case you can either change the test_file_patterns or rename the test helper.

guard :minitest, zeus: true do
  # ...
end

:drb

Spork / spork-testunit is supported, but you must enable it:

guard :minitest, drb: true do
  # ...
end

The drb test runner honors the :include option, but does not (unlike the default runner) automatically include :test_folders. If you want to include the test paths, you must explicitly add them to :include.

Development

Pull requests are very welcome! Please try to follow these simple rules if applicable:

  • Please create a topic branch for every separate change you make.
  • Make sure your patches are well tested. All specs run by Travis CI must pass.
  • Update the README.
  • Please do not change the version number.

For questions please join us in our Google group or on #guard (irc.freenode.net).

Maintainer

Eric Steele

Author

Yann Lugrin

Contributors

https://github.com/guard/guard-minitest/graphs/contributors

guard-minitest's People

Contributors

arronmabrey avatar chadoh avatar cqr avatar doabit avatar e2 avatar ezkl avatar farrel avatar genericsteele avatar gma avatar grimen avatar itzki avatar japgolly avatar kejadlen avatar leemhenson avatar manewitz avatar mgarriott avatar nathany avatar oriolgual avatar pschyska avatar rizzatti avatar rmm5t avatar rymai avatar sbl avatar sbleon avatar sometimesfood avatar statianzo avatar tashicorp avatar tmichel avatar wilkerlucio avatar yannlugrin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

guard-minitest's Issues

Use spring with `bin/rake` instead of `spring rake` by default

With Rails 4.1 now including spring by default I wonder if using bin/rake by default instead of spring rake test would make setup easier.

I'm happy to work on a PR, but I think there should be a discussion first about scope, side effects, and if it's even necessary.

what to do if i'm not using 'spec' neither 'test' directories?

Hi, i'm currently not using either of those directory, and from reading guard-minitest's code i think it expects these. Any idea if there is a workaround?
I'd like to have my minitest specs in a 'spec_lib' directory, so that i can run fast /lib tests in my rails app, without requiring the entire env (I already set up rspec for rails itself)

Thanks!

Tests run twice when using Zeus

Tests are running twice when using Zeus, even when not using guard. I believe the reason is the require 'minitest/autorun' in minitest.rb. See similar discussion here: burke/zeus#269

The following fixed the code for me:

require 'guard/minitest/version'
# require 'minitest/autorun' <= remove the require

def initialize(watchers = [], options = {})
  if @options[:zeus]
    require 'minitest/unit'
    MiniTest::Unit.class_variable_set("@@installed_at_exit", true)
  end
  require 'minitest/autorun'
  ...
end

`failed_mode` option

Hi!

Would you be interested in an failed_mode option like guard-rspec's? I find it very useful.

Salute.

guard start puts me at pry prompt

hi
Given I create a new vanilla ruby project,
and write a simple spec,
and verify the spec runs with ruby spec/my_spec.rb,
then when I:
guard init minitest
and modify the Guardfile to 'know about' specs instead of 'unit tests',
and then I run 'guard start'
Guard puts me at the pry prompt.

If i simply hit then, my specs run, but then return to the pry prompt. Modifying files doesn't cause the specs to run, unless I then hit enter at the pry prompt. Any ideas if this is a bug, or there is something I'm missing in the process of setting up guard minitest?

thanks

Doesn't work with ruby 1.9.2 and minitest 2.0.2

when I save a minitest spec file I get the following error:

-e:in `require': no such file to load -- spec/ruby_password_generator_spec.rb (LoadError)

but if I run the test with ruby or rake everything works.

empty test is ran after every rails command

For some reason, whenever I run any rails command, my test suite will run, but without running any tests.

rails s (after exiting the process with ctrl-C)

$ > rails s
=> Booting WEBrick
=> Rails 4.0.0 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2013-07-22 12:11:50] INFO  WEBrick 1.3.1
[2013-07-22 12:11:50] INFO  ruby 2.0.0 (2013-02-24) [x86_64-darwin12.3.0]
[2013-07-22 12:11:50] INFO  WEBrick::HTTPServer#start: pid=4722 port=3000
^C[2013-07-22 12:11:59] INFO  going to shutdown ...
[2013-07-22 12:11:59] INFO  WEBrick::HTTPServer#start done.
Exiting
Run options: --seed 63127

# Running tests:



Finished tests in 0.000519s, 0.0000 tests/s, 0.0000 assertions/s.

0 tests, 0 assertions, 0 failures, 0 errors, 0 skips

rake db:migrate

$ > rake db:migrate
Run options: --seed 61378

# Running tests:



Finished tests in 0.000576s, 0.0000 tests/s, 0.0000 assertions/s.

0 tests, 0 assertions, 0 failures, 0 errors, 0 skips

rails c

$ > rails c
Loading development environment (Rails 4.0.0)
irb(main):001:0> exit
Run options: --seed 43552

# Running tests:



Finished tests in 0.000615s, 0.0000 tests/s, 0.0000 assertions/s.

0 tests, 0 assertions, 0 failures, 0 errors, 0 skips

Here's my environment:

  • OSX 10.8
  • Rails 4.0.0
  • Ruby 2.0.0p0

Always reports 0 tests

With guard:
screenshot from 2013-12-18 17 57 06

dbonev@dbonev:~/Workspaces/project$ be guard --debug
18:34:27 - DEBUG - Command execution: which notify-send
18:34:27 - DEBUG - Command execution: emacsclient --eval '1' 2> /dev/null || echo 'N/A'
18:34:27 - INFO - Guard is using NotifySend to send notifications.
18:34:27 - INFO - Guard is using TerminalTitle to send notifications.
18:34:27 - DEBUG - Guard starts all plugins
18:34:27 - DEBUG - Hook :start_begin executed for Guard::Minitest
18:34:27 - INFO - Guard::Minitest 2.1.3 is running, with Minitest::Unit 4.7.5!
18:34:27 - DEBUG - Hook :start_end executed for Guard::Minitest
18:34:27 - INFO - Guard is now watching at '/home/dbonev/Workspaces/project'
18:34:32 - DEBUG - Hook :run_on_additions_begin executed for Guard::Minitest
18:34:32 - INFO - Running: test/unit/some_test.rb
18:34:32 - DEBUG - Command execution: bundle exec ruby -I"test" -I"spec" -r bundler/setup -r minitest/autorun -r ./test/unit/some_test.rb -r /home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/guard-minitest-2.1.3/lib/guard/minitest/runners/old_runner.rb -e "" -- 
Loaded suite -e
Started
.....

Finished in 11.375964879989624 seconds.

5 tests, 278 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
0% passed

0.44 tests/s, 24.44 assertions/s
Coverage report generated for Unit Tests to /home/dbonev/Workspaces/project/coverage. 4148 / 7815 LOC (53.08%) covered.
Run options: --seed 51433

# Running tests:



Finished tests in 0.000422s, 0.0000 tests/s, 0.0000 assertions/s.

0 tests, 0 assertions, 0 failures, 0 errors, 0 skips

18:34:53 - DEBUG - Hook :run_on_additions_end executed for Guard::Minitest

Without guard:

dbonev@dbonev:~/Workspaces/project$ be rake test TEST=/home/dbonev/Workspaces/project/test/unit/some_test.rb
psql:/home/dbonev/Workspaces/project/db/structure.sql:29: WARNING:  => is deprecated as an operator name
DETAIL:  This name may be disallowed altogether in future versions of PostgreSQL.
Loaded suite /home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/rake_test_loader
Started
.....

Finished in 10.480250120162964 seconds.

5 tests, 278 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
0% passed

0.48 tests/s, 26.53 assertions/s
Coverage report generated for Unit Tests to /home/dbonev/Workspaces/project/coverage. 4148 / 7815 LOC (53.08%) covered.

I have removed minitest-reporters from Gemfile to eliminate it as a reason.
Guardfile:

interactor :off

guard :minitest, all_on_start: false do
  # with Minitest::Unit
  watch(%r{^test/(.*)\/?test_(.*)\.rb})
  watch(%r{^test/.+_test\.rb})
  watch(%r{^lib/(.*/)?([^/]+)\.rb})     { |m| "test/#{m[1]}test_#{m[2]}.rb" }
  watch(%r{^test/test_helper\.rb})      { 'test' }

  # Rails < 4
  watch(%r{^app/controllers/(.*)\.rb}) { |m| "test/functional/#{m[1]}_test.rb" }
  watch(%r{^app/helpers/(.*)\.rb})     { |m| "test/helpers/#{m[1]}_test.rb" }
  watch(%r{^app/models/(.*)\.rb})      { |m| "test/unit/#{m[1]}_test.rb" }
end

Tests not triggered on file change with Ruby 1.8.7

I don't know where the problem is located (guard or guard-minitest), but I can't get my guarded app to trigger test on file changes on Ruby 1.8.7. I am running on OS X, and I use minitest spec. Note that it works fine on Ruby 1.9.3

The problem is easy to reproduce with my rubyc gem:
$ rvm 1.8.7
$ git clone [email protected]:martinos/rubyc.git
$ cd rubyc
$ bundle
$ bundle exec guard

And change any spec file.

Thanks

block in process_args': invalid option: --pride (OptionParser::InvalidOption)

Getting this error with latest version and Rails 4 rc2 (I'm not specifying a pride option anywhere):

minitest-4.7.4/lib/minitest/unit.rb:1037:in `block in process_args': invalid option: --pride (OptionParser::InvalidOption)
    from /Users/xxx/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/minitest-4.7.4/lib/minitest/unit.rb:1016:in `new'
    from /Users/xxx/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/minitest-4.7.4/lib/minitest/unit.rb:1016:in `process_args'
    from /Users/xxx/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/minitest-4.7.4/lib/minitest/unit.rb:1066:in `_run'
    from /Users/xxx/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/minitest-4.7.4/lib/minitest/unit.rb:1059:in `run'
    from /Users/xxx/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/minitest-4.7.4/lib/minitest/unit.rb:795:in `block in autorun'

No notification when running with spork server

I'm not sure why, but I'm not getting any notifications. Tests run fine and I do get output in the terminal window but no growl notification. Guardfile specifies :notify => true (even thou that should be default setting, right?)

Anyway, not sure what other info might be relevant to this.

all_on_start documentation issues; doesn't work with guard-minitest

Apologies in advance if I've misunderstood something, but even though all the examples of all_on_start usage I can find are for guard-rspec, it's not at all clear to me whether this is a generic guard feature, or only for guard-rspec. Either way, it would be very helpful to have this clarified, but if it's supposed to work with e.g. guard-minitest then this is a bug report also saying that it doesn't for me. Here's my Guardfile.

Improving notifications when using spring or zeus

One thing I very quickly noticed is that when using spring or zeus the notifications are different. This is, as (is noted in the comment in the runner) because a whole separate process is doing the running, so we don't have direct access to the result data from the Minitest reporter. But I want to see if it might be possible to improve that.

Currently shelling out is done via system. Which runs the command in a sub-process and returns true or false. The result from the command is outputted in real-time to... STDOUT? Sorry, my understanding of unix systems is not nearly as good as it should be. Forgive the potential errors in my terminologyโ€”what I'm trying to say is, I can see the tests run in real-time in the terminal where guard is running.

The summary information returned from the Minitest reporter that eventually becomes the notification message looks something like this:

265 tests
526 assertions, 0 failures, 0 errors, 0 skips

Which is very similar if not identical to the last line of the output from running the specs. Which means if we captured STDOUT by shelling out with backticks rather than system, we could get the last line of the output, format it, and send it as the notification message. And the exit status of the command can be retrieved from $?.exitstatus.

I've tried this locally and it works great. It looks almost exactly the same as if spring or zeus wasn't running. The only issue is that now the output is no longer printed to the terminal, because it's being captured. The closest I could get was to capture the output, and print it, before returning it to be sent to the notifier, but then it's printed all at once after the tests have finished running, instead of real-time as they're being run.

I just spent the last hour or two researching and experimenting, but I can't quite figure out how to run the command so it both outputs to STDOUT, and also can be captured to be sent as the notification message. Any insight or ideas?

Guard-minitest does not seem to work with spring in a Rails 4 engine.

Guard-minitest does not seem to work with spring in a Rails 4 engine.

Steps to reproduce it:

rails plugin new example --mountable
cd example/
echo "gem 'guard-minitest', group: :development" >> Gemfile
bundle
bundle exec guard init minitest
bundle exec guard

Here it runs the test/example_test.rb sample test successfully:

01:27:50 - INFO - Guard is using TerminalTitle to send notifications.
01:27:50 - INFO - Guard::Minitest 2.3.0 is running, with Minitest::Unit 5.3.4!
01:27:50 - INFO - Running: all tests
Run options: --seed 27937

# Running:

.

Finished in 0.004659s, 214.6383 runs/s, 214.6383 assertions/s.

1 runs, 1 assertions, 0 failures, 0 errors, 0 skips

01:27:52 - INFO - Guard is now watching at '/Users/david/Sites/example'

Now when editing Guardfile and changing guard :minitest do to guard :minitest, spring: true do, the test is not run anymore:

01:28:45 - INFO - Run all
01:28:45 - INFO - Running: all tests

Nothing is run.

  • Uncommenting the Rails 4 watches gives the same result.
  • Adding spring to the Gemfile does not help.
  • Stubbing spring into bins after creating this config/spring.rb file:
Spring.application_root = './test/dummy'

...does not help either.

New test files are not picked up

When I add a new test file while guard is running, it is not picked up.
The output is:

16:26:26 - INFO - Running:

Frame number: 0/1
[1] guard(main)>

I think this has to do with the fact that Inspector#_all_test_files is memoized:

      def _all_test_files
        @_all_test_files ||= _test_files_for_paths
      end

When I change it to ...

      def _all_test_files
        _test_files_for_paths
      end

...new files are picked up.

How to abort when many tests are running?

When running a full test, or just a lot of tests, it doesn't seem to matter how much I bang on Ctrl-C (or Z). It's off doing it's thing in the system() call with the giant list of files passed in.

Is there any way this can be improved?

guard-minitest submits test_helper.rb to zeus

In my current project I was setting up guard-minitest with zeus. We have a test/test_helper.rb, and the default pattern test_.*, *._test, *._spec includes this file. When running all (return in guard shell), guard-minitest would submit our test_helper.rb as a test to zeus like

zeus test ./test/test_helper.rb

This broke our suite, because in test preparation we create models that only can exist once. Maybe that file name is not conventional (I've seen minitest_helper.rb somewhere else), but I don't know because I've always used rspec so far.

Maybe a note in README should be added.

Spring is required to be part of the Gemfile?

I'm trying to get spring support working and I'm a little unsure what the right setup is. Spring recommends not using bundler, because running it through bundler would be slow (and defeat the purpose). But then when I set the spring option to true, it complains that it needs to be in the Gemfile. Am I misunderstanding how to set this up?

Nil errors on empty project

Created a new project that doesn't have any tests/assertions yet.

Results in errors in MinitestNotifier, etc.

minitest isn't being ran

Note that i followed exactly what's in the README - and i end up getting this:

$ bundle exec guard -d

DEBUG (22:57:42): Command execution: emacsclient --eval '1' 2> /dev/null || echo 'N/A'
Guard could not detect any of the supported notification libraries.
Guard is now watching at '/Users/davidang/Sites/weddingnotes'
DEBUG (22:57:42): Hook :start_begin executed for Guard::Minitest
DEBUG (22:57:42): Hook :start_end executed for Guard::Minitest
DEBUG (22:57:42): Start interactor

If i type "minitest" during interactor - it will execute just fine, but then i would need to always enter "minitest" for the tests to execute all the time, kinda defeats the purpose.

Note that when i tried guard-rspec, and run guard, it works just fine, rspec will be automated.

this is my gemfile:

group :test, :development do

gem 'rspec-rails'

gem 'minitest', require: 'minitest/autorun'
gem 'capybara'

gem 'turn'

gem 'database_cleaner'
gem 'rb-fsevent', :require => false if RUBY_PLATFORM =~ /darwin/i
gem 'guard-minitest'

gem 'guard-rspec'

end

I've already commented out rspec related but it works just fine having them there.

failing or errored tests starts to placing me at the Guard prompt?!

I've used guard for quite some time now and only recently I've all of a sudden start getting put at the Guard prompt? The output is like this:

    0002 should be able to tell the amount of work clocked                FAIL
        <525> expected but was
        <0>.

        STDOUT:
        "PAIRS:   [\"monday thru thursday at 7 - 15:45\", \" \", \"in\", \"2013\"]"
        {:loaded=>false, :parses=>false, :must_have_from_at=>false, :years=>[2013], :qtrs=>[], :months=>[], :mweeks=>[], :weeks=>[], :wdays=>[], :days=>[], :durations=>[], :pits=>[], :every=>[], :every_step=>[], :start=>nil, :stop=>nil, :start_seconds=>nil, :stop_seconds=>nil, :default_range=>:year}
        {:loaded=>false, :parses=>false, :must_have_from_at=>false, :years=>[2013], :qtrs=>[], :months=>[], :mweeks=>[], :weeks=>[], :wdays=>[1, 2, 3, 4], :days=>[], :durations=>[], :pits=>[], :every=>[], :every_step=>[], :start=>"07:00", :stop=>"15:45", :start_seconds=>nil, :stop_seconds=>nil, :default_range=>:year}

  [c,i,q,r,t,#,?] 

I really could do without the [c,i,q,r,t,#,?] prompt kind of thing - but I'll be darn if I can find the setting, how to disable it :(

If I could have one push me in the right direction, I'd really appreciate it

cheers
E

My Guardfile has the standard stuff and a few env initializations - like


# A sample Guardfile
# More info at https://github.com/guard/guard#readme
interactor :off

guard 'spork', wait: 60, cucumber: false, test_unit: false, minitest: true, :minitest_env => { 'RAILS_ENV' => 'test', 'OX_ID' => '1', 'ROOT_PATH' => 'dashboards#show'  } do
  watch('config/application.rb')
  watch('config/environment.rb')
  watch('config/environments/test.rb')
  watch(%r{^config/initializers/.+\.rb$})
  watch('Gemfile')
  watch('Gemfile.lock')
  watch('test/test_helper.rb') { :minitest }
  watch(%r{features/support/}) { :cucumber }
  watch('test/factories.rb') { :minitest }
end

guard 'sporkminitest', :minitest_env => { 'RAILS_ENV' => 'test', 'OX_ID' => '1', 'ROOT_PATH' => 'dashboards#show'  } do
  # with Minitest::Unit
  watch(%r|^test/(.*)\/?test_(.*)\.rb|)
  watch(%r|^test/(.*)\/(.*)\.rb|)
  watch(%r|^lib/(.*)([^/]+)\.rb|)     { |m| "test/#{m[1]}test_#{m[2]}.rb" }
  watch(%r|^test/minitest_helper\.rb|)    { "test" }

  # with Minitest::Spec
  # watch(%r|^spec/(.*)_spec\.rb|)
  # watch(%r|^lib/(.*)([^/]+)\.rb|)     { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
  # watch(%r|^spec/spec_helper\.rb|)    { "spec" }

  # Rails 3.2
  watch(%r|^app/controllers/(.*)\.rb|) { |m| "test/controllers/#{m[1]}_test.rb" }
  watch(%r|^app/helpers/(.*)\.rb|)     { |m| "test/helpers/#{m[1]}_test.rb" }
  watch(%r|^app/models/(.*)\.rb|)      { |m| "test/models/#{m[1]}_test.rb" }  
  watch(%r|^lib/models/(.*)_(.*)\.rb|)      { |m| "test/models/#{m[1]}_test.rb" }  
end

and finally my Gemfile.lock holds

GIT
  remote: git://github.com/railsware/smt_rails.git
  revision: acb857a9166c9a41a9512c38a0b72955546d6c2e
  specs:
    smt_rails (0.2.6)
      mustache (>= 0.99.4)
      rails (>= 3.1.0)
      sprockets (>= 2.0.3)
      tilt (>= 1.3.3)

GIT
  remote: git://github.com/ryanb/nested_form.git
  revision: a25eebe8205e4e63899873b716535def6c1f5a9d
  specs:
    nested_form (0.3.2)

GIT
  remote: [email protected]:ep-wac/nordea.git
  revision: f722985a4c201234069b51281264c2e9633164b1
  specs:
    nordea (1.1.0)
      money
      tzinfo (~> 0.3.28)

GIT
  remote: https://github.com/RubyMoney/money.git
  revision: 5030b58cb721f7e56dfc431018a9f4ce05b2bd74
  specs:
    money (5.1.1)
      i18n (~> 0.6.0)

GIT
  remote: https://github.com/banister/binding_of_caller.git
  revision: 3fe01254c6a8cdfb64b7e128cb428981cd4c7d7b
  specs:
    binding_of_caller (0.7.1)
      debug_inspector (>= 0.0.1)

GEM
  remote: http://rubygems.org/
  specs:
    actionmailer (3.2.8)
      actionpack (= 3.2.8)
      mail (~> 2.4.4)
    actionpack (3.2.8)
      activemodel (= 3.2.8)
      activesupport (= 3.2.8)
      builder (~> 3.0.0)
      erubis (~> 2.7.0)
      journey (~> 1.0.4)
      rack (~> 1.4.0)
      rack-cache (~> 1.2)
      rack-test (~> 0.6.1)
      sprockets (~> 2.1.3)
    activemodel (3.2.8)
      activesupport (= 3.2.8)
      builder (~> 3.0.0)
    activerecord (3.2.8)
      activemodel (= 3.2.8)
      activesupport (= 3.2.8)
      arel (~> 3.0.2)
      tzinfo (~> 0.3.29)
    activeresource (3.2.8)
      activemodel (= 3.2.8)
      activesupport (= 3.2.8)
    activesupport (3.2.8)
      i18n (~> 0.6)
      multi_json (~> 1.0)
    ancestry (1.3.0)
      activerecord (>= 2.3.14)
    ansi (1.4.3)
    arel (3.0.2)
    awesome_print (1.1.0)
    backports (3.3.0)
    bcrypt-ruby (3.0.1)
    better_errors (0.8.0)
      coderay (>= 1.0.0)
      erubis (>= 2.6.6)
    browser_details (0.0.4)
      useragent (>= 0.4)
    builder (3.0.4)
    bullet (4.6.0)
      uniform_notifier
    capybara (2.1.0)
      mime-types (>= 1.16)
      nokogiri (>= 1.3.3)
      rack (>= 1.0.0)
      rack-test (>= 0.5.4)
      xpath (~> 2.0)
    carrierwave (0.8.0)
      activemodel (>= 3.2.0)
      activesupport (>= 3.2.0)
    carrierwave_backgrounder (0.2.1)
      carrierwave (~> 0.5)
    childprocess (0.3.9)
      ffi (~> 1.0, >= 1.0.11)
    choice (0.1.6)
    chosen-rails (0.9.13)
      coffee-rails (>= 3.2)
      railties (>= 3.0)
      sass-rails (>= 3.2)
    chronic (0.9.1)
    clear_eyes (0.1.6)
      railties (~> 3.1)
      rmagick (~> 2.13.1)
    code_analyzer (0.3.1)
      sexp_processor
    coderay (1.0.9)
    coffee-filter (0.1.3)
      coffee-script (>= 2.2.0)
      haml (< 4.0)
    coffee-rails (3.2.2)
      coffee-script (>= 2.2.0)
      railties (~> 3.2.0)
    coffee-script (2.2.0)
      coffee-script-source
      execjs
    coffee-script-source (1.6.2)
    colored (1.2)
    commonjs (0.2.6)
    daemons (1.1.9)
    database_cleaner (0.9.1)
    debug_inspector (0.0.2)
    delayed_job (3.0.5)
      activesupport (~> 3.0)
    delayed_job_active_record (0.4.4)
      activerecord (>= 2.1.0, < 4)
      delayed_job (~> 3.0)
    devise (2.2.3)
      bcrypt-ruby (~> 3.0)
      orm_adapter (~> 0.1)
      railties (~> 3.1)
      warden (~> 1.2.1)
    erubis (2.7.0)
    eventmachine (1.0.3)
    execjs (1.4.0)
      multi_json (~> 1.0)
    factory_girl (4.2.0)
      activesupport (>= 3.0.0)
    factory_girl_rails (4.2.1)
      factory_girl (~> 4.2.0)
      railties (>= 3.0.0)
    faye-websocket (0.4.7)
      eventmachine (>= 0.12.0)
    ffi (1.8.1)
    formatador (0.2.4)
    friendly_id (4.0.9)
    geokit (1.6.5)
      multi_json
    geokit-rails3 (0.1.5)
      geokit (~> 1.5)
      rails (~> 3.0)
    guard (1.8.0)
      formatador (>= 0.2.4)
      listen (>= 1.0.0)
      lumberjack (>= 1.0.2)
      pry (>= 0.9.10)
      thor (>= 0.14.6)
    guard-spork (1.5.0)
      childprocess (>= 0.2.3)
      guard (>= 1.1)
      spork (>= 0.8.4)
    guard-sporkminitest (0.0.2)
      guard
      guard-spork
      rb-fsevent
      rb-inotify
      spork-minitest
    haml (3.1.8)
    has_scope (0.5.1)
    hike (1.2.2)
    hirb (0.7.1)
    home_run (1.0.9)
    http_parser.rb (0.5.3)
    i18n (0.6.4)
    inherited_resources (1.4.0)
      has_scope (~> 0.5.0)
      responders (~> 0.9)
    interactive_editor (0.0.10)
      spoon (>= 0.0.1)
    interception (0.3)
    journey (1.0.4)
    jquery-rails (2.2.1)
      railties (>= 3.0, < 5.0)
      thor (>= 0.14, < 2.0)
    jquery-ui-rails (4.0.2)
      jquery-rails
      railties (>= 3.1.0)
    json (1.7.7)
    kaminari (0.14.1)
      actionpack (>= 3.0.0)
      activesupport (>= 3.0.0)
    less (2.3.2)
      commonjs (~> 0.2.6)
    less-rails (2.3.3)
      actionpack (>= 3.1)
      less (~> 2.3.1)
    libv8 (3.11.8.17)
    liquid (2.5.0)
    liquify (0.2.7)
      liquid (>= 2.2.2)
    listen (1.1.5)
      rb-fsevent (>= 0.9.3)
      rb-inotify (>= 0.9)
      rb-kqueue (>= 0.2)
    lumberjack (1.0.3)
    mail (2.4.4)
      i18n (>= 0.4.0)
      mime-types (~> 1.16)
      treetop (~> 1.4.8)
    meta-tags (1.4.1)
      actionpack
    meta_request (0.2.1)
      rack-contrib
      rails
    method_source (0.8.1)
    mime-types (1.17.2)
    mini_magick (3.5.0)
      subexec (~> 0.2.1)
    minitest (4.7.3)
    minitest-capybara (0.1.0)
      capybara (>= 1.0)
      minitest-matchers (>= 1.2)
    minitest-matchers (1.3.0)
      minitest (~> 4.7)
    minitest-metadata (0.4.0)
      minitest (~> 4.7)
    minitest-rails (0.9.2)
      minitest (~> 4.7)
      rails (>= 3.0)
    minitest-rails-capybara (0.9.0)
      capybara (~> 2.0)
      minitest-capybara (~> 0.1)
      minitest-matchers (~> 1.2)
      minitest-metadata (~> 0.3)
      minitest-rails (~> 0.9.1)
    minitest-spec-rails (4.7.3)
      minitest (~> 4.7)
      rails (>= 3.0)
    money-rails (0.8.1)
      activesupport (>= 3.0)
      money (~> 5.1.0)
      railties (>= 3.0)
    multi_json (1.7.2)
    mustache (0.99.4)
    mysql2 (0.3.11)
    net-dns (0.7.1)
    nokogiri (1.5.9)
    open4 (1.3.0)
    orm_adapter (0.4.0)
    paper_trail (2.7.1)
      activerecord (~> 3.0)
      railties (~> 3.0)
    poltergeist (1.2.0)
      capybara (~> 2.1.0)
      faye-websocket (~> 0.4, >= 0.4.4)
      http_parser.rb (~> 0.5.3)
    polyamorous (0.5.0)
      activerecord (~> 3.0)
    polyglot (0.3.3)
    pry (0.9.12.2)
      coderay (~> 1.0.5)
      method_source (~> 0.8)
      slop (~> 3.4)
    pry-exception_explorer (0.2.3)
      pry-stack_explorer (>= 0.4.6)
    pry-nav (0.2.3)
      pry (~> 0.9.10)
    pry-rails (0.2.2)
      pry (>= 0.9.10)
    pry-rescue (1.1.1)
      interception (>= 0.3)
      pry
    pry-stack_explorer (0.4.9)
      binding_of_caller (>= 0.7)
      pry (~> 0.9.11)
    rack (1.4.5)
    rack-cache (1.2)
      rack (>= 0.4)
    rack-contrib (1.1.0)
      rack (>= 0.9.1)
    rack-protection (1.5.0)
      rack
    rack-recaptcha (0.6.6)
      json
    rack-ssl (1.3.3)
      rack
    rack-test (0.6.2)
      rack (>= 1.0)
    rails (3.2.8)
      actionmailer (= 3.2.8)
      actionpack (= 3.2.8)
      activerecord (= 3.2.8)
      activeresource (= 3.2.8)
      activesupport (= 3.2.8)
      bundler (~> 1.0)
      railties (= 3.2.8)
    rails-erd (1.1.0)
      activerecord (>= 3.0)
      activesupport (>= 3.0)
      choice (~> 0.1.6)
      ruby-graphviz (~> 1.0.4)
    rails_best_practices (1.13.4)
      activesupport
      awesome_print
      code_analyzer
      colored
      erubis
      i18n
      ruby-progressbar
    railties (3.2.8)
      actionpack (= 3.2.8)
      activesupport (= 3.2.8)
      rack-ssl (~> 1.3.2)
      rake (>= 0.8.7)
      rdoc (~> 3.4)
      thor (>= 0.14.6, < 2.0)
    rake (10.0.4)
    rake-remote_task (2.2.1)
      open4 (~> 1.0)
      rake (>= 0.8, < 11.0)
    ransack (0.7.2)
      actionpack (~> 3.0)
      activerecord (~> 3.0)
      polyamorous (~> 0.5.0)
    rb-fsevent (0.9.3)
    rb-inotify (0.9.0)
      ffi (>= 0.5.0)
    rb-kqueue (0.2.0)
      ffi (>= 0.5.0)
    rb-readline (0.4.2)
    rdiscount (2.0.7.2)
    rdoc (3.12.2)
      json (~> 1.4)
    ref (1.0.4)
    responders (0.9.3)
      railties (~> 3.1)
    rmagick (2.13.2)
    routing_concerns (0.1.0)
      actionpack (>= 3.2.0)
      activemodel (>= 3.2.0)
      railties (>= 3.2.0)
    ruby-graphviz (1.0.9)
    ruby-progressbar (1.0.2)
    sass (3.1.21)
    sass-rails (3.2.6)
      railties (~> 3.2.0)
      sass (>= 3.1.10)
      tilt (~> 1.3)
    sexp_processor (4.2.1)
    simple_enum (1.6.4)
      activesupport (>= 3.0.0)
    sinatra (1.3.6)
      rack (~> 1.4)
      rack-protection (~> 1.3)
      tilt (~> 1.3, >= 1.3.3)
    sinatra-contrib (1.3.2)
      backports (>= 2.0)
      eventmachine
      rack-protection
      rack-test
      sinatra (~> 1.3.0)
      tilt (~> 1.3)
    sinatra-reloader (1.0)
      sinatra-contrib
    slim (1.3.8)
      temple (~> 0.6.3)
      tilt (~> 1.3.3)
    slop (3.4.5)
    spoon (0.0.3)
      ffi
    spork (0.9.2)
    spork-minitest (0.0.3)
      spork
    sprockets (2.1.3)
      hike (~> 1.2)
      rack (~> 1.0)
      tilt (~> 1.1, != 1.3.0)
    squeel (1.0.18)
      activerecord (~> 3.0)
      activesupport (~> 3.0)
      polyamorous (~> 0.5.0)
    subexec (0.2.3)
    temple (0.6.4)
    terminal-notifier-guard (1.5.3)
    themes_for_rails (0.5.1)
      rails (>= 3.0.0)
    therubyracer (0.11.4)
      libv8 (~> 3.11.8.12)
      ref
    thin (1.5.1)
      daemons (>= 1.0.9)
      eventmachine (>= 0.12.6)
      rack (>= 1.0.0)
    thor (0.18.1)
    tilt (1.3.7)
    timeliness (0.3.7)
    treetop (1.4.12)
      polyglot
      polyglot (>= 0.3.1)
    tries (0.2.1)
    turbo-sprockets-rails3 (0.2.13)
      railties (>= 3.1.0, < 3.2.9)
      sprockets (>= 2.0.0)
    turn (0.9.6)
      ansi
    twitter-bootstrap-rails (2.2.6)
      actionpack (>= 3.1)
      execjs
      railties (>= 3.1)
    tzinfo (0.3.37)
    uglifier (2.0.1)
      execjs (>= 0.3.0)
      multi_json (~> 1.0, >= 1.0.2)
    uniform_notifier (1.2.0)
    useragent (0.6.0)
    validates_timeliness (3.0.14)
      timeliness (~> 0.3.6)
    vlad (2.4.1)
      rake (>= 0.8, < 11.0)
      rake-remote_task (~> 2.1)
    vlad-git (2.2.0)
      vlad (>= 2.1.0)
    warden (1.2.1)
      rack (>= 1.0)
    whenever (0.8.2)
      activesupport (>= 2.3.4)
      chronic (>= 0.6.3)
    xpath (2.0.0)
      nokogiri (~> 1.3)
    yajl-ruby (1.1.0)

PLATFORMS
  ruby

DEPENDENCIES
  ancestry
  awesome_print
  better_errors
  binding_of_caller!
  browser_details
  bullet
  capybara
  carrierwave
  carrierwave_backgrounder
  chosen-rails
  clear_eyes
  coffee-filter
  coffee-rails
  daemons
  database_cleaner
  delayed_job
  delayed_job_active_record
  devise
  factory_girl_rails
  friendly_id
  geokit-rails3
  guard
  guard-spork
  guard-sporkminitest
  haml
  hirb
  home_run
  i18n-active_record!
  inherited_resources
  interactive_editor
  jquery-rails
  jquery-ui-rails
  kaminari
  less-rails
  libv8 (~> 3.11.8)
  liquid
  liquify
  meta-tags
  meta_request (= 0.2.1)
  mime-types (= 1.17.2)
  mini_magick
  minitest
  minitest-rails-capybara
  minitest-spec-rails
  money!
  money-rails (~> 0.8.1)
  mysql2
  nested_form!
  net-dns
  nordea!
  paper_trail (~> 2)
  poltergeist
  pry
  pry-exception_explorer
  pry-nav
  pry-rails
  pry-rescue
  pry-stack_explorer
  rack-recaptcha
  rails (= 3.2.8)
  rails-erd
  rails_best_practices
  ransack
  rb-fsevent
  rb-readline
  rdiscount
  routing_concerns
  sass (~> 3.1.0)
  sass-rails
  show_for!
  simple_enum
  simple_form!
  sinatra
  sinatra-reloader
  slim
  smt_rails!
  spork
  spork-minitest
  sprockets
  squeel
  terminal-notifier-guard
  themes_for_rails
  therubyracer
  thin
  tries
  turbo-sprockets-rails3
  turn
  twitter-bootstrap-rails
  uglifier
  validates_timeliness (~> 3.0)
  vlad
  vlad-git
  whenever
  yajl-ruby

It doesn't work with 'spring: true' (drops to spring's help screen)

spring: "rake test"
solves the problem, though the notifier won't show test stats, just if they pass or not, but I think that's still much better than guard+guard-minitest dropping to spring's help screen.

I think "rake test" should be the default string component in the def spring_command(paths) (in lib/guard/minitest/runner.rb) rather than the current 'testunit', which doesn't work.

I get the erroneous behavior with:
ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-linux]
Guard version 2.6.0
Spring version 1.1.2
Rails 4.1.0
Minitest-5.5.5

alias_method': undefined method _run_anything

I setup my testing project with guard and guard-minitest and when I run guard everything works fine.

However, when I change one of my example files guard detects the change and tries to run. When it does, I get this error.

*** WARN: if you use MiniTest 1, please add version option in your 'Guardfile'.                /Users/mlohstroh/.rvm/gems/ruby-1.9.3-p392/gems/guard-minitest/0.5.0/lib/guard/minitest/runners/version_2_runner.rb:9:in 'alias_method': undefined method _run_anything' for class 'Minitest::Unit' (NameError)
    from /Users/mlohstroh/.rvm/gems/ruby-1.9.3-p392/gems/guard-minitest-0.5.0/lib/guard/minitest/runners/version_2_runner.rb:9:in '<class:Unit>'
    from /Users/mlohstroh/.rvm/gems/ruby-1.9.3-p392/gems/guard-minitest-0.5.0/lib/guard/minitest/runners/version_2_runner.rb:6:in '<module:MiniTest>'
    from /Users/mlohstroh/.rvm/gems/ruby-1.9.3-p392/gems/guard-minitest-0.5.0/lib/guard/minitest/runners/version_2_runner.rb:5:in '<top (required)>'
    from /Users/mlohstroh/.rvm/gems/ruby-1.9.3-p392/gems/guard-minitest-0.5.0/lib/guard/minitest/runners/default_runner.rb:7:in 'load'
    from /Users/mlohstroh/.rvm/gems/ruby-1.9.3-p392/gems/guard-minitest-0.5.0/lib/guard/minitest/runners/default_runner.rb:7:in '<top (required)>'
    from -e:in 'require

I tried to look at the issue by digging through the source but couldn't find anything on the topic. Using MiniTest 1 also did not solve the issue.

Error when combined with guard-bundler

Got the following error starting guard:

11:48:47 - ERROR - Guard::Minitest failed to achieve its <start>, exception was:
> [#5D4439E1E431] NoMethodError: undefined method `with_clean_env' for Guard::Bundler:Class
> [#5D4439E1E431] /home/danial/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/bundler/gems/guard-minitest-ff9f1e77abce/lib/guard/minitest/runner.rb:39:in `run'

I tracked it down to guard-minitest, on the line above, changing Bundler.with_clean_env to ::Bundler.with_clean_env fixes the issue.

Is guard-bundler not required in ruby 2 / rails 4? I was running the same setup on ruby 1.9.3 / rails 3.2.14 and didn't have the above issue.

Guard-Minitest past version 2.0.0 fails to show notifications

I was trying to get started with writing a small gem recently, and noticed that Guard was running my specs but failing to show me notifications. I am on Ubuntu 13.10 and tried this with JRuby 1.7.8, 1.7.9 and MRI 2.0.0p247, running bundle exec guard with MiniTest 5.1.0, Guard 2.2.4 and Bundler 1.3.5. I discovered that altering the Guardfile would cause a notification to show, but changes to my code did not, even though the tests ran . I tracked the problem down to commit #441086bbac0e and lib/guard/minitest/runner.rb ln#36-46 .

        status = if bundler?
          system(minitest_command(paths))
        else
          if defined?(::Bundler)
            ::Bundler.with_clean_env do
              system(minitest_command(paths))
            end
          else
            system(minitest_command(paths))
          end
        end

Adding those lines back causes everything to work properly again, with everything else left as current. I don't have any idea why.

I can produce a small test-case app/gem if that will help.

anyone using it with Rails 3.1?

is anyone using this in a Rails 3.1 app? I can't get any tests to run. Using the --verbose option I can see that the command is called but it immediately drops out and does nothing. Downgrading to Rails 3.0, the tests do run.

One other possibility is that it's a complication with the TwP/Logging gem that I'm using. I'm investigating that as well.

Quick update. I don't think it's a conflict with the Logging gem. I removed all calls to the Logging gem and pulled it from my Gemfile and the tests don't seem to run. Looks like 3.1 is borking it.

Is anyone successfully running this gem in a Rails 3.1 app?

(e)

Start interactor -> Error: can't modify string; temporarily locked

This error occurs occasionally after run of tests by the plugin guard-minitest:

dbonev@dbonev:~/Workspaces/some_project$ be guard -d
11:58:41 - DEBUG - Command execution: which notify-send
11:58:41 - DEBUG - Command execution: emacsclient --eval '1' 2> /dev/null || echo 'N/A'
11:58:41 - INFO - Guard is using NotifySend to send notifications.
11:58:41 - INFO - Guard is using TerminalTitle to send notifications.
11:58:41 - DEBUG - Command execution: hash stty
11:58:41 - DEBUG - Guard starts all plugins
11:58:41 - DEBUG - Hook :start_begin executed for Guard::Minitest
11:58:41 - INFO - Guard::Minitest 2.1.3 is running, with Minitest::Unit 4.7.5!
11:58:41 - DEBUG - Hook :start_end executed for Guard::Minitest
11:58:41 - INFO - Guard is now watching at '/home/dbonev/Workspaces/some_project'
11:58:41 - DEBUG - Start interactor
11:58:46 - DEBUG - Stop interactor
11:58:46 - DEBUG - Hook :run_on_additions_begin executed for Guard::Minitest
11:58:46 - INFO - Running: test/unit/some_test.rb
11:58:46 - DEBUG - Command execution: bundle exec ruby -I"test" -I"spec" -r bundler/setup -r minitest/autorun -r ./test/unit/some_test.rb -r /home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/guard-minitest-2.1.3/lib/guard/minitest/runners/old_runner.rb -e "" -- 
Loaded suite -e
Started
.....

Finished in 10.831084251403809 seconds.

5 tests, 278 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
0% passed

0.46 tests/s, 25.67 assertions/s
Coverage report generated for Unit Tests to /home/dbonev/Workspaces/some_project/coverage. 4145 / 7811 LOC (53.07%) covered.
Run options: --seed 29997
Started

0/0: 0 00:00:00

Finished in 0.01885s
0 tests, 0 assertions, 0 failures, 0 errors, 0 skips

11:59:06 - DEBUG - Hook :run_on_additions_end executed for Guard::Minitest
11:59:06 - DEBUG - Start interactor
11:59:06 - DEBUG - Stop interactor
11:59:06 - DEBUG - Start interactor
11:59:14 - DEBUG - Stop interactor
11:59:14 - DEBUG - Trying to run Guard::Minitest#run_on_modifications with ["test/unit/some_test.rb"]
11:59:14 - DEBUG - Hook :run_on_changes_begin executed for Guard::Minitest
11:59:14 - INFO - Running: test/unit/some_test.rb
11:59:14 - DEBUG - Command execution: bundle exec ruby -I"test" -I"spec" -r bundler/setup -r minitest/autorun -r ./test/unit/some_test.rb -r /home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/guard-minitest-2.1.3/lib/guard/minitest/runners/old_runner.rb -e "" -- 
Loaded suite -e
Started
.....

Finished in 10.763451337814331 seconds.

5 tests, 278 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
0% passed

0.46 tests/s, 25.83 assertions/s
Coverage report generated for Unit Tests to /home/dbonev/Workspaces/some_project/coverage. 4145 / 7811 LOC (53.07%) covered.
Run options: --seed 53314
Started

0/0: 0 00:00:00

Finished in 0.02146s
0 tests, 0 assertions, 0 failures, 0 errors, 0 skips

11:59:34 - DEBUG - Hook :run_on_changes_end executed for Guard::Minitest
11:59:34 - DEBUG - Start interactor
11:59:34 - DEBUG - Stop interactor
11:59:34 - DEBUG - Trying to run Guard::Minitest#run_on_modifications with ["test/unit/some_test.rb"]
11:59:34 - DEBUG - Hook :run_on_changes_begin executed for Guard::Minitest
11:59:34 - INFO - Running: test/unit/some_test.rb
11:59:34 - DEBUG - Command execution: bundle exec ruby -I"test" -I"spec" -r bundler/setup -r minitest/autorun -r ./test/unit/some_test.rb -r /home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/guard-minitest-2.1.3/lib/guard/minitest/runners/old_runner.rb -e "" -- 
Loaded suite -e
Started
.....

Finished in 10.592642545700073 seconds.

5 tests, 278 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
0% passed

0.47 tests/s, 26.24 assertions/s
Coverage report generated for Unit Tests to /home/dbonev/Workspaces/some_project/coverage. 4145 / 7811 LOC (53.07%) covered.
Run options: --seed 14232
Started

0/0: 0 00:00:00

Finished in 0.02267s
0 tests, 0 assertions, 0 failures, 0 errors, 0 skips

11:59:54 - DEBUG - Hook :run_on_changes_end executed for Guard::Minitest
11:59:54 - DEBUG - Start interactor
11:59:54 - DEBUG - Stop interactor
11:59:54 - DEBUG - Start interactor
12:00:03 - DEBUG - Stop interactor
12:00:03 - DEBUG - Trying to run Guard::Minitest#run_on_modifications with ["test/unit/some_test.rb"]
12:00:03 - DEBUG - Hook :run_on_changes_begin executed for Guard::Minitest
12:00:03 - INFO - Running: test/unit/some_test.rb
12:00:03 - DEBUG - Command execution: bundle exec ruby -I"test" -I"spec" -r bundler/setup -r minitest/autorun -r ./test/unit/some_test.rb -r /home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/guard-minitest-2.1.3/lib/guard/minitest/runners/old_runner.rb -e "" -- 
Loaded suite -e
Started
.....

Finished in 10.252473592758179 seconds.

5 tests, 278 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
0% passed

0.49 tests/s, 27.12 assertions/s
Coverage report generated for Unit Tests to /home/dbonev/Workspaces/some_project/coverage. 4145 / 7811 LOC (53.07%) covered.
Run options: --seed 41221
Started

0/0: 0 00:00:00

Finished in 0.02181s
0 tests, 0 assertions, 0 failures, 0 errors, 0 skips

12:00:23 - DEBUG - Hook :run_on_changes_end executed for Guard::Minitest
12:00:23 - DEBUG - Start interactor
12:00:23 - DEBUG - Stop interactor
12:00:23 - DEBUG - Start interactor
12:00:48 - DEBUG - Stop interactor
12:00:48 - DEBUG - Trying to run Guard::Minitest#run_on_modifications with ["test/unit/some_test.rb"]
12:00:48 - DEBUG - Hook :run_on_changes_begin executed for Guard::Minitest
12:00:48 - INFO - Running: test/unit/some_test.rb
12:00:48 - DEBUG - Command execution: bundle exec ruby -I"test" -I"spec" -r bundler/setup -r minitest/autorun -r ./test/unit/some_test.rb -r /home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/guard-minitest-2.1.3/lib/guard/minitest/runners/old_runner.rb -e "" -- 
Loaded suite -e
Started
.....

Finished in 10.66214919090271 seconds.

5 tests, 278 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
0% passed

0.47 tests/s, 26.07 assertions/s
Coverage report generated for Unit Tests to /home/dbonev/Workspaces/some_project/coverage. 4145 / 7811 LOC (53.07%) covered.
Run options: --seed 11100
Started

0/0: 0 00:00:00

Finished in 0.02134s
0 tests, 0 assertions, 0 failures, 0 errors, 0 skips

12:01:08 - DEBUG - Hook :run_on_changes_end executed for Guard::Minitest
12:01:08 - DEBUG - Start interactor
12:01:08 - DEBUG - Stop interactor
12:01:08 - DEBUG - Start interactor
Error: can't modify string; temporarily locked
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:624:in `readline'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:624:in `block in readline'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:564:in `handle_read_errors'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:609:in `readline'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:384:in `retrieve_line'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:301:in `block in r'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:298:in `loop'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:298:in `r'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:276:in `re'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:254:in `rep'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:234:in `block (3 levels) in repl'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:232:in `loop'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:232:in `block (2 levels) in repl'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:231:in `catch'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:231:in `block in repl'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:230:in `catch'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:230:in `repl'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_class.rb:170:in `start'
/home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/guard-2.2.5/lib/guard/interactor.rb:133:in `block in start'
12:01:24 - DEBUG - Stop interactor
12:01:24 - DEBUG - Trying to run Guard::Minitest#run_on_modifications with ["test/unit/some_test.rb"]
12:01:24 - DEBUG - Hook :run_on_changes_begin executed for Guard::Minitest
12:01:24 - INFO - Running: test/unit/some_test.rb
12:01:24 - DEBUG - Command execution: bundle exec ruby -I"test" -I"spec" -r bundler/setup -r minitest/autorun -r ./test/unit/some_test.rb -r /home/dbonev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/guard-minitest-2.1.3/lib/guard/minitest/runners/old_runner.rb -e "" -- 
Loaded suite -e
Started
.....

Finished in 9.880876302719116 seconds.

5 tests, 278 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
0% passed

0.51 tests/s, 28.14 assertions/s
Coverage report generated for Unit Tests to /home/dbonev/Workspaces/some_project/coverage. 4145 / 7811 LOC (53.07%) covered.
Run options: --seed 45958
Started

0/0: 0 00:00:00

Finished in 0.02300s
0 tests, 0 assertions, 0 failures, 0 errors, 0 skips

12:01:44 - DEBUG - Hook :run_on_changes_end executed for Guard::Minitest
12:01:44 - DEBUG - Start interactor
12:01:44 - DEBUG - Stop interactor
12:01:44 - DEBUG - Start interactor
[1] guard(main)> 

Guardfile:

ignore /public/

guard :minitest, all_on_start: false do
  # with Minitest::Unit
  watch(%r{^test/(.*)\/?test_(.*)\.rb})
  watch(%r{^test/.+_test\.rb})
  watch(%r{^lib/(.*/)?([^/]+)\.rb})     { |m| "test/#{m[1]}test_#{m[2]}.rb" }
  watch(%r{^test/test_helper\.rb})      { 'test' }

  # Rails < 4
  watch(%r{^app/controllers/(.*)\.rb}) { |m| "test/functional/#{m[1]}_test.rb" }
  watch(%r{^app/helpers/(.*)\.rb})     { |m| "test/helpers/#{m[1]}_test.rb" }
  watch(%r{^app/models/(.*)\.rb})      { |m| "test/unit/#{m[1]}_test.rb" }
end

Environment:

Description               Ubuntu 12.04.3 LTS
Ruby version              2.0.0 (i686-linux)
RubyGems version          2.0.3
Rack version              1.4
Rails version             3.2.14
JavaScript Runtime        therubyracer (V8)

Cross-posted on guard/guard#536

Issues integrating with Spork-minitest + guard-spork (Guard-minitest)

I love this gem but am having difficulty integrating spork ... and guard for automated testing.

I think its related to drb...

In the guard file.. I am recommended to use:

guard 'minitest', :drb => true do
  # ...
end

but it fails with that, giving a drb connection refused error.. so only this method works:

guard 'minitest', :drb => false do
  # ...
end

Any ideas how I can get the drb setting to work? Without the drb setting, am I missing out on performance a lot?

Published gem 1.0.0beta1?

Hi,

I used bundler to get the latest gem with this command in my gemfile:
gem 'guard-minitest', '~> 1.0.0.beta1'

I'm not seeing the code in this repo being loaded. Is this a fork?

not working with a Rails app

disclaimer: I am just getting started with MiniTest and Guard, so I might be a moron.

In my Gemfile:

group :test do
  gem 'minitest', require: 'minitest/autorun'
  gem 'purdytest'
  gem 'guard-minitest'
  gem 'rb-fsevent'
  gem 'growl'
end

My Guardfile.

But then: Sadness!

When I bundle exec guard and save my file, I am told:

Guard is now watching at '/Users/costro0001/Code/mira'
Running: test/unit/select_list_test.rb
-e:in `require': no such file to load -- test/unit/select_list_test.rb (LoadError)

But! (now here's where things get interesting), when I try to run the same command that guard-minitest executes, it works. That is, I run

bundle exec ruby -Itest -Ispec -r bundler/setup -r ./test/unit/select_list_test.rb -r /Users/costro0001/.rvm/gems/ruby-1.9.2-p180/gems/guard-minitest-0.3.0/lib/guard/minitest/runners/default_runner.rb -e 'GUARD_NOTIFY=true; MiniTest::Unit.autorun' -- test/unit/select_list_test.rb

and viola!:

Run options: --seed 36803

# Running tests:

.F..

Finished tests in 0.046734s, 85.5908 tests/s, 85.5908 assertions/s.

So when I manually do what guard-minitest automates, it works. When I let guard-minitest take care of it, it fails. So guard-minitest's error is not in how it executes the command, it would seem. (Unless, of course, guard-minitest isn't actually running that, for some reasonโ€”I'm not sure how to tell.)

Not working without bundler

I'm working on a project that doesn't use Bundler (not everybody does ๐Ÿ˜„ ) and I get the following error when running guard.

16:41:18 - ERROR - Guard::Minitest failed to achieve its , exception was:

[#3337202EF759] NameError: uninitialized constant Guard::Minitest::Runner::Bundler
[#3337202EF759] /Users/eka/dev/foss/hanuman/.gs/gems/guard-minitest-2.0.0/lib/guard/minitest/runner.rb:39:in `run'

Any clue?

Run all is skiping unit tests [Rails 3.2.13]

Doesn't seem to be a problem in rails 4, test/unit folder doesn't even exist unless you decide to add that structure. I haven't tried with rails < 3.2.13.

Steps to reproduce:

gem install rails -v 3.2.13
rails _3.2.13_ new guard_minitest_test
cd guard_minitest_test
echo "group :development, :test do\ngem 'guard-minitest'\nend" >> Gemfile
guard init
echo "class Post\nend" > app/models/post.rb
echo "require 'test_helper'\nclass PostTest < ActiveSupport::TestCase\ntest 'the truth' do\nassert true\nend\nend" > test/unit/test_post.rb

You will have to remove the duplicate guard blocks in the Guardfile (this is another issue...) and also uncomment the rails 3.2 lines and add the following:

watch(%r{^test/(.*)\/?(.*)_test\.rb})

Then run guard. It gives me a full set of 0's; Saving the post.rb or post_test.rb files triggers the unit test run. re-running the run all still results in 0's. (i.e. no tests run)

Guard notifications do not work when minitest-reporters is required

minitest-reporters provides a custom test runner, so the patch that guard-minitest makes to MiniTest no longer has effect when tests are run, so Guard notifications never appear.

I tried this branch and it works, so we could start with that.

Ideally however the code should be refactored in accordance with #37 -- or, take a look at what MiniTest::Unit.runner is and hook into that, since the API will be the same.

Growl support

Does guard-minitest show a growl notification on completion?

Issue with load of Spring

bundle exec guard --debug

13:53:35 - DEBUG - Command execution: growlnotify --version
13:53:35 - DEBUG - Command execution: uname
13:53:35 - DEBUG - Command execution: which notify-send
13:53:35 - DEBUG - Command execution: emacsclient --eval '1' 2> /dev/null || echo 'N/A'
13:53:35 - INFO - Guard is using NotifySend to send notifications.
13:53:35 - INFO - Guard is using TerminalTitle to send notifications.
13:53:35 - DEBUG - Command execution: hash stty
13:53:35 - DEBUG - Guard starts all plugins
13:53:35 - DEBUG - Hook :start_begin executed for #<Guard::Minitest @name=minitest @group=#<Guard::Group @name=default @options={}> @watchers=[#<Guard::Watcher:0x000000025191e8 @action=nil, @pattern=/^test\/(.*)\.rb/>, #<Guard::Watcher:0x000000023cca88 @action=#<Proc:0x000000023ccb50@/home/thief/dev/ruby/avant/basic/Guardfile:10>, @pattern=/^lib\/(.*)\.rb/>, #<Guard::Watcher:0x000000023cad00 @action=#<Proc:0x000000023cb188@/home/thief/dev/ruby/avant/basic/Guardfile:11>, @pattern=/^test\/blueprints\.rb/>, #<Guard::Watcher:0x000000023cacd8 @action=nil, @pattern=/^test\/test_helper\.rb/>, #<Guard::Watcher:0x000000023c9c98 @action=#<Proc:0x000000023ca2b0@/home/thief/dev/ruby/avant/basic/Guardfile:13>, @pattern=/^app\/models\/(.*)\.rb/>, #<Guard::Watcher:0x000000023c9180 @action=#<Proc:0x000000023c9220@/home/thief/dev/ruby/avant/basic/Guardfile:14>, @pattern=/^app\/controllers\/(admin\/)?(.*)\.rb/>] @callbacks=[] @options={:all_on_start=>true, :notification=>true}>
13:53:35 - INFO - Guard::Minitest 2.0.0 is running, with Minitest::Unit 4.7.5!
13:53:35 - INFO - Running all tests
13:53:35 - DEBUG - Command execution: bundle exec ruby -I"test" -I"spec" -r bundler/setup -r minitest/autorun -r ./test/controllers/admin/reports_controller_test.rb -r ./test/unit/loan_contract_test.rb -r ./test/unit/veritec_notification_test.rb -r ./test/unit/loan_concurrency_test.rb -r ./test/unit/admin_user_test.rb -r ./test/unit/loan_task_test.rb -r ./test/unit/transunion_credit_lines_test.rb -r ./test/unit/posting_test.rb -r ./test/unit/payment_calculator_test.rb -r ./test/unit/credit_report_transaction_log_test.rb -r ./test/unit/overseer/manager_test.rb -r ./test/unit/business_date_test.rb -r ./test/unit/rcc_file_test.rb -r ./test/unit/loan_scenario_test.rb -r ./test/unit/metro_request_test.rb -r ./test/unit/email_processing_test.rb -r ./test/unit/apr_calculator_test.rb -r ./test/unit/credit_line_test.rb -r ./test/unit/loan_us_rule_test.rb -r ./test/unit/rcc_line_test.rb -r ./test/unit/credit_report_test.rb -r ./test/unit/payment_generator_test.rb -r ./test/unit/loan_test.rb -r ./test/unit/transunion_credit_line_test.rb -r ./test/unit/transunion_public_record_test.rb -r ./test/unit/ach_line_test.rb -r ./test/unit/collections_calculator_test.rb -r ./test/unit/customer_stat_test.rb -r ./test/unit/lending_tree_transform_test.rb -r ./test/unit/email_log_test.rb -r ./test/unit/payment_test.rb -r ./test/unit/lead_provider_behavior_test.rb -r ./test/unit/state_logic_test.rb -r ./test/unit/credit_line/statement_test.rb -r ./test/unit/credit_line/period_test.rb -r ./test/unit/credit_line/draw_test.rb -r ./test/unit/credit_line/payment_test.rb -r ./test/unit/credit_line/scenario_test.rb -r ./test/unit/transunion_data_test.rb -r ./test/unit/payment_file_test.rb -r ./test/unit/yodlee_shrike_item_test.rb -r ./test/unit/payment_plan_test.rb -r ./test/unit/lead_ownership_test.rb -r ./test/unit/business_time_test.rb -r ./test/unit/credit_decision_test.rb -r ./test/unit/lib/clarity_parser_test.rb -r ./test/unit/lib/nested_hash_test.rb -r ./test/unit/lib/credit_decision_engine_test.rb -r ./test/unit/bank_account_test.rb -r ./test/unit/payment_transaction_test.rb -r ./test/unit/work_item_test.rb -r ./test/unit/ach/nacho_man_test.rb -r ./test/unit/loan_product_test.rb -r ./test/unit/phone_number_test.rb -r ./test/unit/payment_collector_test.rb -r ./test/unit/customer_test.rb -r ./test/unit/postal_methods/batch_processor_test.rb -r ./test/unit/loan_payment_profile_test.rb -r ./test/unit/yodlee_shrike_conclusion_test.rb -r ./test/features/application_step_through_test.rb -r ./test/service/callcredit/tac/callcredit_tac_test.rb -r ./test/service/callcredit/callvalidate/callvalidate_test.rb -r ./test/service/callcredit/callreport/callreport_test.rb -r ./test/test_helper.rb -r ./test/unit/iovation/test_iovation_service.rb -r ./test/data/test_data.rb -r /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/guard-minitest-2.0.0/lib/guard/minitest/runners/old_runner.rb -e "" -- 

while using guard-minitest 2.X and guard-spring 0.0.4 and Listen 2.0.3 I get this stack:

/home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/bundler-1.3.5/lib/bundler/rubygems_integration.rb:224:in `block in replace_gem': can't activate listen (~> 1.0), already activated listen-2.0.3. Make sure all dependencies are added to Gemfile. (Gem::LoadError)
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/spring-0.0.10/lib/spring/watcher/listen.rb:1:in `<top (required)>'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/spring-0.0.10/lib/spring/watcher.rb:16:in `require_relative'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/spring-0.0.10/lib/spring/watcher.rb:16:in `watch_method='
    from /home/thief/dev/ruby/avant/basic/config/spring.rb:1:in `<top (required)>'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/spring-0.0.10/lib/spring/commands.rb:35:in `require'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/spring-0.0.10/lib/spring/commands.rb:35:in `<module:Spring>'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/spring-0.0.10/lib/spring/commands.rb:3:in `<top (required)>'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/spring-0.0.10/lib/spring/server.rb:10:in `require'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/spring-0.0.10/lib/spring/server.rb:10:in `<top (required)>'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/spring-0.0.10/lib/spring/client/run.rb:32:in `require'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/spring-0.0.10/lib/spring/client/run.rb:32:in `block in boot_server'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/spring-0.0.10/lib/spring/client/run.rb:31:in `fork'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/spring-0.0.10/lib/spring/client/run.rb:31:in `boot_server'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/spring-0.0.10/lib/spring/client/run.rb:16:in `call'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/spring-0.0.10/lib/spring/client/command.rb:7:in `call'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/spring-0.0.10/lib/spring/client.rb:23:in `run'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/gems/spring-0.0.10/bin/spring:6:in `<top (required)>'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/bin/spring:23:in `load'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/bin/spring:23:in `<main>'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/bin/ruby_executable_hooks:15:in `eval'
    from /home/thief/.rvm/gems/ruby-1.9.3-p448@avant_basic/bin/ruby_executable_hooks:15:in `<main>'

Gemfile:

source 'https://rubygems.org'

ruby '1.9.3'

gem 'rails', '3.2.14'
gem 'rake', '0.9.6'

# web
gem 'jquery-rails', '~> 2.1.4'
gem 'acts_as_tree'
gem 'erubis'
gem 'formtastic'
gem 'attribute_normalizer'
gem 'dynamic_form'
gem 'activerecord-import'
gem 'will_paginate'
gem 'haml'
gem 'rdiscount'
gem 'simple_form'
gem 'nokogiri'
gem 'canonical-rails'
gem 'geocoder'

# biz logic
gem 'workflow', '~> 0.8.7'
gem 'business_time', '0.6.1'
gem 'holidays'
gem 'money-rails'
gem 'uuidtools'
gem 'httpi', git: 'git://github.com/avantcredit/httpi.git'
gem 'halberd',
gem 'finance', git: 'git://github.com/avantcredit/finance.git'
gem 'ach', git: 'git://github.com/avantcredit/ach.git', branch: 'upgrade-parser'

# auth
gem 'devise', '~> 2.2'
gem 'omniauth'
gem 'omniauth-facebook'
gem 'oauth2'
gem 'gibberish'

gem 'rolify', '~> 3.3.0rc4'
gem 'cancan'

# Background Processing
gem 'delayed_job'
gem 'delayed_job_active_record'
gem 'rack-cors', require: 'rack/cors'

gem 'redis'
gem 'resque', require: 'resque/server'
gem 'resque-status'
gem 'resque_mailer'
gem 'resque-retry'
gem 'resque-scheduler', :require => 'resque_scheduler'
gem 'resque_safe', "~> 0.0.8"
gem 'devise-async'

gem 'airbrake'
gem 'engineyard'
gem 'pdfkit'
gem 'rjb'
gem 'pdf-merger'
gem 'postalmethods', :git => 'git://github.com/avantcredit/postalmethods.git'
gem 'soap4r-ruby1.9', :git => 'git://github.com/avantcredit/soap4r-noeticpenguin.git'
gem 'pdf-reader'

# storage
gem 'aws-sdk',   '~> 1.3.4'
gem 'paperclip', '~> 3.0'
gem 'dalli'
gem 'paper_trail'
gem 'redis'
gem 'redis-rails'

#views
gem 'draper'

# Net
gem 'hipchat'
gem 'typhoeus', '~> 0.5.3'
gem 'rest-client'
gem 'ethon', '0.5.11'
gem 'net-sftp'
gem 'net-ssh-gateway'

# buzzwords
gem 'mongo'
gem 'bson_ext'

# mobile
gem 'mobylette'
gem 'jquery_mobile_rails'

#utility
gem 'pg_array_parser'
gem 'deep_cloneable', '~> 1.5.2'
gem 'rubyzip', '0.9.9', require: 'zip/zip'
gem 'gmail'
gem 'addressable'
gem "numbers_and_words", "~> 0.10.0"
gem 'time_difference'
gem 'chronic'

group :development do
  gem 'sitemap_generator'
  gem "better_errors"
  gem "binding_of_caller"

  #Pry and a few other tools in one gem
  gem 'jazz_hands'
  gem 'pry-rescue'


  gem 'guard'
  gem 'guard-minitest', '~> 2.0'
  #  gem 'spring'
  #  gem 'guard-spring'
#  gem "zeus", "~> 0.13.3"

  gem 'listen', '~> 2.0.3'
  gem 'minitest-growl'
  gem 'guard-livereload'

  gem 'terminal-notifier-guard'
  gem 'rb-inotify', require: false
  gem 'rb-fsevent', require: false
  gem 'rb-fchange', require: false

  gem 'heroku' # Used in bin/deploy, ensure same cli version
end



group :development, :test do
  gem 'sass'
  gem 'quiet_assets'
  gem 'yard'
  gem 'wirble'
  gem 'watchr'

  gem 'mail_safe'

  gem 'minitest-rails-capybara'
  gem 'minitest-capybara'
  gem 'minitest'#, '~> 5.0.7'

  #Test reporting tools
  gem 'ci_reporter'
  gem 'yard'
  gem 'foreman'
  #gem 'evergreen', :submodules => true, :git => 'git://github.com/jnicklas/evergreen.git', :require => 'evergreen/rails'
end

group :test do
  gem 'ruby-prof'
  gem 'machinist'
  gem 'mocha', require: false
  gem 'turn'
  gem 'faker'
  gem 'selenium-webdriver', '~> 2.32.1'
  gem 'capybara'
  gem 'capybara-webkit', :git => 'git://github.com/thoughtbot/capybara-webkit'
  gem 'time-warp'

  #in memory
  gem 'sqlite3'
  gem 'memory_test_fix', git: "git://github.com/Blue-Dog-Archolite/memory_test_fix"

  #resque spec testing
  gem 'resque_unit'

  #No exterior call package
  gem 'vcr', '~> 2.5.0'
  gem 'webmock', '~> 1.11.0' #Lock for VCR
end
# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem "sass_rails_patch", "~> 0.0.1"
  gem 'compass-rails'
  # http://stackoverflow.com/questions/11509663/faster-heroku-pushes
  # https://github.com/petebrowne/sprockets-sass
  gem 'sprockets-sass'
  gem 'sprockets-rails'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
  gem 'teaspoon'
end

group :production, :development do
  gem 'wkhtmltopdf-heroku'
  gem 'pg', '0.14.1'
end

group :production do
  gem 'unicorn'
  gem 'unicorn-worker-killer'
  gem 'memcachier'
  gem 'curb'

  gem 'ey_config'

  # This gem should always be last, in order to instrument gems initialized above it.
  gem 'newrelic_rpm', '~>3.6'
end

Gemfile.lock

GIT
  remote: git://github.com/Blue-Dog-Archolite/memory_test_fix
  revision: edfb1e0d482eaabf0f373ba915eee4a6cafd4be4
  specs:
    memory_test_fix (0.2.2)
      railties (>= 3.0.0)

GIT
  remote: git://github.com/avantcredit/ach.git
  revision: 8b478662d024ec30a452a294b96fcc98f6f1fd24
  branch: upgrade-parser
  specs:
    ach (0.4.4)

GIT
  remote: git://github.com/avantcredit/finance.git
  revision: c4fc14d2fd2fd535423dad920ba26cf2b6e1b62c
  specs:
    finance (1.1.2)
      flt (>= 1.3.0)

GIT
  remote: git://github.com/avantcredit/httpi.git
  revision: 5ae76ef33c3ac2d544f13caa635cf842a56c80ac
  specs:
    httpi (1.1.1)
      rack

GIT
  remote: git://github.com/avantcredit/postalmethods.git
  revision: c9790a56c148974f9dbcb16f064066597286a8c0
  specs:
    postalmethods (1.1.3)

GIT
  remote: git://github.com/avantcredit/soap4r-noeticpenguin.git
  revision: 1e8862d72e9fd46e53b40fd27766b4c15c4d22fb
  specs:
    soap4r-ruby1.9 (2.0.5)

GIT
  remote: git://github.com/thoughtbot/capybara-webkit
  revision: e3a5dfdd4d081f8fbd8c3ee11cbc86d00b4e1a16
  specs:
    capybara-webkit (1.0.0)
      capybara (~> 2.0, >= 2.0.2)
      json

GIT
  remote: https://<redacted>:[email protected]/avantcredit/halberd
  revision: 3f42a1ff80570628705606f1721b052b93fa4fb1
  branch: sdk11
  specs:
    halberd (0.0.0)
      halberd
      orderedhash (~> 0.0.6)
      savon (~> 1.2.0)
      savon_model (~> 1.0.0)

GEM
  remote: https://rubygems.org/
  specs:
    Ascii85 (1.0.2)
    actionmailer (3.2.14)
      actionpack (= 3.2.14)
      mail (~> 2.5.4)
    actionpack (3.2.14)
      activemodel (= 3.2.14)
      activesupport (= 3.2.14)
      builder (~> 3.0.0)
      erubis (~> 2.7.0)
      journey (~> 1.0.4)
      rack (~> 1.4.5)
      rack-cache (~> 1.2)
      rack-test (~> 0.6.1)
      sprockets (~> 2.2.1)
    activemodel (3.2.14)
      activesupport (= 3.2.14)
      builder (~> 3.0.0)
    activerecord (3.2.14)
      activemodel (= 3.2.14)
      activesupport (= 3.2.14)
      arel (~> 3.0.2)
      tzinfo (~> 0.3.29)
    activerecord-import (0.4.1)
      activerecord (>= 3.0)
    activeresource (3.2.14)
      activemodel (= 3.2.14)
      activesupport (= 3.2.14)
    activesupport (3.2.14)
      i18n (~> 0.6, >= 0.6.4)
      multi_json (~> 1.0)
    acts_as_tree (1.4.0)
      activerecord (>= 3.0.0)
    addressable (2.3.5)
    afm (0.2.0)
    airbrake (3.1.14)
      builder
      json
    akami (1.2.0)
      gyoku (>= 0.4.0)
      nokogiri (>= 1.4.0)
    ansi (1.4.3)
    arel (3.0.2)
    attribute_normalizer (1.1.0)
    awesome_print (1.1.0)
    aws-sdk (1.3.9)
      httparty (~> 0.7)
      json (~> 1.4)
      nokogiri (>= 1.4.4)
      uuidtools (~> 2.1)
    bcrypt-ruby (3.1.2)
    better_errors (1.0.1)
      coderay (>= 1.0.0)
      erubis (>= 2.6.6)
    binding_of_caller (0.7.2)
      debug_inspector (>= 0.0.1)
    bson (1.9.2)
    bson_ext (1.9.2)
      bson (~> 1.9.2)
    builder (3.0.4)
    business_time (0.6.1)
      activesupport (>= 3.1.0)
      tzinfo (~> 0.3.31)
    cancan (1.6.10)
    canonical-rails (0.0.3)
      rails (>= 3.1, < 5.0)
    capybara (2.1.0)
      mime-types (>= 1.16)
      nokogiri (>= 1.3.3)
      rack (>= 1.0.0)
      rack-test (>= 0.5.4)
      xpath (~> 2.0)
    celluloid (0.15.2)
      timers (~> 1.1.0)
    childprocess (0.3.9)
      ffi (~> 1.0, >= 1.0.11)
    chronic (0.10.2)
    chunky_png (1.2.8)
    ci_reporter (1.9.0)
      builder (>= 2.1.2)
    climate_control (0.0.3)
      activesupport (>= 3.0)
    cliver (0.2.2)
    cocaine (0.5.2)
      climate_control (>= 0.0.3, < 1.0)
    coderay (1.0.9)
    coffee-rails (3.2.2)
      coffee-script (>= 2.2.0)
      railties (~> 3.2.0)
    coffee-script (2.2.0)
      coffee-script-source
      execjs
    coffee-script-source (1.6.3)
    columnize (0.3.6)
    compass (0.12.2)
      chunky_png (~> 1.2)
      fssm (>= 0.2.7)
      sass (~> 3.1)
    compass-rails (1.0.3)
      compass (>= 0.12.2, < 0.14)
    coolline (0.4.2)
    crack (0.4.1)
      safe_yaml (~> 0.9.0)
    curb (0.8.5)
    dalli (2.6.4)
    debug_inspector (0.0.2)
    debugger (1.6.2)
      columnize (>= 0.3.1)
      debugger-linecache (~> 1.2.0)
      debugger-ruby_core_source (~> 1.2.3)
    debugger-linecache (1.2.0)
    debugger-ruby_core_source (1.2.3)
    deep_cloneable (1.5.5)
      activerecord (>= 3.1.0)
    delayed_job (4.0.0)
      activesupport (>= 3.0, < 4.1)
    delayed_job_active_record (4.0.0)
      activerecord (>= 3.0, < 4.1)
      delayed_job (>= 3.0, < 4.1)
    devise (2.2.7)
      bcrypt-ruby (~> 3.0)
      orm_adapter (~> 0.1)
      railties (~> 3.1)
      warden (~> 1.2.1)
    devise-async (0.8.0)
      devise (>= 2.2, < 3.2)
    diff-lcs (1.2.4)
    diffy (3.0.1)
    dotenv (0.9.0)
    draper (1.2.1)
      actionpack (>= 3.0)
      activesupport (>= 3.0)
      request_store (~> 1.0.3)
    dynamic_form (1.1.4)
    em-websocket (0.5.0)
      eventmachine (>= 0.12.9)
      http_parser.rb (~> 0.5.3)
    engineyard (2.3.0)
      engineyard-cloud-client (~> 1.0.14)
      engineyard-serverside-adapter (= 2.2.0)
      escape (~> 0.0.4)
      highline (~> 1.6.1)
      launchy (~> 2.1)
      net-ssh (~> 2.2)
      rest-client (~> 1.6.0)
    engineyard-cloud-client (1.0.14)
      multi_json (~> 1.6)
      rest-client (~> 1.6.0)
    engineyard-serverside-adapter (2.2.0)
      escape (~> 0.0.4)
      multi_json (~> 1.6)
    erubis (2.7.0)
    escape (0.0.4)
    ethon (0.5.11)
      ffi (>= 1.3.0)
      mime-types (~> 1.18)
    eventmachine (1.0.3)
    excon (0.25.3)
    execjs (2.0.2)
    ey_config (0.0.6)
    faker (1.2.0)
      i18n (~> 0.5)
    faraday (0.8.8)
      multipart-post (~> 1.2.0)
    ffi (1.9.0)
    flt (1.3.0)
    foreman (0.63.0)
      dotenv (>= 0.7)
      thor (>= 0.13.6)
    formatador (0.2.4)
    formtastic (2.2.1)
      actionpack (>= 3.0)
    fssm (0.2.10)
    geocoder (1.1.8)
    gibberish (1.3.1)
    gmail (0.4.0)
      gmail_xoauth (>= 0.3.0)
      mail (>= 2.2.1)
      mime (>= 0.1)
    gmail_xoauth (0.4.1)
      oauth (>= 0.3.6)
    grit (2.5.0)
      diff-lcs (~> 1.1)
      mime-types (~> 1.15)
      posix-spawn (~> 0.3.6)
    growl (1.0.3)
    guard (2.0.3)
      formatador (>= 0.2.4)
      listen (~> 2.0)
      lumberjack (~> 1.0)
      pry (>= 0.9.12)
      thor (>= 0.18.1)
    guard-livereload (2.0.0)
      em-websocket (~> 0.5)
      guard (~> 2.0)
      multi_json (~> 1.8)
    guard-minitest (2.0.0)
      guard (~> 2.0)
      minitest (>= 3.0)
    gyoku (0.4.6)
      builder (>= 2.1.2)
    haml (4.0.3)
      tilt
    hashery (2.1.1)
    hashie (2.0.5)
    heroku (3.0.0)
      heroku-api (~> 0.3.7)
      launchy (>= 0.3.2)
      netrc (~> 0.7.7)
      rest-client (~> 1.6.1)
      rubyzip
    heroku-api (0.3.15)
      excon (~> 0.25.1)
    highline (1.6.19)
    hike (1.2.3)
    hipchat (0.12.0)
      httparty
    hirb (0.7.1)
    holidays (1.0.5)
    http_parser.rb (0.5.3)
    httparty (0.11.0)
      multi_json (~> 1.0)
      multi_xml (>= 0.5.2)
    httpauth (0.2.0)
    i18n (0.6.5)
    interception (0.3)
    jazz_hands (0.5.1)
      awesome_print (~> 1.1.0)
      coderay (~> 1.0.9)
      coolline (>= 0.4.2)
      hirb (~> 0.7.1)
      pry (~> 0.9.12)
      pry-debugger (~> 0.2.2)
      pry-doc (~> 0.4.6)
      pry-git (~> 0.2.3)
      pry-rails (~> 0.3.1)
      pry-remote (>= 0.1.7)
      pry-stack_explorer (~> 0.4.9)
      railties (>= 3.0, < 5.0)
    journey (1.0.4)
    jquery-rails (2.1.4)
      railties (>= 3.0, < 5.0)
      thor (>= 0.14, < 2.0)
    jquery_mobile_rails (1.3.2)
      railties (>= 3.1.0)
    json (1.8.0)
    jwt (0.1.8)
      multi_json (>= 1.5)
    kgio (2.8.1)
    launchy (2.3.0)
      addressable (~> 2.3)
    listen (2.0.3)
      celluloid (>= 0.15.2)
      rb-fsevent (>= 0.9.3)
      rb-inotify (>= 0.9)
    lumberjack (1.0.4)
    machinist (2.0)
    mail (2.5.4)
      mime-types (~> 1.16)
      treetop (~> 1.4.8)
    mail_safe (0.3.1)
      actionmailer (>= 1.3.6)
    memcachier (0.0.2)
    metaclass (0.0.1)
    method_source (0.8.2)
    mime (0.1)
    mime-types (1.25)
    mini_portile (0.5.1)
    minitest (4.7.5)
    minitest-capybara (0.4.2)
      capybara (~> 2.0)
      minitest (~> 4.0)
      rake
    minitest-growl (0.0.3)
      growl
      minitest
    minitest-metadata (0.4.0)
      minitest (~> 4.7)
    minitest-rails (0.9.2)
      minitest (~> 4.7)
      rails (>= 3.0)
    minitest-rails-capybara (0.10.0)
      capybara (~> 2.0)
      minitest-capybara (~> 0.4)
      minitest-metadata (~> 0.4)
      minitest-rails (~> 0.9.1)
    mobylette (3.5)
      actionpack (>= 3.0)
    mocha (0.14.0)
      metaclass (~> 0.0.1)
    money (5.1.1)
      i18n (~> 0.6.0)
    money-rails (0.8.1)
      activesupport (>= 3.0)
      money (~> 5.1.0)
      railties (>= 3.0)
    mongo (1.9.2)
      bson (~> 1.9.2)
    mono_logger (1.1.0)
    multi_json (1.8.1)
    multi_xml (0.5.5)
    multipart-post (1.2.0)
    net-sftp (2.1.2)
      net-ssh (>= 2.6.5)
    net-ssh (2.7.0)
    net-ssh-gateway (1.2.0)
      net-ssh (>= 2.6.5)
    netrc (0.7.7)
    newrelic_rpm (3.6.7.159)
    nokogiri (1.6.0)
      mini_portile (~> 0.5.0)
    nori (1.1.5)
    numbers_and_words (0.10.0)
      activesupport
      i18n
    oauth (0.4.7)
    oauth2 (0.8.1)
      faraday (~> 0.8)
      httpauth (~> 0.1)
      jwt (~> 0.1.4)
      multi_json (~> 1.0)
      rack (~> 1.2)
    omniauth (1.1.4)
      hashie (>= 1.2, < 3)
      rack
    omniauth-facebook (1.4.1)
      omniauth-oauth2 (~> 1.1.0)
    omniauth-oauth2 (1.1.1)
      oauth2 (~> 0.8.0)
      omniauth (~> 1.0)
    orderedhash (0.0.6)
    orm_adapter (0.4.0)
    paper_trail (2.7.2)
      activerecord (~> 3.0)
      railties (~> 3.0)
    paperclip (3.5.1)
      activemodel (>= 3.0.0)
      activesupport (>= 3.0.0)
      cocaine (~> 0.5.0)
      mime-types
    pdf-merger (0.3.1)
    pdf-reader (1.3.3)
      Ascii85 (~> 1.0.0)
      afm (~> 0.2.0)
      hashery (~> 2.0)
      ruby-rc4
      ttfunk
    pdfkit (0.5.4)
    pg (0.14.1)
    pg_array_parser (0.0.9)
    phantomjs (1.8.1.1)
      poltergeist
    poltergeist (1.4.1)
      capybara (~> 2.1.0)
      cliver (~> 0.2.1)
      multi_json (~> 1.0)
      websocket-driver (>= 0.2.0)
    polyglot (0.3.3)
    posix-spawn (0.3.6)
    pry (0.9.12.2)
      coderay (~> 1.0.5)
      method_source (~> 0.8)
      slop (~> 3.4)
    pry-debugger (0.2.2)
      debugger (~> 1.3)
      pry (~> 0.9.10)
    pry-doc (0.4.6)
      pry (>= 0.9)
      yard (>= 0.8)
    pry-git (0.2.3)
      diffy
      grit
      pry (>= 0.9.8)
    pry-rails (0.3.2)
      pry (>= 0.9.10)
    pry-remote (0.1.7)
      pry (~> 0.9)
      slop (~> 3.0)
    pry-rescue (1.1.1)
      interception (>= 0.3)
      pry
    pry-stack_explorer (0.4.9.1)
      binding_of_caller (>= 0.7)
      pry (>= 0.9.11)
    quiet_assets (1.0.2)
      railties (>= 3.1, < 5.0)
    rack (1.4.5)
    rack-cache (1.2)
      rack (>= 0.4)
    rack-cors (0.2.8)
      rack
    rack-protection (1.5.0)
      rack
    rack-ssl (1.3.3)
      rack
    rack-test (0.6.2)
      rack (>= 1.0)
    rails (3.2.14)
      actionmailer (= 3.2.14)
      actionpack (= 3.2.14)
      activerecord (= 3.2.14)
      activeresource (= 3.2.14)
      activesupport (= 3.2.14)
      bundler (~> 1.0)
      railties (= 3.2.14)
    railties (3.2.14)
      actionpack (= 3.2.14)
      activesupport (= 3.2.14)
      rack-ssl (~> 1.3.2)
      rake (>= 0.8.7)
      rdoc (~> 3.4)
      thor (>= 0.14.6, < 2.0)
    raindrops (0.12.0)
    rake (0.9.6)
    rb-fchange (0.0.6)
      ffi
    rb-fsevent (0.9.3)
    rb-inotify (0.9.2)
      ffi (>= 0.5.0)
    rdiscount (2.1.6)
    rdoc (3.12.2)
      json (~> 1.4)
    redis (3.0.5)
    redis-actionpack (3.2.4)
      actionpack (~> 3.2.0)
      redis-rack (~> 1.4.4)
      redis-store (~> 1.1.4)
    redis-activesupport (3.2.4)
      activesupport (~> 3.2.0)
      redis-store (~> 1.1.0)
    redis-namespace (1.3.1)
      redis (~> 3.0.0)
    redis-rack (1.4.4)
      rack (~> 1.4.0)
      redis-store (~> 1.1.4)
    redis-rails (3.2.4)
      redis-actionpack (~> 3.2.4)
      redis-activesupport (~> 3.2.4)
      redis-store (~> 1.1.4)
    redis-store (1.1.4)
      redis (>= 2.2)
    request_store (1.0.5)
    resque (1.24.1)
      mono_logger (~> 1.0)
      multi_json (~> 1.0)
      redis-namespace (~> 1.2)
      sinatra (>= 0.9.2)
      vegas (~> 0.1.2)
    resque-retry (1.0.0)
      resque (>= 1.10.0)
      resque-scheduler (>= 1.9.9)
    resque-scheduler (2.2.0)
      redis (>= 3.0.0)
      resque (>= 1.20.0, < 1.25)
      rufus-scheduler (~> 2.0)
    resque-status (0.4.1)
      resque (~> 1.19)
    resque_mailer (2.2.4)
      actionmailer (>= 3.0)
    resque_safe (0.0.8)
      activesupport (~> 3.2)
      i18n
      tzinfo
    resque_unit (0.4.5)
      json (>= 1.4.6)
    rest-client (1.6.7)
      mime-types (>= 1.16)
    rjb (1.4.8)
    rolify (3.3.0.rc4)
    ruby-prof (0.13.0)
    ruby-rc4 (0.1.5)
    rubyzip (0.9.9)
    rufus-scheduler (2.0.24)
      tzinfo (>= 0.3.22)
    safe_yaml (0.9.7)
    sass (3.2.12)
    sass-rails (3.2.6)
      railties (~> 3.2.0)
      sass (>= 3.1.10)
      tilt (~> 1.3)
    sass_rails_patch (0.0.2)
      sass-rails
    savon (1.2.0)
      akami (~> 1.2.0)
      builder (>= 2.1.2)
      gyoku (~> 0.4.5)
      httpi (~> 1.1.0)
      nokogiri (>= 1.4.0)
      nori (~> 1.1.0)
      wasabi (~> 2.5.0)
    savon_model (1.0.0)
      httpi (>= 0.7.8)
      savon (>= 0.8.2)
    selenium-webdriver (2.32.1)
      childprocess (>= 0.2.5)
      multi_json (~> 1.0)
      rubyzip
      websocket (~> 1.0.4)
    simple_form (2.1.0)
      actionpack (~> 3.0)
      activemodel (~> 3.0)
    sinatra (1.4.3)
      rack (~> 1.4)
      rack-protection (~> 1.4)
      tilt (~> 1.3, >= 1.3.4)
    sitemap_generator (4.2.0)
      builder
    slop (3.4.6)
    sprockets (2.2.2)
      hike (~> 1.2)
      multi_json (~> 1.0)
      rack (~> 1.0)
      tilt (~> 1.1, != 1.3.0)
    sprockets-rails (0.0.1)
      sprockets (>= 1.0.2)
    sprockets-sass (1.0.2)
      sprockets (~> 2.0)
      tilt (~> 1.1)
    sqlite3 (1.3.8)
    teaspoon (0.7.7)
      phantomjs (>= 1.8.1.1)
      railties (>= 3.2.5, < 5)
    terminal-notifier-guard (1.5.3)
    thor (0.18.1)
    tilt (1.4.1)
    time-warp (1.0.13)
    time_difference (0.3.2)
      activesupport
    timers (1.1.0)
    treetop (1.4.15)
      polyglot
      polyglot (>= 0.3.1)
    ttfunk (1.0.3)
    turn (0.9.6)
      ansi
    typhoeus (0.5.4)
      ethon (~> 0.5.7)
    tzinfo (0.3.37)
    uglifier (2.2.1)
      execjs (>= 0.3.0)
      multi_json (~> 1.0, >= 1.0.2)
    unicorn (4.6.3)
      kgio (~> 2.6)
      rack
      raindrops (~> 0.7)
    unicorn-worker-killer (0.4.2)
      unicorn (~> 4)
    uuidtools (2.1.4)
    vcr (2.5.0)
    vegas (0.1.11)
      rack (>= 1.0.0)
    warden (1.2.3)
      rack (>= 1.0)
    wasabi (2.5.1)
      httpi (~> 1.0)
      nokogiri (>= 1.4.0)
    watchr (0.7)
    webmock (1.11.0)
      addressable (>= 2.2.7)
      crack (>= 0.3.2)
    websocket (1.0.7)
    websocket-driver (0.3.0)
    will_paginate (3.0.5)
    wirble (0.1.3)
    wkhtmltopdf-heroku (1.0.0)
    workflow (0.8.7)
    xpath (2.0.0)
      nokogiri (~> 1.3)
    yard (0.8.7.2)

PLATFORMS
  ruby

DEPENDENCIES
  ach!
  activerecord-import
  acts_as_tree
  addressable
  airbrake
  attribute_normalizer
  aws-sdk (~> 1.3.4)
  better_errors
  binding_of_caller
  bson_ext
  business_time (= 0.6.1)
  cancan
  canonical-rails
  capybara
  capybara-webkit!
  chronic
  ci_reporter
  coffee-rails (~> 3.2.1)
  compass-rails
  curb
  dalli
  deep_cloneable (~> 1.5.2)
  delayed_job
  delayed_job_active_record
  devise (~> 2.2)
  devise-async
  draper
  dynamic_form
  engineyard
  erubis
  ethon (= 0.5.11)
  ey_config
  faker
  finance!
  foreman
  formtastic
  geocoder
  gibberish
  gmail
  guard
  guard-livereload
  guard-minitest (~> 2.0)
  halberd!
  haml
  heroku
  hipchat
  holidays
  httpi!
  jazz_hands
  jquery-rails (~> 2.1.4)
  jquery_mobile_rails
  listen (~> 2.0.3)
  machinist
  mail_safe
  memcachier
  memory_test_fix!
  minitest
  minitest-capybara
  minitest-growl
  minitest-rails-capybara
  mobylette
  mocha
  money-rails
  mongo
  net-sftp
  net-ssh-gateway
  newrelic_rpm (~> 3.6)
  nokogiri
  numbers_and_words (~> 0.10.0)
  oauth2
  omniauth
  omniauth-facebook
  paper_trail
  paperclip (~> 3.0)
  pdf-merger
  pdf-reader
  pdfkit
  pg (= 0.14.1)
  pg_array_parser
  postalmethods!
  pry-rescue
  quiet_assets
  rack-cors
  rails (= 3.2.14)
  rake (= 0.9.6)
  rb-fchange
  rb-fsevent
  rb-inotify
  rdiscount
  redis
  redis-rails
  resque
  resque-retry
  resque-scheduler
  resque-status
  resque_mailer
  resque_safe (~> 0.0.8)
  resque_unit
  rest-client
  rjb
  rolify (~> 3.3.0rc4)
  ruby-prof
  rubyzip (= 0.9.9)
  sass
  sass-rails (~> 3.2.3)
  sass_rails_patch (~> 0.0.1)
  selenium-webdriver (~> 2.32.1)
  simple_form
  sitemap_generator
  soap4r-ruby1.9!
  sprockets-rails
  sprockets-sass
  sqlite3
  teaspoon
  terminal-notifier-guard
  time-warp
  time_difference
  turn
  typhoeus (~> 0.5.3)
  uglifier (>= 1.0.3)
  unicorn
  unicorn-worker-killer
  uuidtools
  vcr (~> 2.5.0)
  watchr
  webmock (~> 1.11.0)
  will_paginate
  wirble
  wkhtmltopdf-heroku
  workflow (~> 0.8.7)
  yard

I am looking for suggestions, help or direction on how to sort this out.

Lib directory watch regexp wrong?

The current regexp for watching files in the lib directory is

^lib/(.*)([^/]+)\.rb

But this seems to fail if there is a file not in a folder. Should it be?

^lib/(.*?)([^/]+)\.rb

all_after_pass

Hi!

Would you be interested in an all_after_pass options similar to guard-rspec's? I can cook a pull request if you are interested? I find it useful to prevent regressions.

Cheers!

ERROR - Guard::Minitest failed to achieve its <start>, exception was: NameError: uninitialized constant MiniTest

13:39:58 - ERROR - Guard::Minitest failed to achieve its <start>, exception was:
    [#E281ED7F8249] NameError: uninitialized constant MiniTest
    [#E281ED7F8249] .../gems/guard-minitest-808af8922432/lib/guard/minitest.rb:23:in `start'

This happens in master (808af89) when I start guard:

Here are my settings:

guard :spork, :minitest => true

...

guard :minitest, :all_on_start => false, :drb => true

Not only it shows that error, it doesn't watch the files anymore (even with drb: false), so, if I modify a test file or a model, controller, etc. nothing happens.

With https://github.com/guard/guard-minitest/tree/v1.0.0 (drb: false) I see this message:

INFO - Guard::Minitest 1.0.0 is running, with Minitest::Unit 3.5.0!

and it works.

Test folders and file patterns hardcoded

I have folders such as test/spec, test/unit, test/integration, test/factories.
guard-minitest only works if with tests in test/ and spec/ directories and refuses to work at all with other structures.

Can't stop guard running spec tests

I currently have a fully passing test-unit/minitest suite in my Rails app, and some rspec tests with known breakage. I plan to migrate to rspec at some point, but until then I want to avoid running the broken rspec tests. When using spork, the spec: false option seems to work. However, with this Guardfile, if I run guard, spork starts great, then when I hit Enter to run all tests (because of this issue), it tries to run the spec tests (and oddly, the helper files too):

Running all tests
Running tests with args ["test/test_helper.rb", "spec/spec_helper.rb", "./test/test_helper.rb", "./test/functional/availabilities_controller_test.rb", "./test/functional/events_controller_test.rb", "./test/functional/people_controller_test.rb", "./test/functional/replies_controller_test.rb", "./test/functional/roles_controller_test.rb", "./test/unit/availability_test.rb", "./test/unit/event_test.rb", "./test/unit/person_test.rb", "./test/unit/role_test.rb", "./test/unit/helpers/links_helper_test.rb", "./test/unit/helpers/replies_helpers_test.rb", "./test/unit/reply_test.rb", "./test/performance/browsing_test.rb", "./spec/models/person_spec.rb"]...

This results in a horrible stack trace, and stops me from running all my tests via guard-spork. Am I doing something wrong or is this a bug?

Rails 3.1 issue - no such file to load

With the following Guardfile in a Rails 3.1 project:

guard 'minitest' do
  # with Minitest::Unit
  watch(%r|^test/test_(.*).rb|)
  watch(%r|^lib/(.*)([^/]+)\.rb|)                       { |m| "test/#{m[1]}test_#{m[2]}.rb" }
  watch(%r|^test/test_helper.rb|)                       { "test" }
end

I get the following error when I modify test/test_helper.rb:

in `require': no such file to load -- test/test_helper.rb (LoadError)

This seems very similar to this issue: guard/guard-test#2

I get the same error when I add additional watches for models, etc. Is there anything I need to do differently?

Much thanks!

Tests not running on launch and no colour

Hi,

I'm trying out guard and guard-minitest with Rails 4 beta and the tests don't run when first executing guard. After hitting return, they then run, very strange.

Also, I'm used to using Test::Unit with (guard-test) which displays colour output, is this possible with guard-minitest?

Thanks,

Jamie

License missing from gemspec

Some companies will only use gems with a certain license.
The canonical and easy way to check is via the gemspec,

via e.g.

spec.license = 'MIT'
# or
spec.licenses = ['MIT', 'GPL-2']

Even for projects that already specify a license, including a license in your gemspec is a good practice, since it is easily
discoverable there without having to check the readme or for a license file. For example, it is the field that rubygems.org uses to display a gem's license.

For example, there is a License Finder gem to help companies ensure all gems they use
meet their licensing needs. This tool depends on license information being available in the gemspec. This is an important enough
issue that even Bundler now generates gems with a default 'MIT' license.

If you need help choosing a license (sorry, I haven't checked your readme or looked for a license file), github has created a license picker tool.

In case you're wondering how I found you and why I made this issue, it's because I'm collecting stats on gems (I was originally looking for download data) and decided to collect license metadata,too, and make issues for gemspecs not specifying a license as a public service :).

I hope you'll consider specifying a license in your gemspec. If not, please just close the issue and let me know. In either case, I'll follow up. Thanks!

p.s. I've written a blog post about this project

Subdirectories not being watched

The following does not consider sub-directories of lib:

watch(%r|^lib/(.*).rb|) { |m| "spec/#{m[1]}_spec.rb" }

However, the following works as expected when editing a spec that's located in spec/unit directory:

watch(%r|^spec/(.*)_spec.rb|)

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.