(#16208) fix tests
Merge pull request #973 from djmitche/detailed-param-failure

Better error messages for failed parameter validation
Merge remote-tracking branch 'origin/2.7.x' into 3.x
Fix a test broken by the improved parameter error reporting.

The new reporting adds more details about where the failing parameter was,
which broke a test that checked for the exact string.  Adding the location
data fixes the problem.

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
Maint: Fix leaked tempfile handle

This test failed on Windows because we were creating a tempfile, but not
closing the underlying file descriptor. So later attempts to cleanup fail
on Windows (unlike POSIX).

This commit modifies the `.tmpfile` and `#tmpfile` methods on the
PuppetSpec::Files module to accept an optional directory in which to
create the temp file.
Maint: Fix inconsistent expect-should usage

Previously, the test was using expect { .. }.should which is not supported
in newer versions of mocha. Changed to expect { .. }.to.
(#16208): Correct spec test to match new failed parameter message

Previously, this spec test failed on Windows, because we now display
better error messages when parameter validation fails.

Updated the spec test to match.
Merge branch 'maint/2.7.x/leaked-tempfile' into 2.7.x

* maint/2.7.x/leaked-tempfile:
  (#16208): Correct spec test to match new failed parameter message
  Maint: Fix inconsistent expect-should usage
  Maint: Fix leaked tempfile handle
(#16157) Fail rather than warn

Previously, if the disks that the user specified were different from the disks that
the mirror/raid was created with, we printed a warning, and spurious chagned: messages
and continued. This is not correct, and is dangerous. This patch fails rather than
continue if the disks are different.
(Maint) split the long line

Split the long line so that it is easier to read
Merge remote-tracking branch 'upstream/2.7.x' into 3.x

* upstream/2.7.x:
  (#16208): Correct spec test to match new failed parameter message
  Maint: Fix inconsistent expect-should usage
  Maint: Fix leaked tempfile handle

Conflicts:
	spec/unit/util_spec.rb
Merge remote-tracking branch 'upstream/3.x'

* upstream/3.x:
  (#16208): Correct spec test to match new failed parameter message
  Maint: Fix inconsistent expect-should usage
  Maint: Fix leaked tempfile handle
  Fix a test broken by the improved parameter error reporting.
  (#16208) fix tests
  (#16208) use #{ref} instead of #{type} #{title} as suggested by dpittman
  (#16208) Better error messages for failed parameter validation
(#15959) Fix groupadd/useradd spec when run on non-linux systems

The groupadd and useradd spec will only work if groupadd / useradd are
the default provider for the group / user type.

Explicitly set the provider in the spec tests so they can e.g. also run
on MacOSX.
(Maint) Fix syntax and semantic erros in test

Strangley enough, this test only started failing once it had been
cherry-picked from master onto 2.7.x and then merged up. There was a
missing comma, an extra comma, some incorrect argument passing, and a
missing PTY, which caused the command to always try to read from stdin.
AST Scope variable names must be strings.

The Parser AST scope had an embedded assumption that variable names were
always strings, but didn't actually enforce that.  A consequence of this is
that a couple of tests violated that agreement.

This adds an internal error report when someone tries the wrong thing, and
cleans up the handful of tests that failed.

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
(#15733) Remove mongrel support

This makes the built-in server always use WEBrick. For anything more
sophisticated you must set up an external server using Rack.

Paired with: Andy Parker <andy@puppetlabs.com>
(#15733) Remove servertype setting

This was only used to choose between WEBrick and Mongrel for the built-in
server. Since we've removed Mongrel it is now useless.

Paired with: Andy Parker <andy@puppetlabs.com>
(#15733) Simplify bindaddress logic for webrick

Since mongrel is no longer an option, the default bindaddress is always
0.0.0.0 and we no longer need any extra logic around it.

Paired with: Andy Parker <andy@puppetlabs.com>
Merge pull request #821 from daniel-pittman/bug/2.7.x/3984-better-handling-of-selinux-warnings

Bug/2.7.x/3984 better handling of selinux warnings
Merge pull request #1078 from vrthra/tickets/3.x/16157_fix_zpool

(#16157) fix zpool subcommands