summaryrefslogtreecommitdiff
path: root/spec/unit/module_tool/applications/unpacker_spec.rb
AgeCommit message (Collapse)AuthorFilesLines
2014-07-31(PUP-2912) Puppet FS symlinks in build/unpackBrandon High1-2/+3
Prior to this commit build/unpack were trying to use the Ruby stdlib symlink to deal with symlinks. This fails on platforms (Windows) that Puppet says supports symlinks because it does not duck punch Ruby stdlib. This commit switches the specs and code for build/unpack to use Puppet FS lib's symlink functions. This should allow it to function correctly on Windows hosts that Puppet supports symlinks.
2014-07-31(PUP-2912) Build/unpack spec tests w/o symlinksBrandon High1-2/+2
Prior to this commit we would try to use symlinks in the tests on platforms that do not support symlinking. This commit uses the Puppet feature checker to conditionally try the tests if Puppet thinks the platform supports symlinks (Unixes, Linuxes, Win 2k8+).
2014-07-29(PUP-2912) Builder/unpacker spec testsBrandon High1-0/+39
Adding spec tests to check for symlinks in build/install.
2014-04-17(PUP-2093) Improve documentation and test names.Pieter van de Bruggen1-1/+3
Prior to this commit, there were a number of places where documentation was missing and test names were insufficiently descriptive. This commit adds additional clarity around those places, and makes a couple of code clarity changes as well.
2014-04-04(PUP-2093) Migrate PMT to /v3 API.Pieter van de Bruggen1-12/+10
Prior to this commit, the PMT managed all communication with the Forge via the (now legacy) /v1 API. That API has been deprecated (primarily due to scalability concerns), which is less of an issue since it was never officially a public API. This commit migrates all communication to the Forge to the new /v3 API, which is expected to be launched as our official public API "soon". This commit also integrates a standalone dependency resolver, as the /v3 API contains no implicit dependency resolution (as the /v1 API did); consequently, large portions of the PMT code have been changed, and others have become unreachable. This commit also changes the default host that the PMT communicates with, from https://forge.puppetlabs.com to https://forgeapi.puppetlabs.com (the natural URL for the Forge API service). Since the tool now expects to communicate with a completely different service, it will be unable to communicate with services that do not implement the same /v3 API.
2013-04-15(#11276) Enable module tool on WindowsJosh Cooper1-12/+8
This commit allows the module tool to run on windows and updates the spec tests as they are no longer pending.
2013-04-15(#11276) Select tar command or minitarJosh Cooper1-50/+21
Previously, the module tool relied on GNU versions of tar and gzip/gunzip to build and install modules, which isn't portable on Windows in particular. This commit adds Gnu, Solaris, and Mini tar implementations for packing and unpacking tar.gz format. It modifies the module tool to select the appropriate implementation for the platform it's currently running on. Paired-with: Andy Parker <andy@puppetlabs.com>
2012-08-29Maint: Use pending blockJosh Cooper1-5/+11
This commit removes the `fails_on_windows` filter in favor of a pending block. This way we document what tests don't currently pass on Windows, and it ensures that the test fails or raises. If the test runs without a problem, the test will be reported as a failure, so that we know the test is no longer pending.
2012-07-27(#15514) Add compatibility with change to operatingsystem factHailee Kenney1-2/+2
Priror to this commit, Puppet had many conditionals based of the operatingsystem fact returning `:solaris`. This fact now supports (and can return) several different version of Solaris. Change the conditionals in Puppet which rely on Solaris to rely on the osfamily fact instead, to prevent issues with this change in Facter. <hailee@puppetlabs.com>
2012-07-12(#15492) Deprecate the usage of Puppet::Util.execute in module faceKen Barber1-2/+2
The Puppet::Util.execute method is moving to Puppet::Util::Execution.execute, so to remove warning messages this patch changes the code that still uses the old methodology to the new methodology introduced in 3.x.
2012-06-28(#14715) Use gtar with 'puppet module install' on SolarisKen Barber1-0/+61
Previously we were assuming there was a usable GNU tar in the path for Solaris, but Solaris provides its own tar implementation which works quite differently. Solaris tar is also unsafe, as it allows unpacking repositories to absolute paths. This patch changes the behaviour of the unpacker code during module installation to use the 'gtar' implementation found on most Solaris 10 systems, and later part of core with Solaris 11. 'gtar' is also available on older Solaris systems from package providers such as OpenCSW and Blastwave. This also adds some unit tests for puppet/module_tool/applications/unpacker.