summaryrefslogtreecommitdiffstats
path: root/test/data
Commit message (Collapse)AuthorAgeFilesLines
* Enhance selector and case statements to match with regexpBrice Figureau2009-08-012-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | The case and selector statements define ephemeral vars, like 'if'. Usage: case statement: $var = "foobar" case $var { "foo": { notify { "got a foo": } } /(.*)bar$/: { notify{ "hey we got a $1": } } } and for selector: $val = $test ? { /^match.*$/ => "matched", default => "default" } Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* Fix #2033 - Allow regexp in if expressionBrice Figureau2009-08-012-6/+12
| | | | | | | | | | | | | | | | | | | This changeset introduces regexp in if expression with the use of the =~ (match) and !~ (not match) operator. Usage: if $uname =~ /Linux|Debian/ { ... } Moreover this patch creates ephemeral variables ($0 to $9) in the current scope which contains the regex captures: if $uname =~ /(Linux|Debian)/ { notice("this is a $1 system") } Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* Fix #2333 - Make sure lexer skip whitespace on non-tokenBrice Figureau2009-06-121-0/+4
| | | | | | | | | Comments and multi-line comments produces no token per-se during lexing, so the lexer loops to find another token. The issue was that we were not skipping whitespace after finding such non-token. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* Removed extra whitespace from end of linesIan Taylor2009-06-0615-941/+941
|
* Changed tabs to spaces without interfering with indentation or alignmentIan Taylor2009-06-069-4079/+4079
|
* Fix #1088 - part2 - Add rspec testsBrice Figureau2009-03-141-0/+8
| | | | Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* Fix #1560Paul Lathrop2009-01-221-0/+28
| | | | | | | | | | | | | | Adds an rspec test which demonstrates #1560 and a custom 'process' method for the aliases provider to fix it. The default processing uses split() to break the line into records on the separator, which breaks if records can contain the separator. The custom method I've added uses a 'limited' split() to break the line on the first separator only. This commit fixes #1560 Signed-off-by: Paul Lathrop <paul@tertiusfamily.net>
* Fix #1737 - ssh_authorized_keys should be able to parse options containing ↵Brice Figureau2008-11-111-0/+1
| | | | | | commas Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* Fix #1402 - Allow multiline commentsBrice Figureau2008-10-291-0/+6
| | | | Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* Fix #857 - Multiple class of the same name don't append codeBrice Figureau2008-10-291-0/+9
| | | | | | | | | | | | | | | | | | | | The following manifest wasn't working: class one { notice('class one') } class one { notice('second class one') } include one It all boiled down to class code not being arrays. Encapsulating code in ASTArray when needed is enough to append code, because of the property of ASTArray to evaluate all their members in turn. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* Fix #936 - Allow trailing comma in array definitionBrice Figureau2008-10-211-0/+3
| | | | Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* Fix #636 - Allow extraneous comma in function argument listBrice Figureau2008-10-211-0/+5
| | | | Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* Fix #1109 - allow empty if or else branchesBrice Figureau2008-10-071-0/+9
| | | | | | | | | | | | This changesets allow empty if or else branches: if true { } else { } It works by emitting on the parser stack an AST node that doesn't do anything (a no-op). This allows the less intrusive code as no part of the if evaluation code has been touched.
* Fix #1530: Correctly parse ssh type 1 keysFrancois Deppierraz2008-10-071-0/+3
| | | | | This doesn't implies that puppet can managed SSH type 1 keys, it only ignores them.
* Add parser for arbitrary expressionsBrice Figureau2008-10-012-0/+14
| | | | | | | | | | | | | | | | The expressions can be used in if 'test' and in the right side of assignements. The expressions can contain any number of sub-expressions combined by either arithmetic operators, comparison operators, or boolean operators. Random Usage Examples: $result = ((( $two + 2) / $one) + 4 * 5.45) - (6 << 7) + (0x800 + -9) or if ($a < 10) and ($a + 10 != 200) { ... }
* Add rspec unit test for the append operatorBrice Figureau2008-09-211-0/+11
| | | | Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* New native ssh_authorized_key typeFrancois Deppierraz2008-05-072-0/+7
|
* Fixed #997 -- virtual defined types are no longer evaluated.Luke Kanies2008-02-122-13/+20
| | | | | | | NOTE: This introduces a behaviour change, in that you previously could realize a resource within a virtual defined resource, and now you must realize the entire defined resource, rather than just the contained resource.
* All tests should now pass again.Luke Kanies2007-10-081-2/+2
| | | | | | | | | | | | | | This is the first real pass towards using caching. The `puppet` executable actually uses the indirection work, instead of handlers and such (and man! is it cleaner). Most of this work was a result of trying to get the client-side story working, with correct yaml caching of configurations, which means this commit also covers converting configurations to yaml, which was a much bigger PITA than it needed to be. I still need to write integration tests, and I also need to cover the server-side story of a normal configuration retrieval.
* All tests now pass in this configuration branch, which meansLuke Kanies2007-09-221-14/+0
| | | | | | | | it's time to merge it back into the indirection branch. Considering that this work was what drove me to create the indirection branch in the first place, i should now be able to merge both back in the master branch.
* Fixing #749 -- environment settings no longer accumulate. Significantly ↵luke2007-08-063-0/+370
| | | | | | adding to the cron tests at the same time, such that hopefully we will no longer have these recurring bugs. I now do every combinatorial of multi-line cron jobs, including doing them all in one file. There are, unfortunately, still edge cases, but maybe we will have some peace in cron space for a while, anyway. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2750 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding support for a "mailalias" type, with /etc/aliases support initially. ↵luke2007-07-101-0/+183
| | | | | | I have not yet figured out how to best rebuild the aliases file when necessary. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2676 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #550 -- I had to list pass and dump as optional fields.luke2007-06-111-2/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2564 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #615 (subclasses with similar names) by getting rid of the class ↵luke2007-05-033-16/+13
| | | | | | "type" and "fqname", and instead using "classname" everywhere. You should no longer see unqualified class/definition names anywhere. Also, rewriting how snippet tests work, to avoid creating all of the files, since the point was the parsing tests, not functional tests. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2458 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding example cron tab from #492 and making the read/write tests ignore ↵luke2007-03-181-0/+20
| | | | | | whitespace. This cron now parses successfully, as I thought it would with the move to providers. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2291 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing cron support (I hope). It now uses providers, and seems to work, at ↵luke2007-03-176-0/+52
| | | | | | least on my os x box. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2284 980ebf18-57e1-0310-9a29-db15c13687c0
* Moving some of the stand-alone classes into the util/ subdirectory, to clean ↵luke2007-02-071-0/+1
| | | | | | up the top-level namespace a bit. This is a lot of file modifications, but most of them just change class names and file paths. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2178 980ebf18-57e1-0310-9a29-db15c13687c0
* Partially fixing #460, take 3 -- fully-qualified classes can now be included.luke2007-01-301-2/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2128 980ebf18-57e1-0310-9a29-db15c13687c0
* Partially fixing #460, take 2 -- fully-qualified definitions can now be used.luke2007-01-302-0/+16
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2127 980ebf18-57e1-0310-9a29-db15c13687c0
* splitting the tagmail report into multiple methods and adding test codeluke2007-01-302-0/+33
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2122 980ebf18-57e1-0310-9a29-db15c13687c0
* Re-enabling the dirchmod test and fixing its syntaxluke2007-01-041-6/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2041 980ebf18-57e1-0310-9a29-db15c13687c0
* Handle continuation lines in inifiles properly; stick a little closer to how ↵lutter2007-01-041-0/+3
| | | | | | python's ConfigParser parses git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2032 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #348. Overrides now support an extra end-comma.luke2006-12-231-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1969 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #343. Collections and definition evaluation both now happen on every ↵luke2006-12-231-0/+13
| | | | | | iterative evaluation, with collections being evaluated first. This way collections can find resources that either are inside defined types or are the types themselves. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1967 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #349. Doing some hackery so defined types can now (again) be used as ↵luke2006-12-231-0/+8
| | | | | | dependencies. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1966 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #372 and #374. All is not perfect, since OS X still cannot set UID, ↵luke2006-12-191-0/+1
| | | | | | but it is much better. There is still plenty of bug-fixing to do on other platforms, I expect. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1954 980ebf18-57e1-0310-9a29-db15c13687c0
* Reworking the package tests. Now providers are tested individuallyluke2006-12-142-2/+66
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1921 980ebf18-57e1-0310-9a29-db15c13687c0
* Hosts now work again, and it should be straightforward to create a netinfo ↵luke2006-11-131-0/+5
| | | | | | provider, too. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1864 980ebf18-57e1-0310-9a29-db15c13687c0
* Ports are still broken, but I need to work on something else while I am ↵luke2006-11-132-0/+11866
| | | | | | thinking about how to fix them. Stupid /etc/services. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1863 980ebf18-57e1-0310-9a29-db15c13687c0
* Another round of bug-fixes in preparation for 0.20.0luke2006-10-181-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1813 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding a "realize" function that can be used to make one or more resource ↵luke2006-10-181-0/+14
| | | | | | non-virtual. It is just syntactic sugar for a collection by title. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1808 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing virtual object collection. I apparently broke it when I added rails ↵luke2006-10-181-0/+10
| | | | | | collection back, and I never created any end-to-end tests. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1805 980ebf18-57e1-0310-9a29-db15c13687c0
* Merging the changes from the override-refactor branch. This is a ↵luke2006-10-0434-0/+520
| | | | | | significant rewrite of the parser, but it has little affect on the rest of the code tree. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1726 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding some test reportsluke2006-09-222-0/+216
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1667 980ebf18-57e1-0310-9a29-db15c13687c0
* Removing all of the changes I made towards refactoring in the last couple of ↵luke2006-09-051-1/+1
| | | | | | days. They have all been moved into the sync-retrieve-refactor branch. This branch will soon become 0.19.0, and will not include that refactoring. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1555 980ebf18-57e1-0310-9a29-db15c13687c0
* Committing functional mount support. All that's left in this chunk of work ↵luke2006-09-051-1/+1
| | | | | | is cron. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1552 980ebf18-57e1-0310-9a29-db15c13687c0
* Fix a small bug in mount where parsing fails if dump and pass are missing ↵lutter2006-06-303-0/+29
| | | | | | (they are optional on Linux) Revamp the tests slightly so that they parse fstabs provided in svn rather than relying on the fstab on the system the test is running on. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1343 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding support for special freebsd @schedule crap. Also making sure that ↵luke2006-06-271-0/+2
| | | | | | cron listing works as expected. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1317 980ebf18-57e1-0310-9a29-db15c13687c0
* Reworking cron; adding many unit tests, and making it much more like a ↵luke2006-05-251-0/+14
| | | | | | ParsedType (although still not quite the same). Too many of my tests were invalid; I think those are all fixed now, and it appears to work as desired. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1223 980ebf18-57e1-0310-9a29-db15c13687c0
* New yumrepo type for basic management of the yum configuration oflutter2006-03-312-0/+32
| | | | | | | one repo. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1043 980ebf18-57e1-0310-9a29-db15c13687c0