summaryrefslogtreecommitdiffstats
path: root/spec/unit
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | | | | Fix #6281 - Make sure puppetdoc analyzes all filesBrice Figureau2011-02-111-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It can happen that when parsing a file puppet parses other manifests if they get imported (this is at least true for site.pp, even in ignoreimport=true). Thus those files are now "watched". But puppetdoc needs to analyze all files, and since 99c101 we are now checking if the file was already parsed to not reparse it again. If that was the case, though, we weren't analyzing the produced code. Thus it was possible to not produce documentation for the site.pp content. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
| | * | | | | | Fix #6280 - puppetdoc crashing on string interpolationBrice Figureau2011-02-111-3/+3
| | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following manifest was crashing puppetdoc: class test { include "test::$operatingsystem" } Because the quoted string is "rendered" as a concat AST, which in turn ended being an array when entering RDoc. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
| * | | | | | Merge remote branch 'dan/ticket/2.6.4/5977' into 2.6.nextJesse Wolfe2011-02-081-0/+24
| |\ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| | * | | | | (5977) Puppet::Applications can be loaded from multiple paths.Dan Bode2011-01-141-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - previously, Puppet would search $LOAD_PATH and just load applications in the first $LOAD_PATH to have the directory puppet/application. Now multiple paths can contain applications.
* | | | | | | maint: Fix a randomization test failureMatt Robinson2011-03-031-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit for #2597 included a test that asserted the text resulting from detecting a cycle. However, the cycle detection could start randomly from any node, resulting in different text in the error. I'm not sure what the randomization key would be based on since the test failed consistently over dozens of runs for me, and didn't for Daniel. Paired-with: Daniel Pittman <daniel@puppetlabs.com>
* | | | | | | (#6582) stub puts to prevent screen output when testing help.Daniel Pittman2011-03-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We only really want to verify that the code exits, but the current implementation emits text directly; this results in messing up the tests, which we can avoid with this tiny shim. Reviewed-By: Nick Lewis <nick@puppetlabs.com>
* | | | | | | (#6582) eliminate a backtrace from mismatched block arguments.Daniel Pittman2011-03-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was tightly coupled to the code implementation; it mostly still is, but now allows argument extension without needing to adjust the test which is only focused on the first argument anyhow. Reviewed-By: Nick Lewis <nick@puppetlabs.com>
* | | | | | | (#6582) unstub Puppet settings to improve indirector queue tests.Daniel Pittman2011-03-031-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code was stubbing Puppet settings, which is no longer required now we reset them between tests. Using the real thing reduces points that the rest of the code can break, too. As a side effect this caused Puppet[:trace] to be "true", which meant that we emitted a huge, nasty backtrace during the testing of a specific internal failure handling case. Reviewed-By: Nick Lewis <nick@puppetlabs.com>
* | | | | | | (#6582) eliminate fakeresource use in ssh_authorized_key spec.Daniel Pittman2011-03-032-27/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We replace it with an instance of the actual resource we are testing, which reduces the number of ways this code is tied to the specific implementation. Reviewed-By: Nick Lewis <nick@puppetlabs.com>
* | | | | | | (#6582) eliminate fakeparsefile helper method.Daniel Pittman2011-03-033-32/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was a helper that implemented rspec style "shared behaviour" for Test::Unit; now that we have moved on we can use the upstream implementation instead. This eliminates a whole bit of code we have to maintain. Reviewed-By: Nick Lewis <nick@puppetlabs.com>
* | | | | | | (#6582) Eliminate the old fakedata helper method.Daniel Pittman2011-03-036-28/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is replaced with the new my_fixture{,s} methods; old fixture data is ported into the spec tests at the same time, but left where it was against unit tests that require it. Reviewed-By: Nick Lewis <nick@puppetlabs.com>
* | | | | | | (#6407) Fix spec test hang with Mocha >= 0.9.11 in zlib testingDaniel Pittman2011-03-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had a combination of bad logic, and bad testing, and a nasty behaviour of Mocha <= 0.9.10 that would result in a false pass for one of our tests. This not only falsely passed, but hid an infinite loop retrying decompression on an invalid data stream; it could be triggered by anything that sent an HTTP request with an invalid compressed body, resulting in a livelock. Paired-with: Jesse Wolfe <jesse@puppetlabs.com> Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
* | | | | | | Merge branch 'ticket/next/5496' into nextNick Lewis2011-03-011-0/+30
|\ \ \ \ \ \ \
| * | | | | | | (#5496) Added tests for the new zpool output formatDevon Peters2011-03-011-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed-By: Nick Lewis
* | | | | | | | Revert #5691 "Merge remote branch 'brice/feature/process-instrumentation' ↵Jesse Wolfe2011-03-011-207/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into next" This reverts commit 448a439f5abc3d51accececb678e9c5f547f7615, reversing changes made to 06939c51a3f675137b53fac8a521132a4c9cfcbe. As per discussion in http://projects.puppetlabs.com/issues/5691#note-5
* | | | | | | | Merge remote branch 'brice/feature/process-instrumentation' into nextJesse Wolfe2011-02-251-0/+207
|\ \ \ \ \ \ \ \
| * | | | | | | | Process name instrumentation infrastructureBrice Figureau2010-12-181-0/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is special feature that changes the process name of the running puppet entity to display its current activity. It is disabled by default, and can be enabled by sending the QUIT signal to the process in question (or calling enable through the code). This system can work only if some "probes" are integrated in the core puppet codebase. Since tools to visualize process names have a large refresh time (ie more than 1s) it only makes sense to track long activities (like compilation, transaction or file serving). Those probes are the subject of a subsequent patch. This system tracks every thread activity and form a strings which will be used as the process name. Due to the way it is implemented it is possible that it doesn't work on all platforms (I tested successfully on osx and linux). On some systems the space available is dependent on the original size of the full command. That's why if this string is longer than a 50 characters, the string is scrolled (like stock market tickers). Note: This is not intended to be a generic instrumentation system. Also, being block based means that it can reduce performance if the instrumentation probes are used in tight inner loops. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* | | | | | | | | Merge branch 'feature/next/2597-better-cycle-reporting' into nextDaniel Pittman2011-02-031-0/+101
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | Feature #2597 -- generate a DOT graph of cycles on request.Daniel Pittman2011-02-031-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the '--graph' option is specified, generate a new 'cycles.dot' file and report the location of that to the user. This contains only the cycles, in dot format, allowing a visual representation of the cycle to be obtained quickly. This will include up to 10 paths through the cycle in the graph, and only one in the display to the user, to reduce information overload.
| * | | | | | | | | Feature #2597 -- report all paths in each cycle found.Daniel Pittman2011-02-031-1/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than reporting the cluster of vertexes in the dependency graph, which is interesting but not entirely informative, we now calculate and report the paths through the graph that form cycles. This returns the most useful information, which is the exact path that the dependency cycle has, allowing the user to (hopefully) immediately target it and start to work out why the cycle has formed there. We strongly prefer short paths through the dependency graph within the cycle, which should report the most useful loops to target first; extended loops involving more items will show up later if they are independently created. We also limit the number of paths reported (default: 10) to avoid overwhelming the error report with the combinatorial explosion that can easily result from a large scale cycle. (eg: Package => User => Package or something.)
| * | | | | | | | | Feature #2597 -- use iterative DFS in Tarjan clustering.Daniel Pittman2011-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to bypass the limitations of the C stack, which is also the Ruby stack, we replace the simple and clear recursive Trajan implementation with an iterative version that uses the heap as the stack. This is somewhat harder to read, but can now run a 10,000 vertex deep linear dependency relationship where, previously, 1,250 was about the limit on my machine. This should now be bounded by the size of the heap rather than the stack on all platforms -- though it would be nice to get rid of the magic and return to the recursive version if Ruby ever follows Perl down the sensible path of essentially unlimited recursion by writing that code for us in the interpreter...
| * | | | | | | | | Feature #2597 -- really find and report cycles.Daniel Pittman2011-02-031-1/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements Tarjan's algorithm for finding strongly connected components in a directed graph, and leverages that to find cycles. This allows us to report the minimum set of nodes in each cycle, as well as reporting each cycle discretely if there are multiple of them. While this can still produce overwhelming and/or unhelpful output, it represents a large step forward in delivering useful information when a cycle is detected. This presently reports the set of nodes that contain the cycle, in no particular order, rather than the set of edges connecting those nodes. Sadly, it also suffers a limitation: the implementation of Tarjan's algorithm used to find strongly connected components is recursive, so is limited by the maximum Ruby stack depth to dependency chains less than 1,000 nodes deep. While this is probably not a limit in practice, it is a nasty limitation, and other considerations (like Ruby stack consumption across versions) could trigger this much sooner than is desirable.
| * | | | | | | | | Feature #2597 -- nicer reporting of relationships.Daniel Pittman2011-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split out the reporting from a single line (often with literally hundreds or thousands of items) into a multi-line report. This is still nasty, but at least it is easier to use as input to other systems. This will also auto-join to a single line when sent to targets such as syslog that do not approve of newlines in messages; this preserves the utility of the message without needing to lose console utility.
| * | | | | | | | | Feature #2597 -- fix cycle relationship notification format.Daniel Pittman2011-02-031-0/+6
| | |_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SimpleGraph class was reporting duplicate data when printing cycles: Notify[c]Notify[c] => Notify[d] Notify[a]Notify[a] => Notify[b] This was caused by throwing the array representation of the edge into a string, rather than just the relationship data; we only care about the later, so now we only emit that later and have the correct text in the error.
* | | | | | | | | Merge branch 'maint/2.6.next/help' into nextJesse Wolfe2011-02-033-3/+62
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | |
| * | | | | | | | Maint: remove rdoc/usage dependencyJesse Wolfe2011-02-031-3/+2
| | |_|/ / / / / | |/| | | | | |
| * | | | | | | (#5823) run mode can now be set dynamically...Daniel Pittman2011-02-031-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Third party scripts, and complex command line tools, depend on being able to configure the run_mode value at runtime, not just when they fire up. For better or worse we used to allow this sort of thing to work, but stopped, and we have no sane, safe and consensual alternative, so we broke a bunch of client code. This enables the feature again, but does not add any safety catch; you can now happily slice off your own feet with this, if you really want to.
| * | | | | | | (#4139) hook log autoflush into global defaultsDaniel Pittman2011-02-032-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We previously had an ordering dependency in the autoflush option, which was statically read from defaults when the log destination was configured. We add a hook in the defaults to update the log subsystem, which in turn updates log destinations, when autoflush is changed. This would work as desired: puppet agent --autoflush --logdest=file This would not work, as autoflush would be false: puppet agent --logdest=file --autoflush Now those changes propagate correctly. Paired-with: matt@puppetlabs.com
* | | | | | | | Merge branch '2.6.x' into nextMatt Robinson2011-02-0220-74/+540
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 2.6.x: (46 commits) Augmentation of tests for prior commit Fix to fix for #5755 -- backref serialization issues in zaml Fixed #5564 - Added some more fqdn_rand documentation Fixed #4968 - Updated list of options turned on by --test in documentation (#5061) - allow special hostclass/define variables to be evaluated as defaults. (#6107) Fix an error when auditing a file with empty content Remove already initialized constant warning from file_spec.rb tests (#5566) Treat source only File checksums as syntax errors when used with content Rename variable used in File type validation to be more clear Remove invalid "timestamp" and "time", and add missing "ctime" File checksum types. Remove order dependency when specifying source and checksum on File type Bug #5755 -- ZAML generates extra newline in some hash backreferences. bug #5681 -- code fix to handle AIX mount output Bug #5681 -- parse AIX mount command output. Spec for #5681 to allow parsing of AIX mount output in mount provider Fixed #6091 - Changed POSIX path matching to allow multiple leading slashes Bug #6091 -- test leading double-slash in filenames are allowed. Fixed #6071 - Fixed typo and improved exec path error message Fixed #6061 - Allowed -1 as password min/max age Bug #6061 -- verify that negative {min,max}_password_age are accepted. ... Manually Resolved Conflicts: lib/puppet/util/zaml.rb spec/unit/util/zaml_spec.rb
| * | | | | | | Merge branch '2.6.next' of git://github.com/puppetlabs/puppet into 2.6.nextMarkus Roberts2011-02-013-2/+29
| |\ \ \ \ \ \ \
| | * \ \ \ \ \ \ Merge remote branch 'bodepd/feature/2.6.4/5910' into 2.6.nextPaul Berry2011-02-011-0/+8
| | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * bodepd/feature/2.6.4/5910: (#5910) Improved logging when declared classes cannot be found:
| | | * | | | | | | (#5910) Improved logging when declared classes cannot be found:Dan Bode2011-01-121-0/+8
| | | | |_|/ / / / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, when a class could not be found, it was displaying the same error message as when a resource type could not be found. This resulted in confusing error message: Invalid resource type class, when really it should display the name of the class that could not be found. My patch changes the error message to: Could not find declared class #{title}
| | * | | | | | | Merge branch 'ticket/2.6.x/5913' of git://github.com/mitchellh/puppet into ↵Jacob Helwig2011-02-011-0/+19
| | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2.6.next * 'ticket/2.6.x/5913' of git://github.com/mitchellh/puppet: (#5913) Fix Puppet::Application.find constant lookup behavior
| | | * | | | | | | (#5913) Fix Puppet::Application.find constant lookup behaviorMitchell Hashimoto2011-01-161-0/+19
| | | | |_|_|_|_|/ | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Puppet::Application.find now only looks in the Puppet::Application namespace for the given constant.
| | * | | | | | | Merge remote branch 'james/tickets/2.6.x/5916' into 2.6.nextJesse Wolfe2011-02-011-2/+2
| | |\ \ \ \ \ \ \
| | | * | | | | | | Fixes #5916 - Cleanup of unused doc methods and documentationJames Turnbull2011-01-171-2/+2
| | | |/ / / / / /
| * | | | | | | | Augmentation of tests for prior commitMarkus Roberts2011-02-011-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no good answer to tests that depend on the order of itteration over hashes.
| * | | | | | | | Fix to fix for #5755 -- backref serialization issues in zamlMarkus Roberts2011-02-011-1/+25
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit addresses the original issue that the change reverted in the previous commit for #5755 was intended to fix by removing the special case on labels in emit (lables, even if they are never generated, are not "new lines" and thus @recent_nl should always be set to false when one is emitted). It also partially addresses a related issue wherein temporary strings generated when field names are constructed recycle their object_id (they are temporary) and thus cause incorrect back references. This commit "fixes" the problem by never generating backrefs to strings (treating them as immutable). It does not address other suspected issues such as thread safety durring serialization due to the use of class variables to store the seen-object hash or the use of object ids as "permanently unique" identifiers. Paired with: Daniel Pittman Advice & Commiseration: Jesse Wolfe
| * | | | | | | Merge branch 'feature/master/5061' into 2.6.nextPaul Berry2011-02-011-0/+22
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feature/master/5061: (#5061) - allow special hostclass/define variables to be evaluated as defaults.
| | * | | | | | | (#5061) - allow special hostclass/define variables to be evaluated as defaults.Dan Bode2011-02-011-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have always been annoyed that special variables for defines and hostclasses can not be evaluated as param defaults. Special variables are: $name, $title, $module_name. Code example: class x ( foo = $name ) { notice($foo)} should print x, and with my patch, it does. Reviewed-by: Paul Berry <paul@puppetlabs.com>
| * | | | | | | | Merge branch 'ticket/2.6.next/5045' into 2.6.nextMatt Robinson2011-02-012-9/+118
| |\ \ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ticket/2.6.next/5045: (#5045) Cleaning up some tests and code (#5045) External node classifiers should be able to specify params for classes (#5045) Adds support to resource/type to also accept a param hash
| | * | | | | | | (#5045) Cleaning up some tests and codeMatt Robinson2011-01-242-33/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Renamed some variables to be clearer, made tests use less stubbing, added some additional tests and got rid of some unecessary logic. Paired-with: Dan Bode
| | * | | | | | | (#5045) External node classifiers should be able to specify params for classesDan Bode2011-01-241-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It facilitates the support for param classes from the ENC. It adds support for classes to be passed as a hash to the evaluate_classes method. If a hash of classes is specified, it also evaluates duplicates. I also had to convert the hash to an array for tags to be applied correctly. Reviewed-by: Matt Robinson
| | * | | | | | | (#5045) Adds support to resource/type to also accept a param hashDan Bode2011-01-241-0/+25
| | | |_|_|_|/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The params are added as attributes when the resource is created. Also, even if the class already exists, if params are passed, we still try to create it. Reviewed-by: Matt Robinson
| * | | | | | | Merge branch 'ticket/2.6.next/6107' into 2.6.nextMatt Robinson2011-02-012-0/+61
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ticket/2.6.next/6107: (#6107) Fix an error when auditing a file with empty content
| | * | | | | | | (#6107) Fix an error when auditing a file with empty contentMatt Robinson2011-02-012-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The manifest: file { "/tmp/foo" : ensure => present, audit => content, } produced the error: err: /Stage[main]//File[/tmp/foo]/ensure: change from absent to present failed: Could not retrieve content for from filebucket: private method `sub' called for nil:NilClass at /Users/matthewrobinson/work/puppet/test.pp:4 This was due to logic in content assuming that if you didn't specify content while you were auditing it you must have specified a source. The code paths in the file type badly need a cleanup so that these sorts of errors aren't so difficult to track down and things are easier to test. Paired-with: Daniel Pittman
| * | | | | | | | Remove already initialized constant warning from file_spec.rb testsJacob Helwig2011-02-011-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rspec pulls constants from the implementation into the test, so we don't need to redefine it. Reviewed-by: Jesse Wolfe <jesse@puppetlabs.com>
| * | | | | | | | (#5566) Treat source only File checksums as syntax errors when used with contentJacob Helwig2011-02-011-0/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Certain checksum types (ctime, mtime) only make sense when used with the 'source' File parameter, since there is no way to check them on raw strings. Given the limitations of the current checksumming implementations, it is likely to introduce unexpected behavior when using the 'none' checksum type and either one of the 'source', and 'content' File parameters. Because of this, it is now a syntax error to use a checksum of 'none' with either parameter. Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
| * | | | | | | | Remove order dependency when specifying source and checksum on File typeJacob Helwig2011-02-011-0/+15
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If source was specified after setting the checksum, it would cause the checksum to be set back to :md5. This was completely unnecessary, because the checksum has its own default of :md5. Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
| * | | | | | | Bug #5755 -- ZAML generates extra newline in some hash backreferences.Daniel Pittman2011-01-311-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This data structure generates YAML with an extra newline that violates the syntax rules and all: list = [1] { :a => list, :b => list }.to_yaml This breaks real client use of the YAML catalogs, not to mention our own use of cached catalogs...