The House Requires Painting
Из-за вот этого гениального коммита, у меня в проектах наебнулся вызов rake test, после того, как я обновился до rake 0.9.2.
Например, в моих тестах было:
# test/test_foo.rb
class TestFetch < MiniTest::Unit::TestCase
CMD = cmd('external_program')
def test_empty_url
# somehow CMD was used
end
...
end
где cmd проверяет текущую директори, и если она не some-project/test, то изменяет ее на, и возвращает правильный путь к external_program относительно измененной директори.
И таких файлов было много (test/test_foo.rb, test/test_bar.rb, etc) где все начиналось одинаково.
И все блядь работало.
Теперь, rake в своей Rake::TestTask получает список файлов и посредством require загружает (не запускает!) каждый набор тестов. После 1-го файла test/test_bar.rb, который уже сменил нужную ему директорию на some-project/test, rake пытается риквайнуть test/test_foo.rb и все ломается, потому что файла some-project/test/test/test_foo.rb разумеется не существует.
Пришлось везде менять на:
# test/test_foo.rb
class TestFetch < MiniTest::Unit::TestCase
def setup
@cmd = cmd('external_program')
end
...
end
