Change one test to use the new confine syntax.
Re-enable this test to work on windows

The reason the test wasn't working and why it was changed to not execute
was that the test environment was mis-configured (the hostname of the
windows agent was different from what the puppet master knew as that
machine's name).
Merge pull request #799 from zaphod42/maint/master/enable-test-for-node-and-enc-on-windows

Re-enable this test to work on windows
Merge pull request #734 from mkincaid/confines

Update acceptance tests to use confine instead of skip_test loops
(maint) Make 3.0.x work with rspec-puppet

Without this patch applied Hiera tries to load a file that does not
exist when running spec tests with rspec-puppet.

The error message without this patch looks like:

      1) ntp test platform specific resources for operating system centos should allow package ensure to be overridden
         Failure/Error: subject.should contain_package('ntp').with_ensure('latest')
         Puppet::Error:
           Puppet::Parser::AST::Resource failed with error RuntimeError: Config file /dev/null/hiera.yaml not found at line 3 on node maynard.puppetlab
    s.lan
         # /vagrant/src/hiera/lib/hiera/config.rb:17:in `load'

This patch fixes the problem by setting the hiera_config setting to /dev/null
explicitly in the TestHelper class.  This is a file that should exist which
will avoid the exception coming out of the hiera library.
Merge pull request #812 from jeffmccune/maint/master/intialize_hiera_for_rspec_puppet

(maint) Make 3.0.x work with rspec-puppet
Merge remote-tracking branch 'upstream/3.x'

* upstream/3.x: (38 commits)
  (maint) Add mailmap to identify contributors
  Updating CHANGELOG, conf/redhat/puppet.spec for 3.0.0rc3
  Updating CHANGELOG, conf/redhat/puppet.spec for puppet 2.7.15rc4
  (#14761) Add boot, reboot to excludes list for redhat provider
  (maint) Disable upstart spec test on windows
  (#14615) Final stub fixes for the tests.
  (#14615) Fix provider spec tests to work on non gentoo systems
  maint: Make it easier to test the service provider
  (Maint) Close filehandles after read in upstart
  (Maint) Fix upstart provider to work on Ruby 1.9.3
  Update CHANGELOG, conf/redhat/puppet.spec for 2.7.15rc3
  Update redhat.spec dependency to include hiera-puppet
  Update puppet gem dependencies
  Update redhat init scripts to use `puppet (agent|queue|master)`
  (#14297) Don't remove tty1 or rsyslog during upstart acceptance
  (#14297) Define agent in upstart acceptance test
  (#14297) Update upstart provider acceptance tests
  (#14297) Clean up upstart provider and tests
  (#14343) Test cases for more forms of variable lookup
  (#14297) Add acceptance test for upstart provider
  ...
Merge remote-tracking branch 'upstream/3.x'

* upstream/3.x:
  Updated manpages, CHANGELOG, puppet.spec, puppet.rb for 2.7.16rc1.
  (maint) Update README.md w/ min Facter ver
  (#8858) Explicitly set SSL peer verification mode.
  Test SSL setup code, not our stubbing of it.
  (#14723) Fix http report description
Make Puppet's gem package task the same name as other Puppetlabs' projects
Merge pull request #853 from justinstoller/maint/2.7.x/normalize_gem_task_name

(maint) Make Puppet's gem package task the same name as other Puppetlabs' projects
(#14441) Require instrumentation indirections

Previously, the instrumentation faces were not requiring their
corresponding indirection, so the indirections were not getting
registered,
e.g. Puppet::Indirector::Indirection.instance(:instrumentation_data)
was nil.  This was causing `spec/integration/documentation_spec.rb` to
fail -- it was iterating across each face and trying to generate help,
but that failed because the indirection wasn't registered.  This issue
didn't show up earlier, because due to a separate issue, the tests
were not being executed.

This issue only occurs when using the instrumentation related classes
programmatically, but not when running the applications, e.g. `puppet
instrumentation_data` because the latter calls
`Puppet::Util::Instrumentation.init` early on in the application
lifecycle, and that requires all of the instrumentation code.

This commit changes each instrumentation-related face to require its
instrumentation indirection, e.g. Puppet::Face[:instrumentation_data]
requires `puppet/util/instrumentation/data`.

This commit doesn't address the overall issue with #14441 in that
Puppet::Util::Instrumentation.init` has to be invoked before it can be
used, so don't close the bug when this is merged.
Maint: Actually execute the tests on non-windows platforms

Previously, the tests were using conditional pending statements to
mark tests that don't pass on Windows:

  describe "group" do
    pending("porting to Windows", :if => ...) do
      it "should ..." do
        ...
      end
      it "should ..." do
        ...
      end
    end
  end

But this is not a valid use of conditional pending statements, and it
causes the examples within the pending block to be silently skipped.
Instead, the conditional pending statement needs to be within the
example:

  it "should ..." do
    pending("porting to Windows", :if => ...) do
      ...
    end
  end

In our case, we want to mark a set of examples as pending, so we use
an rspec exclude filter instead:

  describe "something", :unless => Puppet.features.microsoft_windows? do

Some tests now pass on Windows, using :file instead of :mount and the
instrumentation documentation, so I enabled them.
Merge branch 'maint/master/conditional-pending' of https://github.com/joshcooper/puppet into 3.x

* 'maint/master/conditional-pending' of https://github.com/joshcooper/puppet:
  Maint: Actually execute the tests on non-windows platforms
  (#14441) Require instrumentation indirections
  Make Puppet's gem package task the same name as other Puppetlabs' projects
  (maint) Make 3.0.x work with rspec-puppet
  Re-enable this test to work on windows
  Change one test to use the new confine syntax.