Merge pull request #446 from joshcooper/ticket/2.7.x/12386-disable-kick-on-windows

(#12386) Disable puppet kick application on windows
Symbolic file mode test fixes when no mode change happens.

The acceptance test for symbolic file modes didn't handle a case when the
initial and target file mode were identical correctly; it expected a message
about a change, which was never delivered.

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
(#12349) Order module list output

This is necessary both for consistency for the user, and so that tests
pass every time.  An acceptance test that passed when I ran it did not
when CI ran it because the output order was different.  This fixes that.
(#11535) Platform agnosticism: Desc strings should refer to path separator instead of ':'

We were interpolating the File::PATH_SEPARATOR character in the desc string to
display the actual character being used on the platform on which it is
printed. This is marginally useful when running with --genconfig, but since
the config reference properly lives online, it should be platform-agnostic for
the benefit of Windows users.
Merge pull request #449 from mmrobins/ticket/2.7.x/12349-order_module_list_output

Ticket/2.7.x/12349 order module list output
(#11535) Call out differing config defaults on Windows

The default values of several configuration settings (diff, color, daemonize)
are different on Windows, but these differences did not appear in the online
configuration reference, as it is generated on a POSIX system. This commit
adds notes on these differing defaults to the description strings of the
affected settings, to ensure that the configuration reference remains
accurate.
Merge remote-tracking branch 'daniel-pittman/bug/2.7.x/symbolic-file-mode-acceptance-test-wtf' into 2.7.x

* daniel-pittman/bug/2.7.x/symbolic-file-mode-acceptance-test-wtf:
  Symbolic file mode test fixes when no mode change happens.
(#12339) Improving documentation around Puppet::Util::Terminal.width.
(#7485) Support zypper 0.6 with zypper package provider

Zypper version 0.6.104 which is the default version on SLED 10 does not
support the --quiet flag. It only supports the --terse flag from
rug.
Zypper version 0.6.13 on OpenSuSE 10.2 does not support the auto agree
with licenses and this flag is not used.
Tested on:
SLE 10.2, 11.0, 11.1
OpenSuSE 10.2, 10.3, 11.1, 11.2, 11.3, 11.4
Merge pull request #232 from kscherer/ticket/2.7.x/7485-zypper-0.6-support

Ticket/2.7.x/7485 zypper 0.6 support
(#12405) Remove obsolete storeconfig purging code.

Now that `puppet node clean` can remove storeconfig data for a system, we can
eliminate this external bit of code.  There is nothing that this does that the
better integrated tool didn't already do.

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
(#12339) Clarifying source attribution.
(#12349) Order stderr output to fix acceptance test for `module list`

The stdout was ordered, but not the stderr, so the acceptance tests that
passed on my system failed when run by CI.

To order the stderr output I changed the format of the method that gets
unmet dependencies to be a hash that contains the dependency module name
in addition to the error message so that I could sort by that name.

There's also some additional documentation updates to the list command
to show example error output for unmet dependencies.

I changed the unsatisfied_dependencies method to unmet_dependencies
since in future changes that's how dependency problems will be described
to the user, and it's shorter.
Merge branch 'ticket/2.7.x/12349-order_module_list_stderr_output' of https://github.com/mmrobins/puppet into 2.7.x

* 'ticket/2.7.x/12349-order_module_list_stderr_output' of https://github.com/mmrobins/puppet:
  (#12349) Order stderr output to fix acceptance test for `module list`
(#12402) split log messages into individual lines before sending to syslog
Maint: Clarify ancient text about directories of symlinks

This commit replaces some unclear text about "recursive symlinks" that dated
from 2006.
Maint: Improve documentation of file type's source parameter

This commit tightens up the huge description of the source attribute, by:

* Explaining the recommended puppet URI format instead of the complete format
* Fixing a misleading example to use puppet URIs instead of local files
* Calling out the source/content/target trichotomy
* Inserting an example of how module layout maps to puppet URIs
Maint: General improvement of file type parameter doc strings

This commit clarifies several descriptions.
(#12412) Refactor puppet_resource('user') tests

Previously the Linux-specific logic for validating
puppet_resource('user') was contained within each 'user' test case. In
order to support executing resource acceptance tests on non-Linux
agents, I could have added if-then-else statements to each test case,
though that would lead to logic-sprawl.

This commit refactors the existing set of 'user' acceptance tests to
use native commands to validate that the tests work on any supported
agent platform. Specifically, that puppet_resource('user') can create,
modify, delete, query, and query_all, and that it doesn't try to
delete a non-existent user, or add a user that already exists.

The goal of these tests is to validate that puppet_resource "works"
with user resources, and can therefore be trusted to validate the
results of subsequence acceptance tests.

The commit also preserves tests that exercise unique behaviors,
e.g. should_create_with_gid.
(#12412) Refactor puppet_resource('group') tests

Previously, the Linux-specific logic for validating
puppet_resource('group') was contained within each 'group' test case. In
order to support executing resource acceptance tests on non-Linux
agents, I could have added if-then-else statements to each test case,
though that would lead to logic-sprawl.

This commit refactors the existing set of 'group' acceptance tests to
use native commands to validate that the tests work on any supported
agent platform. Specifically, that puppet_resource('group') can create,
delete, query, and query_all, and that it doesn't try to
delete a non-existent group, or add a group that already exists.

The goal of these tests is to validate that puppet_resource "works"
with group resources, and can therefore be trusted to validate the
results of subsequence acceptance tests.

The commit also preserves tests that exercise unique behaviors,
e.g. should_modify_gid.rb.