summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2007-08-23 11:52:31 -0500
committerLuke Kanies <luke@madstop.com>2007-08-23 11:52:31 -0500
commit58494cc8566da04711715e54274f472377b1aba0 (patch)
tree66bd610d359f549fc68e9985accf7b4141b7982e
parentd59315a07a8a01ca65952d8e8fe9d2f1bb84d30e (diff)
downloadpuppet-58494cc8566da04711715e54274f472377b1aba0.tar.gz
puppet-58494cc8566da04711715e54274f472377b1aba0.tar.xz
puppet-58494cc8566da04711715e54274f472377b1aba0.zip
Building a stand-alone spec directory for creating the new spec-based tests.
-rw-r--r--spec/Rakefile9
-rwxr-xr-xspec/bin/spec3
-rw-r--r--spec/lib/spec.rb (renamed from test/lib/spec.rb)0
-rw-r--r--spec/lib/spec/dsl.rb (renamed from test/lib/spec/dsl.rb)0
-rw-r--r--spec/lib/spec/dsl/behaviour.rb (renamed from test/lib/spec/dsl/behaviour.rb)0
-rw-r--r--spec/lib/spec/dsl/behaviour_callbacks.rb (renamed from test/lib/spec/dsl/behaviour_callbacks.rb)0
-rw-r--r--spec/lib/spec/dsl/behaviour_eval.rb (renamed from test/lib/spec/dsl/behaviour_eval.rb)0
-rwxr-xr-xspec/lib/spec/dsl/behaviour_factory.rb (renamed from test/lib/spec/dsl/behaviour_factory.rb)0
-rw-r--r--spec/lib/spec/dsl/composite_proc_builder.rb (renamed from test/lib/spec/dsl/composite_proc_builder.rb)0
-rwxr-xr-xspec/lib/spec/dsl/configuration.rb (renamed from test/lib/spec/dsl/configuration.rb)0
-rwxr-xr-xspec/lib/spec/dsl/description.rb (renamed from test/lib/spec/dsl/description.rb)0
-rw-r--r--spec/lib/spec/dsl/errors.rb (renamed from test/lib/spec/dsl/errors.rb)0
-rw-r--r--spec/lib/spec/dsl/example.rb (renamed from test/lib/spec/dsl/example.rb)0
-rwxr-xr-xspec/lib/spec/dsl/example_matcher.rb (renamed from test/lib/spec/dsl/example_matcher.rb)0
-rw-r--r--spec/lib/spec/dsl/example_should_raise_handler.rb (renamed from test/lib/spec/dsl/example_should_raise_handler.rb)0
-rw-r--r--spec/lib/spec/expectations.rb (renamed from test/lib/spec/expectations.rb)0
-rw-r--r--spec/lib/spec/expectations/differs/default.rb (renamed from test/lib/spec/expectations/differs/default.rb)0
-rw-r--r--spec/lib/spec/expectations/errors.rb (renamed from test/lib/spec/expectations/errors.rb)0
-rw-r--r--spec/lib/spec/expectations/extensions.rb (renamed from test/lib/spec/expectations/extensions.rb)0
-rw-r--r--spec/lib/spec/expectations/extensions/object.rb (renamed from test/lib/spec/expectations/extensions/object.rb)0
-rw-r--r--spec/lib/spec/expectations/extensions/string_and_symbol.rb (renamed from test/lib/spec/expectations/extensions/string_and_symbol.rb)0
-rw-r--r--spec/lib/spec/expectations/handler.rb (renamed from test/lib/spec/expectations/handler.rb)0
-rwxr-xr-xspec/lib/spec/extensions.rb (renamed from test/lib/spec/extensions.rb)0
-rwxr-xr-xspec/lib/spec/extensions/object.rb (renamed from test/lib/spec/extensions/object.rb)0
-rw-r--r--spec/lib/spec/matchers.rb (renamed from test/lib/spec/matchers.rb)0
-rw-r--r--spec/lib/spec/matchers/be.rb (renamed from test/lib/spec/matchers/be.rb)0
-rw-r--r--spec/lib/spec/matchers/be_close.rb (renamed from test/lib/spec/matchers/be_close.rb)0
-rw-r--r--spec/lib/spec/matchers/change.rb (renamed from test/lib/spec/matchers/change.rb)0
-rw-r--r--spec/lib/spec/matchers/eql.rb (renamed from test/lib/spec/matchers/eql.rb)0
-rw-r--r--spec/lib/spec/matchers/equal.rb (renamed from test/lib/spec/matchers/equal.rb)0
-rw-r--r--spec/lib/spec/matchers/has.rb (renamed from test/lib/spec/matchers/has.rb)0
-rw-r--r--spec/lib/spec/matchers/have.rb (renamed from test/lib/spec/matchers/have.rb)0
-rw-r--r--spec/lib/spec/matchers/include.rb (renamed from test/lib/spec/matchers/include.rb)0
-rw-r--r--spec/lib/spec/matchers/match.rb (renamed from test/lib/spec/matchers/match.rb)0
-rwxr-xr-xspec/lib/spec/matchers/operator_matcher.rb (renamed from test/lib/spec/matchers/operator_matcher.rb)0
-rw-r--r--spec/lib/spec/matchers/raise_error.rb (renamed from test/lib/spec/matchers/raise_error.rb)0
-rw-r--r--spec/lib/spec/matchers/respond_to.rb (renamed from test/lib/spec/matchers/respond_to.rb)0
-rw-r--r--spec/lib/spec/matchers/satisfy.rb (renamed from test/lib/spec/matchers/satisfy.rb)0
-rw-r--r--spec/lib/spec/matchers/throw_symbol.rb (renamed from test/lib/spec/matchers/throw_symbol.rb)0
-rw-r--r--spec/lib/spec/mocks.rb (renamed from test/lib/spec/mocks.rb)0
-rw-r--r--spec/lib/spec/mocks/argument_constraint_matchers.rb (renamed from test/lib/spec/mocks/argument_constraint_matchers.rb)0
-rw-r--r--spec/lib/spec/mocks/argument_expectation.rb (renamed from test/lib/spec/mocks/argument_expectation.rb)0
-rw-r--r--spec/lib/spec/mocks/error_generator.rb (renamed from test/lib/spec/mocks/error_generator.rb)0
-rw-r--r--spec/lib/spec/mocks/errors.rb (renamed from test/lib/spec/mocks/errors.rb)0
-rw-r--r--spec/lib/spec/mocks/extensions/object.rb (renamed from test/lib/spec/mocks/extensions/object.rb)0
-rw-r--r--spec/lib/spec/mocks/message_expectation.rb (renamed from test/lib/spec/mocks/message_expectation.rb)0
-rw-r--r--spec/lib/spec/mocks/methods.rb (renamed from test/lib/spec/mocks/methods.rb)0
-rw-r--r--spec/lib/spec/mocks/mock.rb (renamed from test/lib/spec/mocks/mock.rb)0
-rw-r--r--spec/lib/spec/mocks/order_group.rb (renamed from test/lib/spec/mocks/order_group.rb)0
-rw-r--r--spec/lib/spec/mocks/proxy.rb (renamed from test/lib/spec/mocks/proxy.rb)0
-rw-r--r--spec/lib/spec/mocks/space.rb (renamed from test/lib/spec/mocks/space.rb)0
-rw-r--r--spec/lib/spec/mocks/spec_methods.rb (renamed from test/lib/spec/mocks/spec_methods.rb)0
-rw-r--r--spec/lib/spec/rake/spectask.rb (renamed from test/lib/spec/rake/spectask.rb)0
-rw-r--r--spec/lib/spec/rake/verify_rcov.rb (renamed from test/lib/spec/rake/verify_rcov.rb)0
-rw-r--r--spec/lib/spec/runner.rb (renamed from test/lib/spec/runner.rb)0
-rw-r--r--spec/lib/spec/runner/backtrace_tweaker.rb (renamed from test/lib/spec/runner/backtrace_tweaker.rb)0
-rw-r--r--spec/lib/spec/runner/behaviour_runner.rb (renamed from test/lib/spec/runner/behaviour_runner.rb)0
-rw-r--r--spec/lib/spec/runner/command_line.rb (renamed from test/lib/spec/runner/command_line.rb)0
-rw-r--r--spec/lib/spec/runner/drb_command_line.rb (renamed from test/lib/spec/runner/drb_command_line.rb)0
-rw-r--r--spec/lib/spec/runner/extensions/kernel.rb (renamed from test/lib/spec/runner/extensions/kernel.rb)0
-rw-r--r--spec/lib/spec/runner/extensions/object.rb (renamed from test/lib/spec/runner/extensions/object.rb)0
-rw-r--r--spec/lib/spec/runner/formatter.rb (renamed from test/lib/spec/runner/formatter.rb)0
-rw-r--r--spec/lib/spec/runner/formatter/base_formatter.rb (renamed from test/lib/spec/runner/formatter/base_formatter.rb)0
-rw-r--r--spec/lib/spec/runner/formatter/base_text_formatter.rb (renamed from test/lib/spec/runner/formatter/base_text_formatter.rb)0
-rw-r--r--spec/lib/spec/runner/formatter/failing_behaviours_formatter.rb (renamed from test/lib/spec/runner/formatter/failing_behaviours_formatter.rb)0
-rw-r--r--spec/lib/spec/runner/formatter/failing_examples_formatter.rb (renamed from test/lib/spec/runner/formatter/failing_examples_formatter.rb)0
-rw-r--r--spec/lib/spec/runner/formatter/html_formatter.rb (renamed from test/lib/spec/runner/formatter/html_formatter.rb)0
-rw-r--r--spec/lib/spec/runner/formatter/progress_bar_formatter.rb (renamed from test/lib/spec/runner/formatter/progress_bar_formatter.rb)0
-rw-r--r--spec/lib/spec/runner/formatter/rdoc_formatter.rb (renamed from test/lib/spec/runner/formatter/rdoc_formatter.rb)0
-rw-r--r--spec/lib/spec/runner/formatter/snippet_extractor.rb (renamed from test/lib/spec/runner/formatter/snippet_extractor.rb)0
-rw-r--r--spec/lib/spec/runner/formatter/specdoc_formatter.rb (renamed from test/lib/spec/runner/formatter/specdoc_formatter.rb)0
-rw-r--r--spec/lib/spec/runner/heckle_runner.rb (renamed from test/lib/spec/runner/heckle_runner.rb)0
-rw-r--r--spec/lib/spec/runner/heckle_runner_unsupported.rb (renamed from test/lib/spec/runner/heckle_runner_unsupported.rb)0
-rw-r--r--spec/lib/spec/runner/option_parser.rb (renamed from test/lib/spec/runner/option_parser.rb)0
-rw-r--r--spec/lib/spec/runner/options.rb (renamed from test/lib/spec/runner/options.rb)0
-rw-r--r--spec/lib/spec/runner/reporter.rb (renamed from test/lib/spec/runner/reporter.rb)0
-rw-r--r--spec/lib/spec/runner/spec_parser.rb (renamed from test/lib/spec/runner/spec_parser.rb)0
-rwxr-xr-xspec/lib/spec/test_case_adapter.rb (renamed from test/lib/spec/test_case_adapter.rb)0
-rw-r--r--spec/lib/spec/translator.rb (renamed from test/lib/spec/translator.rb)0
-rw-r--r--spec/lib/spec/version.rb (renamed from test/lib/spec/version.rb)0
-rw-r--r--spec/plugins/mock_frameworks/flexmock.rb23
-rw-r--r--spec/plugins/mock_frameworks/mocha.rb19
-rw-r--r--spec/plugins/mock_frameworks/rr.rb21
-rw-r--r--spec/plugins/mock_frameworks/rspec.rb18
-rw-r--r--spec/spec_helper.rb13
-rwxr-xr-xspec/unit/parser/interpreter.rb94
86 files changed, 200 insertions, 0 deletions
diff --git a/spec/Rakefile b/spec/Rakefile
new file mode 100644
index 000000000..5d0b7cc07
--- /dev/null
+++ b/spec/Rakefile
@@ -0,0 +1,9 @@
+require File.join(File.dirname(__FILE__), "spec_helper.rb")
+require 'rake'
+require 'spec/rake/spectask'
+
+desc "Run all spec unit tests"
+Spec::Rake::SpecTask.new('unit') do |t|
+ t.spec_files = FileList['unit/**/*.rb']
+end
+
diff --git a/spec/bin/spec b/spec/bin/spec
new file mode 100755
index 000000000..a7e6ce0cb
--- /dev/null
+++ b/spec/bin/spec
@@ -0,0 +1,3 @@
+$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__) + "/../lib"))
+require 'spec'
+::Spec::Runner::CommandLine.run(ARGV, STDERR, STDOUT, true, true)
diff --git a/test/lib/spec.rb b/spec/lib/spec.rb
index 48c12595c..48c12595c 100644
--- a/test/lib/spec.rb
+++ b/spec/lib/spec.rb
diff --git a/test/lib/spec/dsl.rb b/spec/lib/spec/dsl.rb
index f960eb907..f960eb907 100644
--- a/test/lib/spec/dsl.rb
+++ b/spec/lib/spec/dsl.rb
diff --git a/test/lib/spec/dsl/behaviour.rb b/spec/lib/spec/dsl/behaviour.rb
index 5158bb673..5158bb673 100644
--- a/test/lib/spec/dsl/behaviour.rb
+++ b/spec/lib/spec/dsl/behaviour.rb
diff --git a/test/lib/spec/dsl/behaviour_callbacks.rb b/spec/lib/spec/dsl/behaviour_callbacks.rb
index 8b69ad9e5..8b69ad9e5 100644
--- a/test/lib/spec/dsl/behaviour_callbacks.rb
+++ b/spec/lib/spec/dsl/behaviour_callbacks.rb
diff --git a/test/lib/spec/dsl/behaviour_eval.rb b/spec/lib/spec/dsl/behaviour_eval.rb
index 9f7b8281e..9f7b8281e 100644
--- a/test/lib/spec/dsl/behaviour_eval.rb
+++ b/spec/lib/spec/dsl/behaviour_eval.rb
diff --git a/test/lib/spec/dsl/behaviour_factory.rb b/spec/lib/spec/dsl/behaviour_factory.rb
index 44b60c641..44b60c641 100755
--- a/test/lib/spec/dsl/behaviour_factory.rb
+++ b/spec/lib/spec/dsl/behaviour_factory.rb
diff --git a/test/lib/spec/dsl/composite_proc_builder.rb b/spec/lib/spec/dsl/composite_proc_builder.rb
index 373f44953..373f44953 100644
--- a/test/lib/spec/dsl/composite_proc_builder.rb
+++ b/spec/lib/spec/dsl/composite_proc_builder.rb
diff --git a/test/lib/spec/dsl/configuration.rb b/spec/lib/spec/dsl/configuration.rb
index 709574ded..709574ded 100755
--- a/test/lib/spec/dsl/configuration.rb
+++ b/spec/lib/spec/dsl/configuration.rb
diff --git a/test/lib/spec/dsl/description.rb b/spec/lib/spec/dsl/description.rb
index fe8c9b0c9..fe8c9b0c9 100755
--- a/test/lib/spec/dsl/description.rb
+++ b/spec/lib/spec/dsl/description.rb
diff --git a/test/lib/spec/dsl/errors.rb b/spec/lib/spec/dsl/errors.rb
index ba7046a89..ba7046a89 100644
--- a/test/lib/spec/dsl/errors.rb
+++ b/spec/lib/spec/dsl/errors.rb
diff --git a/test/lib/spec/dsl/example.rb b/spec/lib/spec/dsl/example.rb
index d04073f7e..d04073f7e 100644
--- a/test/lib/spec/dsl/example.rb
+++ b/spec/lib/spec/dsl/example.rb
diff --git a/test/lib/spec/dsl/example_matcher.rb b/spec/lib/spec/dsl/example_matcher.rb
index 18cc47409..18cc47409 100755
--- a/test/lib/spec/dsl/example_matcher.rb
+++ b/spec/lib/spec/dsl/example_matcher.rb
diff --git a/test/lib/spec/dsl/example_should_raise_handler.rb b/spec/lib/spec/dsl/example_should_raise_handler.rb
index 942327317..942327317 100644
--- a/test/lib/spec/dsl/example_should_raise_handler.rb
+++ b/spec/lib/spec/dsl/example_should_raise_handler.rb
diff --git a/test/lib/spec/expectations.rb b/spec/lib/spec/expectations.rb
index 65ea47425..65ea47425 100644
--- a/test/lib/spec/expectations.rb
+++ b/spec/lib/spec/expectations.rb
diff --git a/test/lib/spec/expectations/differs/default.rb b/spec/lib/spec/expectations/differs/default.rb
index 87e59b3a6..87e59b3a6 100644
--- a/test/lib/spec/expectations/differs/default.rb
+++ b/spec/lib/spec/expectations/differs/default.rb
diff --git a/test/lib/spec/expectations/errors.rb b/spec/lib/spec/expectations/errors.rb
index 03e81a064..03e81a064 100644
--- a/test/lib/spec/expectations/errors.rb
+++ b/spec/lib/spec/expectations/errors.rb
diff --git a/test/lib/spec/expectations/extensions.rb b/spec/lib/spec/expectations/extensions.rb
index 60c9b9e7d..60c9b9e7d 100644
--- a/test/lib/spec/expectations/extensions.rb
+++ b/spec/lib/spec/expectations/extensions.rb
diff --git a/test/lib/spec/expectations/extensions/object.rb b/spec/lib/spec/expectations/extensions/object.rb
index f59af722e..f59af722e 100644
--- a/test/lib/spec/expectations/extensions/object.rb
+++ b/spec/lib/spec/expectations/extensions/object.rb
diff --git a/test/lib/spec/expectations/extensions/string_and_symbol.rb b/spec/lib/spec/expectations/extensions/string_and_symbol.rb
index 29cfbddfa..29cfbddfa 100644
--- a/test/lib/spec/expectations/extensions/string_and_symbol.rb
+++ b/spec/lib/spec/expectations/extensions/string_and_symbol.rb
diff --git a/test/lib/spec/expectations/handler.rb b/spec/lib/spec/expectations/handler.rb
index 4caa321e4..4caa321e4 100644
--- a/test/lib/spec/expectations/handler.rb
+++ b/spec/lib/spec/expectations/handler.rb
diff --git a/test/lib/spec/extensions.rb b/spec/lib/spec/extensions.rb
index 824f03bfb..824f03bfb 100755
--- a/test/lib/spec/extensions.rb
+++ b/spec/lib/spec/extensions.rb
diff --git a/test/lib/spec/extensions/object.rb b/spec/lib/spec/extensions/object.rb
index 6218aa770..6218aa770 100755
--- a/test/lib/spec/extensions/object.rb
+++ b/spec/lib/spec/extensions/object.rb
diff --git a/test/lib/spec/matchers.rb b/spec/lib/spec/matchers.rb
index fd208d628..fd208d628 100644
--- a/test/lib/spec/matchers.rb
+++ b/spec/lib/spec/matchers.rb
diff --git a/test/lib/spec/matchers/be.rb b/spec/lib/spec/matchers/be.rb
index 0eb1629a6..0eb1629a6 100644
--- a/test/lib/spec/matchers/be.rb
+++ b/spec/lib/spec/matchers/be.rb
diff --git a/test/lib/spec/matchers/be_close.rb b/spec/lib/spec/matchers/be_close.rb
index 7763eb97e..7763eb97e 100644
--- a/test/lib/spec/matchers/be_close.rb
+++ b/spec/lib/spec/matchers/be_close.rb
diff --git a/test/lib/spec/matchers/change.rb b/spec/lib/spec/matchers/change.rb
index 41a718aca..41a718aca 100644
--- a/test/lib/spec/matchers/change.rb
+++ b/spec/lib/spec/matchers/change.rb
diff --git a/test/lib/spec/matchers/eql.rb b/spec/lib/spec/matchers/eql.rb
index 280ca5454..280ca5454 100644
--- a/test/lib/spec/matchers/eql.rb
+++ b/spec/lib/spec/matchers/eql.rb
diff --git a/test/lib/spec/matchers/equal.rb b/spec/lib/spec/matchers/equal.rb
index 4bfc74951..4bfc74951 100644
--- a/test/lib/spec/matchers/equal.rb
+++ b/spec/lib/spec/matchers/equal.rb
diff --git a/test/lib/spec/matchers/has.rb b/spec/lib/spec/matchers/has.rb
index cc5a250b8..cc5a250b8 100644
--- a/test/lib/spec/matchers/has.rb
+++ b/spec/lib/spec/matchers/has.rb
diff --git a/test/lib/spec/matchers/have.rb b/spec/lib/spec/matchers/have.rb
index f28b86ad3..f28b86ad3 100644
--- a/test/lib/spec/matchers/have.rb
+++ b/spec/lib/spec/matchers/have.rb
diff --git a/test/lib/spec/matchers/include.rb b/spec/lib/spec/matchers/include.rb
index 5476f97d8..5476f97d8 100644
--- a/test/lib/spec/matchers/include.rb
+++ b/spec/lib/spec/matchers/include.rb
diff --git a/test/lib/spec/matchers/match.rb b/spec/lib/spec/matchers/match.rb
index 61ab52429..61ab52429 100644
--- a/test/lib/spec/matchers/match.rb
+++ b/spec/lib/spec/matchers/match.rb
diff --git a/test/lib/spec/matchers/operator_matcher.rb b/spec/lib/spec/matchers/operator_matcher.rb
index 2d47ea85a..2d47ea85a 100755
--- a/test/lib/spec/matchers/operator_matcher.rb
+++ b/spec/lib/spec/matchers/operator_matcher.rb
diff --git a/test/lib/spec/matchers/raise_error.rb b/spec/lib/spec/matchers/raise_error.rb
index b45dcf65c..b45dcf65c 100644
--- a/test/lib/spec/matchers/raise_error.rb
+++ b/spec/lib/spec/matchers/raise_error.rb
diff --git a/test/lib/spec/matchers/respond_to.rb b/spec/lib/spec/matchers/respond_to.rb
index 3d23422aa..3d23422aa 100644
--- a/test/lib/spec/matchers/respond_to.rb
+++ b/spec/lib/spec/matchers/respond_to.rb
diff --git a/test/lib/spec/matchers/satisfy.rb b/spec/lib/spec/matchers/satisfy.rb
index 6c0ca95bc..6c0ca95bc 100644
--- a/test/lib/spec/matchers/satisfy.rb
+++ b/spec/lib/spec/matchers/satisfy.rb
diff --git a/test/lib/spec/matchers/throw_symbol.rb b/spec/lib/spec/matchers/throw_symbol.rb
index 6d047bc39..6d047bc39 100644
--- a/test/lib/spec/matchers/throw_symbol.rb
+++ b/spec/lib/spec/matchers/throw_symbol.rb
diff --git a/test/lib/spec/mocks.rb b/spec/lib/spec/mocks.rb
index 66cbafb3c..66cbafb3c 100644
--- a/test/lib/spec/mocks.rb
+++ b/spec/lib/spec/mocks.rb
diff --git a/test/lib/spec/mocks/argument_constraint_matchers.rb b/spec/lib/spec/mocks/argument_constraint_matchers.rb
index 0e4777082..0e4777082 100644
--- a/test/lib/spec/mocks/argument_constraint_matchers.rb
+++ b/spec/lib/spec/mocks/argument_constraint_matchers.rb
diff --git a/test/lib/spec/mocks/argument_expectation.rb b/spec/lib/spec/mocks/argument_expectation.rb
index 5da069b87..5da069b87 100644
--- a/test/lib/spec/mocks/argument_expectation.rb
+++ b/spec/lib/spec/mocks/argument_expectation.rb
diff --git a/test/lib/spec/mocks/error_generator.rb b/spec/lib/spec/mocks/error_generator.rb
index 01d8f720d..01d8f720d 100644
--- a/test/lib/spec/mocks/error_generator.rb
+++ b/spec/lib/spec/mocks/error_generator.rb
diff --git a/test/lib/spec/mocks/errors.rb b/spec/lib/spec/mocks/errors.rb
index 68fdfe006..68fdfe006 100644
--- a/test/lib/spec/mocks/errors.rb
+++ b/spec/lib/spec/mocks/errors.rb
diff --git a/test/lib/spec/mocks/extensions/object.rb b/spec/lib/spec/mocks/extensions/object.rb
index 4b7531066..4b7531066 100644
--- a/test/lib/spec/mocks/extensions/object.rb
+++ b/spec/lib/spec/mocks/extensions/object.rb
diff --git a/test/lib/spec/mocks/message_expectation.rb b/spec/lib/spec/mocks/message_expectation.rb
index 74ade3c58..74ade3c58 100644
--- a/test/lib/spec/mocks/message_expectation.rb
+++ b/spec/lib/spec/mocks/message_expectation.rb
diff --git a/test/lib/spec/mocks/methods.rb b/spec/lib/spec/mocks/methods.rb
index 3d898cf31..3d898cf31 100644
--- a/test/lib/spec/mocks/methods.rb
+++ b/spec/lib/spec/mocks/methods.rb
diff --git a/test/lib/spec/mocks/mock.rb b/spec/lib/spec/mocks/mock.rb
index aa380e0af..aa380e0af 100644
--- a/test/lib/spec/mocks/mock.rb
+++ b/spec/lib/spec/mocks/mock.rb
diff --git a/test/lib/spec/mocks/order_group.rb b/spec/lib/spec/mocks/order_group.rb
index 9983207eb..9983207eb 100644
--- a/test/lib/spec/mocks/order_group.rb
+++ b/spec/lib/spec/mocks/order_group.rb
diff --git a/test/lib/spec/mocks/proxy.rb b/spec/lib/spec/mocks/proxy.rb
index 6c79d1068..6c79d1068 100644
--- a/test/lib/spec/mocks/proxy.rb
+++ b/spec/lib/spec/mocks/proxy.rb
diff --git a/test/lib/spec/mocks/space.rb b/spec/lib/spec/mocks/space.rb
index e04bc5ccb..e04bc5ccb 100644
--- a/test/lib/spec/mocks/space.rb
+++ b/spec/lib/spec/mocks/space.rb
diff --git a/test/lib/spec/mocks/spec_methods.rb b/spec/lib/spec/mocks/spec_methods.rb
index fd67fd210..fd67fd210 100644
--- a/test/lib/spec/mocks/spec_methods.rb
+++ b/spec/lib/spec/mocks/spec_methods.rb
diff --git a/test/lib/spec/rake/spectask.rb b/spec/lib/spec/rake/spectask.rb
index f8c6809a9..f8c6809a9 100644
--- a/test/lib/spec/rake/spectask.rb
+++ b/spec/lib/spec/rake/spectask.rb
diff --git a/test/lib/spec/rake/verify_rcov.rb b/spec/lib/spec/rake/verify_rcov.rb
index 9715744e9..9715744e9 100644
--- a/test/lib/spec/rake/verify_rcov.rb
+++ b/spec/lib/spec/rake/verify_rcov.rb
diff --git a/test/lib/spec/runner.rb b/spec/lib/spec/runner.rb
index 9d801adc3..9d801adc3 100644
--- a/test/lib/spec/runner.rb
+++ b/spec/lib/spec/runner.rb
diff --git a/test/lib/spec/runner/backtrace_tweaker.rb b/spec/lib/spec/runner/backtrace_tweaker.rb
index aacc2c8b8..aacc2c8b8 100644
--- a/test/lib/spec/runner/backtrace_tweaker.rb
+++ b/spec/lib/spec/runner/backtrace_tweaker.rb
diff --git a/test/lib/spec/runner/behaviour_runner.rb b/spec/lib/spec/runner/behaviour_runner.rb
index 1ac891f3c..1ac891f3c 100644
--- a/test/lib/spec/runner/behaviour_runner.rb
+++ b/spec/lib/spec/runner/behaviour_runner.rb
diff --git a/test/lib/spec/runner/command_line.rb b/spec/lib/spec/runner/command_line.rb
index 0d70337e1..0d70337e1 100644
--- a/test/lib/spec/runner/command_line.rb
+++ b/spec/lib/spec/runner/command_line.rb
diff --git a/test/lib/spec/runner/drb_command_line.rb b/spec/lib/spec/runner/drb_command_line.rb
index 7e745fb71..7e745fb71 100644
--- a/test/lib/spec/runner/drb_command_line.rb
+++ b/spec/lib/spec/runner/drb_command_line.rb
diff --git a/test/lib/spec/runner/extensions/kernel.rb b/spec/lib/spec/runner/extensions/kernel.rb
index 75f2c335e..75f2c335e 100644
--- a/test/lib/spec/runner/extensions/kernel.rb
+++ b/spec/lib/spec/runner/extensions/kernel.rb
diff --git a/test/lib/spec/runner/extensions/object.rb b/spec/lib/spec/runner/extensions/object.rb
index 49745352f..49745352f 100644
--- a/test/lib/spec/runner/extensions/object.rb
+++ b/spec/lib/spec/runner/extensions/object.rb
diff --git a/test/lib/spec/runner/formatter.rb b/spec/lib/spec/runner/formatter.rb
index 17512d958..17512d958 100644
--- a/test/lib/spec/runner/formatter.rb
+++ b/spec/lib/spec/runner/formatter.rb
diff --git a/test/lib/spec/runner/formatter/base_formatter.rb b/spec/lib/spec/runner/formatter/base_formatter.rb
index 7cc43ef0e..7cc43ef0e 100644
--- a/test/lib/spec/runner/formatter/base_formatter.rb
+++ b/spec/lib/spec/runner/formatter/base_formatter.rb
diff --git a/test/lib/spec/runner/formatter/base_text_formatter.rb b/spec/lib/spec/runner/formatter/base_text_formatter.rb
index c3cf01b76..c3cf01b76 100644
--- a/test/lib/spec/runner/formatter/base_text_formatter.rb
+++ b/spec/lib/spec/runner/formatter/base_text_formatter.rb
diff --git a/test/lib/spec/runner/formatter/failing_behaviours_formatter.rb b/spec/lib/spec/runner/formatter/failing_behaviours_formatter.rb
index 2b3940fd3..2b3940fd3 100644
--- a/test/lib/spec/runner/formatter/failing_behaviours_formatter.rb
+++ b/spec/lib/spec/runner/formatter/failing_behaviours_formatter.rb
diff --git a/test/lib/spec/runner/formatter/failing_examples_formatter.rb b/spec/lib/spec/runner/formatter/failing_examples_formatter.rb
index 9728deaf0..9728deaf0 100644
--- a/test/lib/spec/runner/formatter/failing_examples_formatter.rb
+++ b/spec/lib/spec/runner/formatter/failing_examples_formatter.rb
diff --git a/test/lib/spec/runner/formatter/html_formatter.rb b/spec/lib/spec/runner/formatter/html_formatter.rb
index d9c422e55..d9c422e55 100644
--- a/test/lib/spec/runner/formatter/html_formatter.rb
+++ b/spec/lib/spec/runner/formatter/html_formatter.rb
diff --git a/test/lib/spec/runner/formatter/progress_bar_formatter.rb b/spec/lib/spec/runner/formatter/progress_bar_formatter.rb
index 624f06e7c..624f06e7c 100644
--- a/test/lib/spec/runner/formatter/progress_bar_formatter.rb
+++ b/spec/lib/spec/runner/formatter/progress_bar_formatter.rb
diff --git a/test/lib/spec/runner/formatter/rdoc_formatter.rb b/spec/lib/spec/runner/formatter/rdoc_formatter.rb
index 0fd22ba6c..0fd22ba6c 100644
--- a/test/lib/spec/runner/formatter/rdoc_formatter.rb
+++ b/spec/lib/spec/runner/formatter/rdoc_formatter.rb
diff --git a/test/lib/spec/runner/formatter/snippet_extractor.rb b/spec/lib/spec/runner/formatter/snippet_extractor.rb
index 41119fe46..41119fe46 100644
--- a/test/lib/spec/runner/formatter/snippet_extractor.rb
+++ b/spec/lib/spec/runner/formatter/snippet_extractor.rb
diff --git a/test/lib/spec/runner/formatter/specdoc_formatter.rb b/spec/lib/spec/runner/formatter/specdoc_formatter.rb
index ad794b238..ad794b238 100644
--- a/test/lib/spec/runner/formatter/specdoc_formatter.rb
+++ b/spec/lib/spec/runner/formatter/specdoc_formatter.rb
diff --git a/test/lib/spec/runner/heckle_runner.rb b/spec/lib/spec/runner/heckle_runner.rb
index b6de4ef73..b6de4ef73 100644
--- a/test/lib/spec/runner/heckle_runner.rb
+++ b/spec/lib/spec/runner/heckle_runner.rb
diff --git a/test/lib/spec/runner/heckle_runner_unsupported.rb b/spec/lib/spec/runner/heckle_runner_unsupported.rb
index 02aa37953..02aa37953 100644
--- a/test/lib/spec/runner/heckle_runner_unsupported.rb
+++ b/spec/lib/spec/runner/heckle_runner_unsupported.rb
diff --git a/test/lib/spec/runner/option_parser.rb b/spec/lib/spec/runner/option_parser.rb
index 1facb85a8..1facb85a8 100644
--- a/test/lib/spec/runner/option_parser.rb
+++ b/spec/lib/spec/runner/option_parser.rb
diff --git a/test/lib/spec/runner/options.rb b/spec/lib/spec/runner/options.rb
index a940133eb..a940133eb 100644
--- a/test/lib/spec/runner/options.rb
+++ b/spec/lib/spec/runner/options.rb
diff --git a/test/lib/spec/runner/reporter.rb b/spec/lib/spec/runner/reporter.rb
index b1dc2a27a..b1dc2a27a 100644
--- a/test/lib/spec/runner/reporter.rb
+++ b/spec/lib/spec/runner/reporter.rb
diff --git a/test/lib/spec/runner/spec_parser.rb b/spec/lib/spec/runner/spec_parser.rb
index bc9170065..bc9170065 100644
--- a/test/lib/spec/runner/spec_parser.rb
+++ b/spec/lib/spec/runner/spec_parser.rb
diff --git a/test/lib/spec/test_case_adapter.rb b/spec/lib/spec/test_case_adapter.rb
index 992e098fd..992e098fd 100755
--- a/test/lib/spec/test_case_adapter.rb
+++ b/spec/lib/spec/test_case_adapter.rb
diff --git a/test/lib/spec/translator.rb b/spec/lib/spec/translator.rb
index c1e07eda4..c1e07eda4 100644
--- a/test/lib/spec/translator.rb
+++ b/spec/lib/spec/translator.rb
diff --git a/test/lib/spec/version.rb b/spec/lib/spec/version.rb
index 5b1db9b37..5b1db9b37 100644
--- a/test/lib/spec/version.rb
+++ b/spec/lib/spec/version.rb
diff --git a/spec/plugins/mock_frameworks/flexmock.rb b/spec/plugins/mock_frameworks/flexmock.rb
new file mode 100644
index 000000000..6875a5222
--- /dev/null
+++ b/spec/plugins/mock_frameworks/flexmock.rb
@@ -0,0 +1,23 @@
+#!/usr/bin/env ruby
+#
+# Created by Jim Weirich on 2007-04-10.
+# Copyright (c) 2007. All rights reserved.
+
+require 'flexmock/rspec'
+
+module Spec
+ module Plugins
+ module MockFramework
+ include FlexMock::MockContainer
+ def setup_mocks_for_rspec
+ # No setup required
+ end
+ def verify_mocks_for_rspec
+ flexmock_verify
+ end
+ def teardown_mocks_for_rspec
+ flexmock_close
+ end
+ end
+ end
+end
diff --git a/spec/plugins/mock_frameworks/mocha.rb b/spec/plugins/mock_frameworks/mocha.rb
new file mode 100644
index 000000000..69d11636c
--- /dev/null
+++ b/spec/plugins/mock_frameworks/mocha.rb
@@ -0,0 +1,19 @@
+require 'mocha/standalone'
+require 'mocha/object'
+
+module Spec
+ module Plugins
+ module MockFramework
+ include Mocha::Standalone
+ def setup_mocks_for_rspec
+ mocha_setup
+ end
+ def verify_mocks_for_rspec
+ mocha_verify
+ end
+ def teardown_mocks_for_rspec
+ mocha_teardown
+ end
+ end
+ end
+end
diff --git a/spec/plugins/mock_frameworks/rr.rb b/spec/plugins/mock_frameworks/rr.rb
new file mode 100644
index 000000000..c019c18a1
--- /dev/null
+++ b/spec/plugins/mock_frameworks/rr.rb
@@ -0,0 +1,21 @@
+require 'rr'
+
+patterns = ::Spec::Runner::QuietBacktraceTweaker::IGNORE_PATTERNS
+patterns.push(RR::Errors::BACKTRACE_IDENTIFIER)
+
+module Spec
+ module Plugins
+ module MockFramework
+ include RR::Extensions::InstanceMethods
+ def setup_mocks_for_rspec
+ RR::Space.instance.reset
+ end
+ def verify_mocks_for_rspec
+ RR::Space.instance.verify_doubles
+ end
+ def teardown_mocks_for_rspec
+ RR::Space.instance.reset
+ end
+ end
+ end
+end
diff --git a/spec/plugins/mock_frameworks/rspec.rb b/spec/plugins/mock_frameworks/rspec.rb
new file mode 100644
index 000000000..e606c3089
--- /dev/null
+++ b/spec/plugins/mock_frameworks/rspec.rb
@@ -0,0 +1,18 @@
+require File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "lib", "spec", "mocks"))
+
+module Spec
+ module Plugins
+ module MockFramework
+ include Spec::Mocks::SpecMethods
+ def setup_mocks_for_rspec
+ $rspec_mocks ||= Spec::Mocks::Space.new
+ end
+ def verify_mocks_for_rspec
+ $rspec_mocks.verify_all
+ end
+ def teardown_mocks_for_rspec
+ $rspec_mocks.reset_all
+ end
+ end
+ end
+end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
new file mode 100644
index 000000000..d8f326924
--- /dev/null
+++ b/spec/spec_helper.rb
@@ -0,0 +1,13 @@
+dir = File.dirname(__FILE__)
+$:.unshift("#{dir}/lib").unshift("#{dir}/../lib")
+
+# Add the old test dir, so that we can still find mocha and spec
+$:.unshift("#{dir}/../test/lib")
+
+require 'mocha'
+require 'spec'
+require 'puppet'
+
+Spec::Runner.configure do |config|
+ config.mock_with :mocha
+end
diff --git a/spec/unit/parser/interpreter.rb b/spec/unit/parser/interpreter.rb
new file mode 100755
index 000000000..0e32b8c5b
--- /dev/null
+++ b/spec/unit/parser/interpreter.rb
@@ -0,0 +1,94 @@
+#!/usr/bin/env ruby
+
+require File.dirname(__FILE__) + '/../../spec_helper'
+
+describe Puppet::Parser::Interpreter, " when creating parser instances" do
+ before do
+ @interp = Puppet::Parser::Interpreter.new
+ @parser = mock('parser')
+ end
+
+ it "should create a parser with code passed in at initialization time" do
+ @interp.code = :some_code
+ @parser.expects(:code=).with(:some_code)
+ @parser.expects(:parse)
+ Puppet::Parser::Parser.expects(:new).with(:environment).returns(@parser)
+ @interp.send(:create_parser, :environment).object_id.should equal(@parser.object_id)
+ end
+
+ it "should create a parser with a file passed in at initialization time" do
+ @interp.file = :a_file
+ @parser.expects(:file=).with(:a_file)
+ @parser.expects(:parse)
+ Puppet::Parser::Parser.expects(:new).with(:environment).returns(@parser)
+ @interp.send(:create_parser, :environment).should equal(@parser)
+ end
+
+ it "should create a parser when passed neither code nor file" do
+ @parser.expects(:parse)
+ Puppet::Parser::Parser.expects(:new).with(:environment).returns(@parser)
+ @interp.send(:create_parser, :environment).should equal(@parser)
+ end
+
+ it "should return nothing when new parsers fail" do
+ Puppet::Parser::Parser.expects(:new).with(:environment).raises(ArgumentError)
+ @interp.send(:create_parser, :environment).should be_nil
+ end
+end
+
+describe Puppet::Parser::Interpreter, " when managing parser instances" do
+ before do
+ @interp = Puppet::Parser::Interpreter.new
+ @parser = mock('parser')
+ end
+
+ it "it should an exception when nothing is there and nil is returned" do
+ @interp.expects(:create_parser).with(:environment).returns(nil)
+ lambda { @interp.send(:parser, :environment) }.should raise_error(Puppet::Error)
+ end
+
+ it "should create and return a new parser and use the same parser when the parser does not need reparsing" do
+ @interp.expects(:create_parser).with(:environment).returns(@parser)
+ @interp.send(:parser, :environment).should equal(@parser)
+
+ @parser.expects(:reparse?).returns(false)
+ @interp.send(:parser, :environment).should equal(@parser)
+ end
+
+ it "should create a new parser when reparse is true" do
+ oldparser = mock('oldparser')
+ newparser = mock('newparser')
+ oldparser.expects(:reparse?).returns(true)
+ oldparser.expects(:clear)
+
+ @interp.expects(:create_parser).with(:environment).returns(oldparser)
+ @interp.send(:parser, :environment).should equal(oldparser)
+ @interp.expects(:create_parser).with(:environment).returns(newparser)
+ @interp.send(:parser, :environment).should equal(newparser)
+ end
+
+ it "should keep the old parser if create_parser doesn't return anything." do
+ # Get the first parser in the hash.
+ @interp.expects(:create_parser).with(:environment).returns(@parser)
+ @interp.send(:parser, :environment).should equal(@parser)
+
+ # Have it indicate something has changed
+ @parser.expects(:reparse?).returns(true)
+
+ # But fail to create a new parser
+ @interp.expects(:create_parser).with(:environment).returns(nil)
+
+ # And make sure we still get the old valid parser
+ @interp.send(:parser, :environment).should equal(@parser)
+ end
+
+ it "should use different parsers for different environments" do
+ # get one for the first env
+ @interp.expects(:create_parser).with(:first_env).returns(@parser)
+ @interp.send(:parser, :first_env).should equal(@parser)
+
+ other_parser = mock('otherparser')
+ @interp.expects(:create_parser).with(:second_env).returns(other_parser)
+ @interp.send(:parser, :second_env).should equal(other_parser)
+ end
+end