Files
CocoaPods/spec/spec_helper.rb
Fabio Pelosin 572ac974d3 [Specs] Patch bacon to reset Pod::Config::Instance.
One of the tests wasn't restoring the changes it made to the config.
As the test was difficult to track down and the problem would have
become only worse in the future, the issues was solved starting with
a new config before each run.

The performance impact seems negligible and the testing environment is
more predictable.
2012-05-17 13:42:36 +02:00

71 lines
1.7 KiB
Ruby

require 'rubygems'
require 'bundler/setup'
require 'bacon'
require 'mocha-on-bacon'
Bacon.summary_at_exit
require 'pathname'
ROOT = Pathname.new(File.expand_path('../../', __FILE__))
$:.unshift((ROOT + 'lib').to_s)
require 'cocoapods'
$:.unshift((ROOT + 'spec').to_s)
require 'spec_helper/bacon'
require 'spec_helper/command'
require 'spec_helper/fixture'
require 'spec_helper/github'
require 'spec_helper/temporary_directory'
require 'spec_helper/temporary_repos'
require 'spec_helper/config'
module Bacon
class Context
include Pod::Config::Mixin
include SpecHelper::Fixture
def argv(*argv)
Pod::Command::ARGV.new(argv)
end
end
end
config = Pod::Config.instance
config.silent = true
config.repos_dir = SpecHelper.tmp_repos_path
config.project_root = SpecHelper.temporary_directory
Pod::Specification::Statistics.instance.cache_file = nil
require 'tmpdir'
# TODO why is this no longer using SpecHelper::TemporaryDirectory ?
def temporary_sandbox
Pod::Sandbox.new(Pathname.new(Dir.mktmpdir + "/Pods"))
#Pod::Sandbox.new(temporary_directory + "Pods")
end
def fixture_spec(name)
file = SpecHelper::Fixture.fixture(name)
Pod::Specification.from_file(file)
end
def copy_fixture_to_pod(name, pod)
path = SpecHelper::Fixture.fixture(name)
FileUtils.cp_r(path, pod.root)
end
SpecHelper::Fixture.fixture('banana-lib') # ensure it exists
require 'vcr'
require 'webmock'
VCR.configure do |c|
# Namespace the fixture by the Ruby version, because different Ruby versions
# can lead to different ways the data is interpreted.
c.cassette_library_dir = (ROOT + "spec/fixtures/vcr/#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}").to_s
c.hook_into :webmock # or :fakeweb
c.allow_http_connections_when_no_cassette = true
end