diff options
| author | Markus Reiter | 2017-02-03 20:08:28 +0100 |
|---|---|---|
| committer | GitHub | 2017-02-03 20:08:28 +0100 |
| commit | 574a5274c026fd318169e08f035c82d6351a8209 (patch) | |
| tree | 79088aba32f226d9e92da3a9ec2ab5e8ec09f277 /Library | |
| parent | 01c13720749d9c4d0050a5bca943543d5bd8a9de (diff) | |
| parent | 77401b787f96f4a50788188cdbb5d2c8fb51a852 (diff) | |
| download | brew-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/Gemfile | 1 | ||||
| -rw-r--r-- | Library/Homebrew/test/Gemfile.lock | 9 | ||||
| -rw-r--r-- | Library/Homebrew/test/support/helper/fs_leak_logger.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/support/helper/test_case.rb | 36 | ||||
| -rw-r--r-- | Library/Homebrew/test/testing_env.rb | 23 |
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" |
