Merge pull request #1913 from reitermarkus/testing-env
Use array of constants to set up test directories.
This commit is contained in:
commit
574a5274c0
@ -2,6 +2,7 @@ source "https://rubygems.org"
|
|||||||
|
|
||||||
gem "mocha"
|
gem "mocha"
|
||||||
gem "minitest"
|
gem "minitest"
|
||||||
|
gem "minitest-reporters"
|
||||||
gem "parallel_tests"
|
gem "parallel_tests"
|
||||||
|
|
||||||
group :coverage do
|
group :coverage do
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
|
ansi (1.5.0)
|
||||||
|
builder (3.2.3)
|
||||||
codecov (0.1.9)
|
codecov (0.1.9)
|
||||||
json
|
json
|
||||||
simplecov
|
simplecov
|
||||||
@ -9,11 +11,17 @@ GEM
|
|||||||
json (2.0.3)
|
json (2.0.3)
|
||||||
metaclass (0.0.4)
|
metaclass (0.0.4)
|
||||||
minitest (5.10.1)
|
minitest (5.10.1)
|
||||||
|
minitest-reporters (1.1.14)
|
||||||
|
ansi
|
||||||
|
builder
|
||||||
|
minitest (>= 5.0)
|
||||||
|
ruby-progressbar
|
||||||
mocha (1.2.1)
|
mocha (1.2.1)
|
||||||
metaclass (~> 0.0.1)
|
metaclass (~> 0.0.1)
|
||||||
parallel (1.10.0)
|
parallel (1.10.0)
|
||||||
parallel_tests (2.13.0)
|
parallel_tests (2.13.0)
|
||||||
parallel
|
parallel
|
||||||
|
ruby-progressbar (1.8.1)
|
||||||
simplecov (0.13.0)
|
simplecov (0.13.0)
|
||||||
docile (~> 1.1.0)
|
docile (~> 1.1.0)
|
||||||
json (>= 1.8, < 3)
|
json (>= 1.8, < 3)
|
||||||
@ -27,6 +35,7 @@ PLATFORMS
|
|||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
codecov
|
codecov
|
||||||
minitest
|
minitest
|
||||||
|
minitest-reporters
|
||||||
mocha
|
mocha
|
||||||
parallel_tests
|
parallel_tests
|
||||||
simplecov
|
simplecov
|
||||||
|
|||||||
@ -9,13 +9,13 @@ module Test
|
|||||||
klass.make_my_diffs_pretty!
|
klass.make_my_diffs_pretty!
|
||||||
end
|
end
|
||||||
|
|
||||||
def before_setup
|
def setup
|
||||||
@__files_before_test = []
|
@__files_before_test = []
|
||||||
Find.find(TEST_TMPDIR) { |f| @__files_before_test << f.sub(TEST_TMPDIR, "") }
|
Find.find(TEST_TMPDIR) { |f| @__files_before_test << f.sub(TEST_TMPDIR, "") }
|
||||||
super
|
super
|
||||||
end
|
end
|
||||||
|
|
||||||
def after_teardown
|
def teardown
|
||||||
super
|
super
|
||||||
files_after_test = []
|
files_after_test = []
|
||||||
Find.find(TEST_TMPDIR) { |f| files_after_test << f.sub(TEST_TMPDIR, "") }
|
Find.find(TEST_TMPDIR) { |f| files_after_test << f.sub(TEST_TMPDIR, "") }
|
||||||
|
|||||||
@ -1,3 +1,6 @@
|
|||||||
|
require "formulary"
|
||||||
|
require "tap"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
class TestCase < ::Minitest::Test
|
class TestCase < ::Minitest::Test
|
||||||
require "test/support/helper/fs_leak_logger"
|
require "test/support/helper/fs_leak_logger"
|
||||||
@ -12,7 +15,21 @@ module Homebrew
|
|||||||
TEST_SHA1 = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef".freeze
|
TEST_SHA1 = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef".freeze
|
||||||
TEST_SHA256 = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef".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
|
def setup
|
||||||
|
# These directories need to be created before
|
||||||
|
# `FSLeakLogger` is called with `super`.
|
||||||
|
TEST_DIRECTORIES.each(&:mkpath)
|
||||||
|
|
||||||
super
|
super
|
||||||
|
|
||||||
@__argv = ARGV.dup
|
@__argv = ARGV.dup
|
||||||
@ -25,15 +42,10 @@ module Homebrew
|
|||||||
|
|
||||||
Tab.clear_cache
|
Tab.clear_cache
|
||||||
|
|
||||||
coretap = CoreTap.new
|
FileUtils.rm_rf [
|
||||||
paths_to_delete = [
|
TEST_DIRECTORIES.map(&:children),
|
||||||
HOMEBREW_LINKED_KEGS,
|
HOMEBREW_LINKED_KEGS,
|
||||||
HOMEBREW_PINNED_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/".git",
|
||||||
HOMEBREW_PREFIX/"bin",
|
HOMEBREW_PREFIX/"bin",
|
||||||
HOMEBREW_PREFIX/"share",
|
HOMEBREW_PREFIX/"share",
|
||||||
@ -45,12 +57,10 @@ module Homebrew
|
|||||||
HOMEBREW_LIBRARY/"Taps/homebrew/homebrew-services",
|
HOMEBREW_LIBRARY/"Taps/homebrew/homebrew-services",
|
||||||
HOMEBREW_LIBRARY/"Taps/homebrew/homebrew-shallow",
|
HOMEBREW_LIBRARY/"Taps/homebrew/homebrew-shallow",
|
||||||
HOMEBREW_REPOSITORY/".git",
|
HOMEBREW_REPOSITORY/".git",
|
||||||
coretap.path/".git",
|
CoreTap.instance.path/".git",
|
||||||
coretap.alias_dir,
|
CoreTap.instance.alias_dir,
|
||||||
coretap.formula_dir.children,
|
CoreTap.instance.path/"formula_renames.json",
|
||||||
coretap.path/"formula_renames.json",
|
]
|
||||||
].flatten
|
|
||||||
FileUtils.rm_rf paths_to_delete
|
|
||||||
|
|
||||||
super
|
super
|
||||||
end
|
end
|
||||||
|
|||||||
@ -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
|
begin
|
||||||
require "minitest/autorun"
|
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 "mocha/setup"
|
||||||
|
require "parallel_tests/test/runtime_logger"
|
||||||
|
require "simplecov" if ENV["HOMEBREW_TESTS_COVERAGE"]
|
||||||
rescue LoadError
|
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
|
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/test_case"
|
||||||
require "test/support/helper/integration_command_test_case"
|
require "test/support/helper/integration_command_test_case"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user