aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Reiter2016-10-23 13:34:41 +0200
committerGitHub2016-10-23 13:34:41 +0200
commitf56e410ebfa82ced3ae480659ce217ad8fe456ef (patch)
treec42a0d3e9aad194cc519b1354cf405ff58f10b22
parent195bc6dbac9f01ca345c808ec312d8212b1c0a3c (diff)
parent7016d714ab2c06d0338a814bbdb4b696a2cb5101 (diff)
downloadbrew-f56e410ebfa82ced3ae480659ce217ad8fe456ef.tar.bz2
Merge pull request #1339 from reitermarkus/test-helper
Use `test/lib/config` for tests.
-rw-r--r--Library/Homebrew/cask/spec/spec_helper.rb6
-rw-r--r--Library/Homebrew/cask/test/cask/url_checker_test.rb12
-rw-r--r--Library/Homebrew/cask/test/test_helper.rb64
3 files changed, 24 insertions, 58 deletions
diff --git a/Library/Homebrew/cask/spec/spec_helper.rb b/Library/Homebrew/cask/spec/spec_helper.rb
index b71e1ecae..1e41e3de4 100644
--- a/Library/Homebrew/cask/spec/spec_helper.rb
+++ b/Library/Homebrew/cask/spec/spec_helper.rb
@@ -31,11 +31,11 @@ Hbc.appdir = Pathname.new(TEST_TMPDIR).join("Applications").tap(&:mkpath)
Hbc.cache.mkpath
Hbc.caskroom.mkpath
Hbc.default_tap = Tap.fetch("caskroom", "spec").tap do |tap|
- tap.path.dirname.mkpath
+ # link test casks
+ FileUtils.mkdir_p tap.path.dirname
+ FileUtils.ln_s Pathname.new(__FILE__).dirname.join("support"), tap.path
end
-FileUtils.ln_s Pathname.new(__FILE__).dirname.join("support"), Hbc.default_tap.path
-
RSpec.configure do |config|
config.order = :random
config.include(Test::Helper::Env)
diff --git a/Library/Homebrew/cask/test/cask/url_checker_test.rb b/Library/Homebrew/cask/test/cask/url_checker_test.rb
index 2dfed62d3..6871b4215 100644
--- a/Library/Homebrew/cask/test/cask/url_checker_test.rb
+++ b/Library/Homebrew/cask/test/cask/url_checker_test.rb
@@ -3,15 +3,17 @@ require "test_helper"
describe Hbc::UrlChecker do
describe "request processing" do
it "adds an error if response is empty" do
- cask = TestHelper.test_cask
- TestHelper.fake_response_for(cask.url, "")
- checker = Hbc::UrlChecker.new(cask, TestHelper.fake_fetcher)
+ cask = Hbc.load("basic-cask")
+ Hbc::FakeFetcher.fake_response_for(cask.url, "")
+ checker = Hbc::UrlChecker.new(cask, Hbc::FakeFetcher)
checker.run
checker.errors.must_include "timeout while requesting #{cask.url}"
end
it "properly populates the response code and headers from an http response" do
- TestHelper.fake_response_for(TestHelper.test_cask.url, <<-EOS.undent)
+ cask = Hbc.load("basic-cask")
+
+ Hbc::FakeFetcher.fake_response_for(cask.url, <<-EOS.undent)
HTTP/1.1 200 OK
Content-Type: application/x-apple-diskimage
ETag: "b4208f3e84967be4b078ecaa03fba941"
@@ -19,7 +21,7 @@ describe Hbc::UrlChecker do
Last-Modified: Sun, 12 Aug 2012 21:17:21 GMT
EOS
- checker = Hbc::UrlChecker.new(TestHelper.test_cask, TestHelper.fake_fetcher)
+ checker = Hbc::UrlChecker.new(cask, Hbc::FakeFetcher)
checker.run
checker.response_status.must_equal "HTTP/1.1 200 OK"
checker.headers.must_equal("Content-Type" => "application/x-apple-diskimage",
diff --git a/Library/Homebrew/cask/test/test_helper.rb b/Library/Homebrew/cask/test/test_helper.rb
index de18a2869..67d2c698d 100644
--- a/Library/Homebrew/cask/test/test_helper.rb
+++ b/Library/Homebrew/cask/test/test_helper.rb
@@ -2,20 +2,16 @@ require "bundler"
require "bundler/setup"
require "pathname"
-if ENV["HOMEBREW_TESTS_COVERAGE"]
- require "simplecov"
-end
-
-project_root = Pathname.new(File.expand_path("../..", __FILE__))
-tap_root = Pathname.new(ENV["HOMEBREW_LIBRARY"]).join("Taps", "caskroom", "homebrew-cask")
+require "simplecov" if ENV["HOMEBREW_TESTS_COVERAGE"]
# add Homebrew to load path
$LOAD_PATH.unshift(File.expand_path("#{ENV["HOMEBREW_REPOSITORY"]}/Library/Homebrew"))
+$LOAD_PATH.unshift(File.expand_path("#{ENV["HOMEBREW_REPOSITORY"]}/Library/Homebrew/test/lib"))
require "global"
# add Homebrew-Cask to load path
-$LOAD_PATH.push(project_root.join("lib").to_s)
+$LOAD_PATH.push(HOMEBREW_LIBRARY_PATH.join("cask", "lib").to_s)
require "test/helper/env"
require "test/helper/shutup"
@@ -23,12 +19,7 @@ include Test::Helper::Env
include Test::Helper::Shutup
def sudo(*args)
- %w[/usr/bin/sudo -E --] + Array(args).flatten
-end
-
-TEST_TMPDIR = Dir.mktmpdir("homebrew_cask_tests")
-at_exit do
- FileUtils.remove_entry(TEST_TMPDIR)
+ %w[/usr/bin/sudo -E --] + args.flatten
end
# must be called after testing_env so at_exit hooks are in proper order
@@ -46,30 +37,20 @@ Mocha::Integration::MiniTest.activate
# our baby
require "hbc"
-# override Homebrew locations
-Hbc.homebrew_prefix = Pathname.new(TEST_TMPDIR).join("prefix")
-Hbc.homebrew_repository = Hbc.homebrew_prefix
-
-# Override Tap::TAP_DIRECTORY to use our test Tap directory.
-class Tap
- send(:remove_const, :TAP_DIRECTORY)
- TAP_DIRECTORY = Hbc.homebrew_prefix.join("Library", "Taps")
+module Hbc
+ class TestCask < Cask; end
end
-Hbc.default_tap = Tap.fetch("caskroom", "testcasks")
-
-# also jack in some test Casks
-FileUtils.ln_s project_root.join("test", "support"), Tap::TAP_DIRECTORY.join("caskroom").tap(&:mkpath).join("homebrew-testcasks")
-
-# pretend that the caskroom/cask Tap is installed
-FileUtils.ln_s tap_root, Tap::TAP_DIRECTORY.join("caskroom").tap(&:mkpath).join("homebrew-cask")
-
-# create cache directory
-Hbc.homebrew_cache = Pathname.new(TEST_TMPDIR).join("cache")
Hbc.cache.mkpath
+Hbc.caskroom.mkpath
+Hbc.default_tap = Tap.fetch("caskroom", "test").tap do |tap|
+ # link test casks
+ FileUtils.mkdir_p tap.path.dirname
+ FileUtils.ln_s Pathname.new(__FILE__).dirname.join("support"), tap.path
+end
-# our own testy caskroom
-Hbc.caskroom = Hbc.homebrew_prefix.join("TestCaskroom")
+# pretend that the caskroom/cask Tap is installed
+FileUtils.ln_s HOMEBREW_LIBRARY.join("Taps", "caskroom", "homebrew-cask"), Tap.fetch("caskroom", "cask").path
class TestHelper
# helpers for test Casks to reference local files easily
@@ -81,18 +62,6 @@ class TestHelper
"file://" + local_binary_path(name)
end
- def self.test_cask
- @test_cask ||= Hbc.load("basic-cask")
- end
-
- def self.fake_fetcher
- Hbc::FakeFetcher
- end
-
- def self.fake_response_for(*args)
- Hbc::FakeFetcher.fake_response_for(*args)
- end
-
def self.valid_alias?(candidate)
return false unless candidate.symlink?
candidate.readlink.exist?
@@ -138,8 +107,3 @@ require "support/cleanup"
require "support/never_sudo_system_command"
require "tmpdir"
require "tempfile"
-
-# Common superclass for test Casks for when we need to filter them out
-module Hbc
- class TestCask < Cask; end
-end