there's been a lot of churn around this code, so i figure it was worth
trying to clean it up.
- the methods were doing a lot, so make them into template methods with
one helper per step
- spread out /etc/hosts regexp into a couple of helper variables for
clarity
- remove handling for broken hostname implementations (like basing all
of the checks on name.split('.')[0]), since it seems reasonable to
remove code dedicated only to handling broken boxes
- DRY up the shared code between debian/ubuntu implementations, which
clarifies the differences as well
- add unit tests around the behavior; this will help us in the future
to separate flaws in our understanding from flaws in implementation
- includes a new DummyCommunicator in tests which should be useful in
supporting additional unit testing of this kind
- manually tested this on squeeze, wheezy, precise, quantal, raring,
and saucy successfully.
handles the issue in #2333
29 lines
706 B
Ruby
29 lines
706 B
Ruby
require "rubygems"
|
|
require "rspec/autorun"
|
|
|
|
# Require Vagrant itself so we can reference the proper
|
|
# classes to test.
|
|
require "vagrant"
|
|
|
|
# Add the test directory to the load path
|
|
$:.unshift File.expand_path("../../", __FILE__)
|
|
|
|
# Load in helpers
|
|
require "support/tempdir"
|
|
require "unit/support/dummy_communicator"
|
|
require "unit/support/dummy_provider"
|
|
require "unit/support/shared/base_context"
|
|
|
|
# Do not buffer output
|
|
$stdout.sync = true
|
|
$stderr.sync = true
|
|
|
|
# Configure RSpec
|
|
RSpec.configure do |c|
|
|
c.expect_with :rspec, :stdlib
|
|
end
|
|
|
|
# Configure VAGRANT_CWD so that the tests never find an actual
|
|
# Vagrantfile anywhere, or at least this minimizes those chances.
|
|
ENV["VAGRANT_CWD"] = Tempdir.new.path
|