ChiliProject is not maintained anymore. Please be advised that there will be no more updates.
We do not recommend that you setup new ChiliProject instances and we urge all existing users to migrate their data to a maintained system, e.g. Redmine. We will provide a migration script later. In the meantime, you can use the instructions by Christian Daehn.
Engines::Testing.set_fixture_path appends array to $LOAD_PATH in Ruby 1.9 (Bug #944)
Description
Since the original Engines plugin is abandoned, I am assuming ChiliProject have adopted it – please correct me if I am wrong.
Engines::Testing defines temporary directory this way:
self.temporary_fixtures_directory = FileUtils.mkdir_p(File.join(Dir.tmpdir, "rails_fixtures"))
This is a string in Ruby 1.8.7, but in Ruby 1.9.X, mkdir_p
returns an array. set_fixture_path
pushes the array to $LOAD_PATH
causing subsequent require
calls to fail.
Associated revisions
History
Updated by Jan Vlnas at 2012-05-21 10:10 am
- Status changed from Open to Ready for review
Updated by Felix Schäfer at 2012-06-23 06:49 pm
Mmh, I can't seem to reproduce this on 1.9.3?
- Status changed from Ready for review to Needs more information
- Assignee set to Jan Vlnas
Updated by Jan Vlnas at 2012-06-23 07:38 pm
Well, I haven't explained what this bug is actually about, didn't I?
Plugins usually call Engines::Testing.set_fixture_path
in their test_helper to mix and replace ChiliProject's fixtures with theirs. I've found this bug when trying to run tests for Eric's Message Bar plugin.
Pull request contains these test cases to reproduce the issue – on Linux, tests without a fix in lib/engines/testing.rb
will fail with MRI 1.9.2 and 1.9.3.
Updated by Felix Schäfer at 2012-06-23 09:26 pm
Ah, I thought it was some already existing test that failed. Merged in 29af3ec, thanks.
- Status changed from Needs more information to Closed
- Category set to Testing
- Target version set to 3.3.0