aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMarkus Reiter2017-02-03 20:08:28 +0100
committerGitHub2017-02-03 20:08:28 +0100
commit574a5274c026fd318169e08f035c82d6351a8209 (patch)
tree79088aba32f226d9e92da3a9ec2ab5e8ec09f277 /Library
parent01c13720749d9c4d0050a5bca943543d5bd8a9de (diff)
parent77401b787f96f4a50788188cdbb5d2c8fb51a852 (diff)
downloadbrew-574a5274c026fd318169e08f035c82d6351a8209.tar.bz2
Merge pull request #1913 from reitermarkus/testing-env
Use array of constants to set up test directories.
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/test/Gemfile1
-rw-r--r--Library/Homebrew/test/Gemfile.lock9
-rw-r--r--Library/Homebrew/test/support/helper/fs_leak_logger.rb4
-rw-r--r--Library/Homebrew/test/support/helper/test_case.rb36
-rw-r--r--Library/Homebrew/test/testing_env.rb23
5 files changed, 45 insertions, 28 deletions
diff --git a/Library/Homebrew/test/Gemfile b/Library/Homebrew/test/Gemfile
index 2a66086bd..5641684a7 100644
--- a/Library/Homebrew/test/Gemfile
+++ b/Library/Homebrew/test/Gemfile
@@ -2,6 +2,7 @@ source "https://rubygems.org"
gem "mocha"
gem "minitest"
+gem "minitest-reporters"
gem "parallel_tests"
group :coverage do
diff --git a/Library/Homebrew/test/Gemfile.lock b/Library/Homebrew/test/Gemfile.lock
index 8289fcc20..65ac7ef56 100644
--- a/Library/Homebrew/test/Gemfile.lock
+++ b/Library/Homebrew/test/Gemfile.lock
@@ -1,6 +1,8 @@
GEM
remote: https://rubygems.org/
specs:
+ ansi (1.5.0)
+ builder (3.2.3)
codecov (0.1.9)
json
simplecov
@@ -9,11 +11,17 @@ GEM
json (2.0.3)
metaclass (0.0.4)
minitest (5.10.1)
+ minitest-reporters (1.1.14)
+ ansi
+ builder
+ minitest (>= 5.0)
+ ruby-progressbar
mocha (1.2.1)
metaclass (~> 0.0.1)
parallel (1.10.0)
parallel_tests (2.13.0)
parallel
+ ruby-progressbar (1.8.1)
simplecov (0.13.0)
docile (~> 1.1.0)
json (>= 1.8, < 3)
@@ -27,6 +35,7 @@ PLATFORMS
DEPENDENCIES
codecov
minitest
+ minitest-reporters
mocha
parallel_tests
simplecov
diff --git a/Library/Homebrew/test/support/helper/fs_leak_logger.rb b/Library/Homebrew/test/support/helper/fs_leak_logger.rb
index 774ccda04..3fbb148fa 100644
--- a/Library/Homebrew/test/support/helper/fs_leak_logger.rb
+++ b/Library/Homebrew/test/support/helper/fs_leak_logger.rb
@@ -9,13 +9,13 @@ module Test
klass.make_my_diffs_pretty!
end
- def before_setup
+ def setup
@__files_before_test = []
Find.find(TEST_TMPDIR) { |f| @__files_before_test << f.sub(TEST_TMPDIR, "") }
super
end
- def after_teardown
+ def teardown
super
files_after_test = []
Find.find(TEST_TMPDIR) { |f| files_after_test << f.sub(TEST_TMPDIR, "") }
diff --git a/Library/Homebrew/test/support/helper/test_case.rb b/Library/Homebrew/test/support/helper/test_case.rb
index ab97ef758..daa663494 100644
--- a/Library/Homebrew/test/support/helper/test_case.rb
+++ b/Library/Homebrew/test/support/helper/test_case.rb
@@ -1,3 +1,6 @@
+require "formulary"
+require "tap"
+
module Homebrew
class TestCase < ::Minitest::Test
require "test/support/helper/fs_leak_logger"
@@ -12,7 +15,21 @@ module Homebrew
TEST_SHA1 = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef".freeze
TEST_SHA256 = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef".freeze
+ TEST_DIRECTORIES = [
+ CoreTap.instance.path/"Formula",
+ HOMEBREW_CACHE,
+ HOMEBREW_CACHE_FORMULA,
+ HOMEBREW_CELLAR,
+ HOMEBREW_LOCK_DIR,
+ HOMEBREW_LOGS,
+ HOMEBREW_TEMP,
+ ].freeze
+
def setup
+ # These directories need to be created before
+ # `FSLeakLogger` is called with `super`.
+ TEST_DIRECTORIES.each(&:mkpath)
+
super
@__argv = ARGV.dup
@@ -25,15 +42,10 @@ module Homebrew
Tab.clear_cache
- coretap = CoreTap.new
- paths_to_delete = [
+ FileUtils.rm_rf [
+ TEST_DIRECTORIES.map(&:children),
HOMEBREW_LINKED_KEGS,
HOMEBREW_PINNED_KEGS,
- HOMEBREW_CELLAR.children,
- HOMEBREW_CACHE.children,
- HOMEBREW_LOCK_DIR.children,
- HOMEBREW_LOGS.children,
- HOMEBREW_TEMP.children,
HOMEBREW_PREFIX/".git",
HOMEBREW_PREFIX/"bin",
HOMEBREW_PREFIX/"share",
@@ -45,12 +57,10 @@ module Homebrew
HOMEBREW_LIBRARY/"Taps/homebrew/homebrew-services",
HOMEBREW_LIBRARY/"Taps/homebrew/homebrew-shallow",
HOMEBREW_REPOSITORY/".git",
- coretap.path/".git",
- coretap.alias_dir,
- coretap.formula_dir.children,
- coretap.path/"formula_renames.json",
- ].flatten
- FileUtils.rm_rf paths_to_delete
+ CoreTap.instance.path/".git",
+ CoreTap.instance.alias_dir,
+ CoreTap.instance.path/"formula_renames.json",
+ ]
super
end
diff --git a/Library/Homebrew/test/testing_env.rb b/Library/Homebrew/test/testing_env.rb
index e2ba2e4e4..999fa1013 100644
--- a/Library/Homebrew/test/testing_env.rb
+++ b/Library/Homebrew/test/testing_env.rb
@@ -1,21 +1,18 @@
-$:.unshift File.expand_path("../..", __FILE__)
-$:.unshift File.expand_path("../support/lib", __FILE__)
-
-require "simplecov" if ENV["HOMEBREW_TESTS_COVERAGE"]
-require "global"
-require "formulary"
-
-# Test environment setup
-(HOMEBREW_LIBRARY/"Taps/homebrew/homebrew-core/Formula").mkpath
-%w[cache formula_cache locks cellar logs temp].each { |d| HOMEBREW_PREFIX.parent.join(d).mkpath }
-
begin
require "minitest/autorun"
- require "parallel_tests/test/runtime_logger"
+ require "minitest/reporters"
+ Minitest::Reporters.use! Minitest::Reporters::DefaultReporter.new(color: true)
require "mocha/setup"
+ require "parallel_tests/test/runtime_logger"
+ require "simplecov" if ENV["HOMEBREW_TESTS_COVERAGE"]
rescue LoadError
- abort "Run `bundle install` or install the mocha and minitest gems before running the tests"
+ abort "Run `bundle install` before running the tests."
end
+$LOAD_PATH.unshift(File.expand_path("#{ENV["HOMEBREW_LIBRARY"]}/Homebrew"))
+$LOAD_PATH.unshift(File.expand_path("#{ENV["HOMEBREW_LIBRARY"]}/Homebrew/test/support/lib"))
+
+require "global"
+
require "test/support/helper/test_case"
require "test/support/helper/integration_command_test_case"