From 768910283a40afc2f76ef196d1464f0bbb2349cd Mon Sep 17 00:00:00 2001 From: Max Howell Date: Sat, 11 Sep 2010 20:22:54 +0100 Subject: Refactor the brew command into one file per command The code was sucking. To the extent that maintenance was hard. It's a lot easier to work with code that is sensibly split at sensible boundaries. So now it is more like that. But the refactor is minimal. Because we don't want you to have more merge hell than absolutely necessary. If you merge you will need to pay attention to brew.h.rb (as it is deleted) and bin/brew (as command logic is gone). It will be painful, but you will just have to help git out by moving any changes around manually. Note compatibility.rb. It ensures that any function renames or removals don't break anything. We're pretty serious about backwards compatibility. And that's because we encourage you to hack around with the innards. And we couldn't do that if we would then just make stuff disappear behind your back. --- Library/Homebrew/test/test_ENV.rb | 1 - Library/Homebrew/test/test_bucket.rb | 28 +++++++++++++++++----- Library/Homebrew/test/test_external_deps.rb | 34 ++++----------------------- Library/Homebrew/test/test_formula.rb | 1 - Library/Homebrew/test/test_formula_install.rb | 2 +- Library/Homebrew/test/test_updater.rb | 2 +- Library/Homebrew/test/testing_env.rb | 6 +++++ 7 files changed, 34 insertions(+), 40 deletions(-) (limited to 'Library/Homebrew/test') diff --git a/Library/Homebrew/test/test_ENV.rb b/Library/Homebrew/test/test_ENV.rb index 1cd716dfd..da3a9d6af 100644 --- a/Library/Homebrew/test/test_ENV.rb +++ b/Library/Homebrew/test/test_ENV.rb @@ -1,6 +1,5 @@ require 'testing_env' require 'utils' -require 'brew.h' require 'extend/ENV' ENV.extend(HomebrewEnvExtension) diff --git a/Library/Homebrew/test/test_bucket.rb b/Library/Homebrew/test/test_bucket.rb index 8492b4929..086297dd2 100644 --- a/Library/Homebrew/test/test_bucket.rb +++ b/Library/Homebrew/test/test_bucket.rb @@ -5,7 +5,6 @@ ARGV.extend(HomebrewArgvExtension) require 'test/testball' require 'utils' -require 'brew.h' class MockFormula :perl @@ -102,14 +76,14 @@ end class ExternalDepsTests < Test::Unit::TestCase def check_deps_fail f - assert_raises(RuntimeError) do - DontActuallyInstall.new.install f.new + assert_raises(UnsatisfiedExternalDependencyError) do + FormulaInstaller.check_external_deps f.new end end def check_deps_pass f assert_nothing_raised do - DontActuallyInstall.new.install f.new + FormulaInstaller.check_external_deps f.new end end diff --git a/Library/Homebrew/test/test_formula.rb b/Library/Homebrew/test/test_formula.rb index aa545f6d4..fd3987168 100644 --- a/Library/Homebrew/test/test_formula.rb +++ b/Library/Homebrew/test/test_formula.rb @@ -5,7 +5,6 @@ ARGV.extend(HomebrewArgvExtension) require 'test/testball' require 'utils' -require 'brew.h' class MostlyAbstractFormula e + rescue BuildError => e assert e.was_running_configure? end end diff --git a/Library/Homebrew/test/test_updater.rb b/Library/Homebrew/test/test_updater.rb index 1d733560b..5659f9c67 100644 --- a/Library/Homebrew/test/test_updater.rb +++ b/Library/Homebrew/test/test_updater.rb @@ -7,7 +7,7 @@ ARGV.extend(HomebrewArgvExtension) require 'formula' require 'utils' -require 'update' +require 'cmd/update' class RefreshBrewMock < RefreshBrew def in_prefix_expect(expect, returns = '') diff --git a/Library/Homebrew/test/testing_env.rb b/Library/Homebrew/test/testing_env.rb index ffc8b3003..0933185bb 100644 --- a/Library/Homebrew/test/testing_env.rb +++ b/Library/Homebrew/test/testing_env.rb @@ -8,6 +8,7 @@ ABS__FILE__=File.expand_path(__FILE__) $:.push(File.expand_path(__FILE__+'/../..')) require 'extend/pathname' +require 'exceptions' # these are defined in global.rb, but we don't want to break our actual # homebrew tree, and we do want to test everything :) @@ -26,4 +27,9 @@ at_exit { HOMEBREW_PREFIX.parent.rmtree } # Test fixtures and files can be found relative to this path TEST_FOLDER = Pathname.new(ABS__FILE__).parent.realpath +require 'fileutils' +module Homebrew extend self + include FileUtils +end + require 'test/unit' # must be after at_exit -- cgit v1.2.3