| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
| |
be more internally consistent (switched store_resource
to add_resource, and store_override to add_override).
|
| |
|
|
|
|
| |
refactored, fixing this problem and making the whole interplay
between the classes, definitions, and nodes, and the Compile class much
cleaner.
|
| |
|
|
|
| |
as its resource container, instead of having its own behaviour
around resource uniqueness.
|
| |
|
|
|
|
| |
rspec, so I can refactor the class to more heavily rely
on a Node::Catalog instead of doing its own resource
container management.
|
| |
|
|
|
|
|
|
|
|
|
| |
just returns a resource from its evaluate() method, and
all of the work is done in the evaluate_code method. This
makes the code cleaner, because it means 1) evaluate() has
the same prototype as all of the other AST classes,
2) evaluate() is no longer called indirectly through
the Parser Resource class, and 3) the classes themselves
are responsible for creating the resources, rather than
it being done in the Compile class.
|
| |
|
|
|
|
| |
all of the evaluate() methods only ever accepted a scope,
and sometimes one other option, so I switched them all to
use named arguments instead of a hash.
|
| |
|
|
|
|
| |
classes for managing how the tokens work.
I also moved they tests to RSpec, but I didn't rewrite all of them.
|
| |
|
|
|
|
| |
the class parts are now added as tags. I've also
created a Tagging module that we should push throughout
the rest of the system that uses tags.
|
| |
|
|
| |
times.
|
| |
|
|
| |
against 0.24.0 servers.
|
| |
|
|
|
|
| |
Hosts were keeping the export bit on all resources,
even when they'd collected another host's resources,
which caused a duplicate copy that was still exported.
|
| | |
|
| |
|
|
| |
host are no longer marked as not exported.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
there were enough problems fixing it that I decided something
more drastic needed to be done.
This uses the new Puppet::ResourceReference class to canonize
what a resource reference looks like and how to retrieve resources
via their references. Specifically, it guarantees that resource types
are always capitalized, even when they include '::' in them.
While many files are modified in this commit, the majority of changes are
quite small, and most of the changes are fixing the tests to use
capitalized types.
As we look at consolidating some of our resource types, we could consolidate
the ResourceReference stuff at the same time, but at least the
Puppet::Parser::ResourceReference class subclasses the main Puppet::ResourceReference
class.
|
| |
|
|
|
|
| |
already migrated all of the tests into rspec but forgot about these
tests -- they were only in the rails/ subdir because people kept
not running the parser/ tests after modifying the Rails code.
|
| |
|
|
|
|
|
|
|
|
| |
20071030034736-6856b-6004090b3968cdbf7d366a03ee1c44e2160a3fe0.patch
from womble, and rewriting and significantly enhancing the
unit tests for the Puppet::Parser::Collector class; it should
have full coverage now. There are no integration tests for
it, so there's still no guarantee that it works at all, but hey,
we're a lot better off than we were.
|
| |
|
|
|
|
|
|
| |
being evaluated on the first pass because they were being
deleted from the collections list during evaluation, which caused
some to get skipped. This commit fixes that problem, which helps
in the trivial cases where the collections are in the same scope.
I expect it's still broken for more complicated usages.
|
| |
|
|
|
|
| |
but only because the code (and my coding style, to some extent)
has changed so much in the last few months.
Also, added specs.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
when using :include, not (for example) when evaluating
node classes.
|
| |
|
|
|
|
|
|
|
|
| |
'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.
|
| |
|
|
| |
around in my repository for a while.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
now be more reasonable.
|
| |
|
|
|
|
|
| |
'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".
|
| |
|
|
| |
used to be done.
|
| |
|
|
| |
instead of pre-extracting the configuration.
|
| |
|
|
| |
resources to evaluate classes and nodes, not just definitions. This will hopefully simplify some of the parsing work, and it will enable the use of a Configuration object that more completely models a configuration.
|
| |
|
|
| |
switch to git, and refactoring the evaluate_classes method on the compile object so I can use resources as intermediaries, thus making classes do late-binding evaluation.
|
| |
|
|
| |
life. This commit is mostly a bug-fix commit, resulting from the difference between real-life testing and unit testing.
|
| |
|
|
| |
rspec
|
| |
|
|
| |
transitional object and I want the real "configuration" object to be the thing that I pass from the server to the client; it will be a subclass of GRATR::Digraph.
|
| |
|
|
| |
environments, including the parser having an environment setting. I have also created my first spec-based tests, for the interpreter (and deleted the old test/unit tests).
|
| |
|