summaryrefslogtreecommitdiffstats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
...
| * | fix #815: add :main to all use() for :reporting and :metricsDavid Schmitt2007-11-091-2/+2
| |/
* | Fixed most failing tests, but there are still over thirty failing.Luke Kanies2007-11-1824-328/+203
| | | | | | | | | | | | At this point, I'm holding the experiment until after the release, so I'm committing this for now and will take it back up after 0.24.0 is out.
* | Fixing a parser test -- really, just removing testsLuke Kanies2007-11-131-17/+3
| | | | | | | | | | | | | | | | that belong with the AST classes rather than in the parser. Yeah, these tests need to be rewritten. Committed on an airplane. :)
* | Fixing #800 by refactoring how configurations are retrievedLuke Kanies2007-11-1214-264/+146
| | | | | | | | | | | | | | | | | | from the server. The real problem was getting all of the validation done before any caching, which required a good bit more refactoring than I expected. In actuality, this commit is relatively small even though it covers many files; most of the changes just make the code clearer or shorter.
* | Moving some compile tests to the spec/ directory, andLuke Kanies2007-11-121-73/+0
| | | | | | | | | | | | | | | | | | | | | | | | switching the node scope to no longer be lazy evaluation, just like I switched 'main'. When I made all of these classes and nodes lazy evaluated, I should have decoupled my real goal (using resources to evaluate them) from the idea of lazy-evaluating them, and this basically does that. I also changed the scope heirarchy slightly so that scopes will tend to be below the node scope, altho this was already generally the case.
* | Changing the 'main' class to no longer be lazy-evaluated.Luke Kanies2007-11-121-5/+8
|/ | | | | It was getting evaluated after node classes, which caused even stranger ordering issues.
* Merge branch 'master' of ssh://reductivelabs.com/opt/rl/git/puppetLuke Kanies2007-11-083-52/+6
|\
| * Switching the class resource evaluation to only happenLuke Kanies2007-11-081-1/+1
| | | | | | | | | | when using :include, not (for example) when evaluating node classes.
| * Classes once again get evaluated immediately when theLuke Kanies2007-11-083-52/+6
| | | | | | | | | | | | | | | | | | | | 'include' function is used, instead of being lazy-evaluated. Previous work caused resources to get created to model these classes, but in the process, I removed the fact that the classes were evaluated immediately. This meant that you couldn't guarantee that a class was evaluated before you went to use its variables.
* | Fixing the 'mount' tests so that they no longerLuke Kanies2007-11-084-270/+19
|/ | | | | modify the local system and they run fine as non-root users.
* Switching the base class for the Relationship class.Luke Kanies2007-11-082-74/+3
| | | | | | | | | | | | | | It was previously using the GRATR::Edge class, which had wonky overrides that dramatically slowed down sorting (its hash mechanism hashed the source and target so that edges with the same source/target got the same hash, which we actually don't want any more). This shouldn't change any functionality, just performance. I didn't retain all functionality from the Edge class, but a lot of that functionality was, um, horrible, like Edge[] being equivalent to Edge.new.
* Splitting the puppetd tests into two tests. It is still not a very good ↵Luke Kanies2007-11-081-27/+22
| | | | test, but I do not know of a good way to test this, really.
* Switching the graph base class from GRATR::DigraphLuke Kanies2007-11-071-31/+0
| | | | | | to Puppet::SimpleGraph, which should dramatically enhance performance. It should be largely functionally equivalent, with the only difference being that edges are no longer deduplicated.
* Changing the test/ classes so that they work from the mainLuke Kanies2007-10-26139-140/+142
| | | | | | test/ dir or from their own working dir, like the specs do. This was just a question of changing how their libraries are loaded.
* Fixing failing tests, including making the debian serviceLuke Kanies2007-10-132-19/+5
| | | | provider test work on non-Debian platforms.
* Translating the report handler to an indirected model.Luke Kanies2007-10-132-108/+8
| | | | | | | | | | | I've provided backward compatibility with the old handler. The only terminus type that currently exists for reports is the 'code' terminus, which is used to process reports in the style of the old handler. At some point, we should likely switch at least some of these report types (e.g., 'store') to terminus types.
* Merge branch 'master' of git://michaelobrien.info/puppet into michaelLuke Kanies2007-10-091-1/+10
|\
| * Merge branch 'parser-absent' of http://marcin.owsiany.pl/tmp/puppet into ↵Michael V. O'Brien2007-10-091-1/+10
| |\ | | | | | | | | | porridge
| | * Make it apparent that absent fields in a record have a value of :absent, ↵Marcin Owsiany2007-10-061-1/+10
| | | | | | | | | | | | which is different from what appears in a line.
* | | Merge branch 'master' of git://michaelobrien.info/puppet into michaelLuke Kanies2007-10-0915-148/+139
|\| |
| * | Merge branch 'master' of git://michaelobrien.info/puppetLuke Kanies2007-10-091-0/+71
| |\ \
| | * | Fixed #822. Applied patch provided by DavidS.Michael V. O'Brien2007-10-081-0/+71
| | | |
| * | | All tests should now pass again.Luke Kanies2007-10-087-54/+28
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Another round of test-fixing around the changes I madeLuke Kanies2007-10-054-28/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | to the configuration system. 'puppet' itself still works, even with -e, but I expect that puppetd and puppetmasterd are broken, and there are still quite a few broken tests because the default fact store can't write but that's the default behaviour for a networked configuration master.
| * | Adding a :code setting for specifying code to runLuke Kanies2007-10-054-26/+13
| | | | | | | | | | | | | | | | | | | | | | | | instead of a manifest, and removing all of the ambiguity around whether an interpreter gets its own file specified or uses the central setting. Most of the changes are around fixing existing tests to use this new system.
| * | This commit is focused on getting the 'puppet' executableLuke Kanies2007-10-053-42/+18
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to work. As a result, it involves a lot of integration-level testing, and a lot of small design changes to make the code actually work. In particular, indirections can now have default termini, so that configurations and facts default to their code terminus Also, I've removed the ability to manually control whether ast nodes are used. I might need to add it back in later, but if so it will be in the form of a global setting, rather than the previous system of passing it through 10 different classes. Instead, the parser detects whether there are AST nodes defined and requires them if so or ignores them if not. About 75 tests are still failing in the main set of tests, but it's going to be a long slog to get them working -- there are significant design issues around them, as most of the failures are a result of tests trying to emulate both the client and server sides of a connection, which normally would have different fact termini but in this case must have the same terminus just because they're in the same process and are global. The next step, then, is to figure that process out, thus finding a way to make this all work.
* / Moving the webrick/mongrel "servers" over to HTTPServer module instead of ↵Rick Bradley2007-10-055-10/+10
|/ | | | Server. Using Server as the master class for client connections. Server (former RESTServer) will instantiate the appropriate subclass based upon Puppet configurator setting. There are now tests broken in the network section which I can't seem to figure out yet. Not a happy place to be.
* Fixed #827. Applied a form of the patch provided by porridge andMichael V. O'Brien2007-10-041-1/+2
| | | | wrote a test.
* Attempting to reproduce and fix #829 by applying patch by Paul. I could notLuke Kanies2007-10-041-1/+6
| | | | | | get a test to show the exception, nor could I figure out how the coding bug could have actually had an impact, but it's an innocent-enough fix, so I'm fine applying it.
* Merge branch 'master' of ssh://reductivelabs.com/opt/rl/git/puppetLuke Kanies2007-10-03133-133/+0
|\ | | | | | | | | | | | | Conflicts: lib/puppet/defaults.rb lib/puppet/dsl.rb
| * Removing the Id tags from all of the filesLuke Kanies2007-10-03133-133/+0
| |
* | I finally tracked down the problem that was causing providersLuke Kanies2007-10-034-15/+30
|/ | | | | | | | | | | | to sometimes suddenly disappear and thus tests to fail -- Kernel.require was not loading the normal ruby path (e.g., 'puppet/type/cron'), so if someone else loaded that then it would replace the in-memory type with a new one, but that new one couldn't load its own providers, because the Kernel would ignore the providers, thinking they were already loaded. This doesn't fix all of the autoloading problems, but at least we won't suddenly break a ton of tests.
* Merge branch 'master' of git://reductivelabs.com/puppetDavid Lutterkort2007-10-023-14/+19
|\
| * Fixed a failing test where we presumed that non-string Fact values would ↵Rick Bradley2007-10-021-1/+1
| | | | | | | | have type preserved across a P::N::Client.master.facts call, which is not true.
| * Fixed a test which was secretly sneaking off and pulling certs from ~ if ↵Rick Bradley2007-10-022-13/+18
| | | | | | | | they were there: Added set_mygroup method, removed duplicate setme method. Included PuppetTest in the XMLRPC servlect test.
* | Use external helper script to talk to yum; should avoid any more trouble ↵David Lutterkort2007-10-021-0/+3
|/ | | | | | with "yum list". Fixes trac #836 Signed-off-by: David Lutterkort <dlutter@redhat.com>
* Merge branch 'indirection' of git://reductivelabs.com/puppet-lukeLuke Kanies2007-09-2544-2199/+379
|\
| * Renaming the 'Puppet::Util::Config' class toLuke Kanies2007-09-2210-28/+27
| | | | | | | | | | | | | | 'Puppet::Util::Settings'. This is to clear up confusion caused by the fact that we now have a 'Configuration' class to model host configurations, or any set of resources as a "configuration".
| * Merge branch 'configurations' into indirectionLuke Kanies2007-09-2230-1036/+298
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: lib/puppet/defaults.rb lib/puppet/indirector/facts/yaml.rb spec/unit/indirector/indirection.rb spec/unit/indirector/indirector.rb
| | * All tests now pass in this configuration branch, which meansLuke Kanies2007-09-225-118/+15
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * The structure for handling resource generation is nowLuke Kanies2007-09-222-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in place, which means I'm over the hump in developing this branch. I have to fix some design flaws I made in the configurations, particularly that the 'runner' handler needs to be able to specify tags and whether to ignore schedules, but otherwise, I think it's straightforward test- and bug-fixing from here out.
| | * An intermediate commit so I can start working on a differentLuke Kanies2007-09-201-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | branch. The file recursion code actually works for the first time in a painful while, but there are still some quirks and design issues to resolve, particularly around creating implicit resources that then fail (i.e., the behaviour of the create_implicit_resource method in Configuration).
| | * This is basically another intermediate commit. I feel likeLuke Kanies2007-09-1724-692/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've gone too far down the rabbit hole to turn back now, but the code is clearly getting more centralized around the Configuration class, which is the goal. Things are currently a bit muddy between recursion, dynamic resource generation, transactions, and the configuration, and I don't expect to be able to clear it up much until we rewrite all of the tests for the Transaction class, since that is when we'll actually be setting its behaviour. At this point, Files (which are currently the only resources that generate other resources) are responsible for adding their edges to the relationship graph. This puts them knowing more than I would like about how the relationship graph works, but it'll have to do for now. There are still failing tests, but files seem to work again. Now to go through the rest of the tests and make them work.
| | * The whole system now uses Configuration objects instead ofLuke Kanies2007-09-155-236/+156
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ever converting the Transportable objects into a tree of components and then converting that into a graph. This is a significant step, and drastically simplifies the model of how to use a configuration. The old code might have looked something like this: file = Puppet::Type.create :path => "/whatever", ... comp = Puppet::Type.create :name => :whatever comp.push file transaction = comp.evaluate transaction.evaluate The new code looks like this: file = Puppet::Type.create :path => "/whatever", ... config = Puppet::Node::Configuration.new config.add_resource file config.apply I did not really intend to do this much refactoring, but I found I could not use a Configuration object to do work without refactoring a lot of the system. The primary problem was that the Client::Master and the Config classes determined how the transactions behaved; when I moved to using a Configuration, this distinction was lost, which meant that configurations were often needing to create other configurations, which resulted in a whole lot of infinite recursion (e.g., Config objects that create directories for Puppet use Configuration objects -- yes, I'm s/Config/Settings/g soon -- and these Configuration objects would need to create directories). Not everything is fixed, but it's very close. I am clearly over the hump, though, so I wanted to get a commit in.
| * Adding a to_graph method to TransBuckets, so that the buckets can directly ↵Luke Kanies2007-09-123-331/+1
| | | | | | | | generate a graph, rather than having to first convert to RAL types and then have them convert to a graph. This allows us to make it so components do not need a @children array at all. This was all done because I am having the "already a parent of" problem again, and I have gotten far enough that it is relatively easy to just make this problem go away once and for all.
| * Another intermediate commit. The node and fact classes are now functional ↵Luke Kanies2007-09-128-139/+44
| | | | | | | | and are used instead of the network handlers, which have been removed. There are some failing tests as a result, but I want to get this code committed before I massage the rest of the system to make it work again.
| * Refactoring the feature support so it loads libraries when a feature is ↵Luke Kanies2007-09-111-2/+0
| | | | | | | | asked about, rather than when it is defined.
| * The Node handler is now obsolete. Node searching is handled through the ↵Luke Kanies2007-09-112-660/+2
| | | | | | | | indirector. I have not yet added the tests for the node handlers themselves, which is next.
| * Doing an intermediate commit so rick can look at the work I have done so far.Luke Kanies2007-09-111-6/+10
| |
* | Merge branch 'testing'Luke Kanies2007-09-112-1/+27
|\ \ | |/ |/|