IO.pipe buffers 4096 bytes. If the command output fills that up,
Process.waitpid will hang waiting for the spawned process to finish.
Read command output from the pipe in a thread. This thread will self-exit
when the pipe is closed.
Fixes#1287
* In current database.yml config, all database environments are sharing same database. Suffix database name with relevant environment name to ensure database uniqueness
* Update Rails migration command to `db:drop:all` and `db:create:all`, so all db listed in config/database.yml is dropped/created accordingly
* Write a base ActiveRecord model that connects to different database (production database)
* Write a base ActiveRecord model that connects to default database (development database), this is a dummy model, just for symmetry's sake
Bundler 1.6.0 made a change which prohibits you from running `bundle
init` from a directory from which Bundler is able to find a Gemfile by
ascending the file tree. This breaks our acceptance tests because some
of them create a directory and then run `bundle init` in order to
bootstrap that directory as a fresh Bundler project.
This is an effort to vastly decrease the time it takes to run a single
unit test file and therefore increase productivity and happiness for
people working on this project.
If you want to run a unit test file, now you can use `zeus rspec`
instead of `rspec` -- assuming you run `zeus start` first -- and it will
run a LOT faster.
Because test files tend to have long file paths, you can even use a
shorter version of those paths. So instead of saying:
zeus rspec spec/unit/shoulda/matchers/active_record/validate_uniqueness_of_matcher_spec.rb
you can say:
zeus rspec active_record/validate_uniqueness_of_matcher_spec.rb
* Add missing steps to CONTRIBUTING and reorganize it a bit.
* `bundle exec rake` no longer runs all tests in all appraisals, only
the tests in the latest appraisal.
* Add a `.ruby-version` file so people don't have to figure out which
version of Ruby to install.
[ci skip]
Why:
* When `delegate_method` was modified a while back to add Doublespeak
and use MatcherContext, Shoulda::Matchers::Independent became unable
to be required independently.
To satisfy the above:
* Require Doublespeak and MatcherContext within
`delegate_method_matcher.rb`.
* Add an acceptance test to ensure that Independent stays independent.
Secondary-Author: jc00ke <jesse@jc00ke.com>
When running tests, you can now switch between running them against a
SQLite or PostgreSQL database. This is accomplished by modifying the
unit and acceptance tests so that when they generate and load the test
Rails application, database.yml is replaced with content that will
configure the database appropriately.
If you attempt to run tests without specifying an Appraisal, then you
will be going off of the main Gemfile. The Gemfile is not guaranteed to
contain all of the dependencies necessary to run tests, so it is very
likely that you'll get an obscure error somewhere. Instead of letting
this happen, raise a specific error.