diff options
Diffstat (limited to 'test/lib')
| -rw-r--r-- | test/lib/puppettest.rb | 74 | ||||
| -rw-r--r-- | test/lib/puppettest/exetest.rb | 4 | ||||
| -rw-r--r-- | test/lib/puppettest/fakes.rb | 4 | ||||
| -rw-r--r-- | test/lib/puppettest/filetesting.rb (renamed from test/lib/puppettest/support/file.rb) | 7 | ||||
| -rw-r--r-- | test/lib/puppettest/parsertesting.rb (renamed from test/lib/puppettest/support/parser.rb) | 5 | ||||
| -rw-r--r-- | test/lib/puppettest/servertest.rb | 2 | ||||
| -rw-r--r-- | test/lib/puppettest/support.rb | 10 | ||||
| -rw-r--r-- | test/lib/puppettest/support/assertions.rb | 4 | ||||
| -rw-r--r-- | test/lib/puppettest/support/helpers.rb | 4 | ||||
| -rw-r--r-- | test/lib/puppettest/support/utils.rb | 16 |
10 files changed, 102 insertions, 28 deletions
diff --git a/test/lib/puppettest.rb b/test/lib/puppettest.rb index b08cfcfd9..bff410060 100644 --- a/test/lib/puppettest.rb +++ b/test/lib/puppettest.rb @@ -1,12 +1,54 @@ -require 'puppettest/support/helpers' +require 'puppet' +require 'test/unit' module PuppetTest - include PuppetTest::Support::Helpers + # Find the root of the Puppet tree; this is not the test directory, but + # the parent of that dir. + def basedir + unless defined? @@basedir + case $0 + when /rake_test_loader/ + @@basedir = File.dirname(Dir.getwd) + else + dir = nil + if /^#{File::SEPARATOR}.+\.rb/ + dir = $0 + else + dir = File.join(Dir.getwd, $0) + end + 3.times { dir = File.dirname(dir) } + @@basedir = dir + end + end + @@basedir + end def cleanup(&block) @@cleaners << block end + def datadir + File.join(basedir, "test", "data") + end + + def exampledir(*args) + unless defined? @@exampledir + @@exampledir = File.join(basedir, "examples") + end + + if args.empty? + return @@exampledir + else + return File.join(@@exampledir, *args) + end + end + + module_function :basedir, :datadir, :exampledir + + def rake? + $0 =~ /rake_test_loader/ + end + def setup @memoryatstart = Puppet::Util.memory if defined? @@testcount @@ -38,16 +80,27 @@ module PuppetTest @@cleaners = [] - if $0 =~ /.+\.rb/ or Puppet[:debug] + # If we're running under rake, then disable debugging and such. + if rake? and ! Puppet[:debug] + Puppet::Log.close + Puppet::Log.newdestination tempfile() + Puppet[:httplog] = tempfile() + else Puppet::Log.newdestination :console Puppet::Log.level = :debug #$VERBOSE = 1 Puppet.info @method_name - else - Puppet::Log.close - Puppet::Log.newdestination tempfile() - Puppet[:httplog] = tempfile() end + #if $0 =~ /.+\.rb/ or Puppet[:debug] + # Puppet::Log.newdestination :console + # Puppet::Log.level = :debug + # #$VERBOSE = 1 + # Puppet.info @method_name + #else + # Puppet::Log.close + # Puppet::Log.newdestination tempfile() + # Puppet[:httplog] = tempfile() + #end Puppet[:ignoreschedules] = true end @@ -136,4 +189,11 @@ module PuppetTest end end +require 'puppettest/support' +require 'puppettest/filetesting' +require 'puppettest/fakes' +require 'puppettest/exetest' +require 'puppettest/parsertesting' +require 'puppettest/servertest' + # $Id$ diff --git a/test/lib/puppettest/exetest.rb b/test/lib/puppettest/exetest.rb index 2d2a68db1..5f155b47f 100644 --- a/test/lib/puppettest/exetest.rb +++ b/test/lib/puppettest/exetest.rb @@ -1,4 +1,4 @@ -require 'servertest' +require 'puppettest/servertest' module PuppetTest::ExeTest include PuppetTest::ServerTest @@ -10,7 +10,7 @@ module PuppetTest::ExeTest end def bindir - File.join($puppetbase, "bin") + File.join(basedir, "bin") end def setbindir diff --git a/test/lib/puppettest/fakes.rb b/test/lib/puppettest/fakes.rb index 42ba0c6af..0d27faf1f 100644 --- a/test/lib/puppettest/fakes.rb +++ b/test/lib/puppettest/fakes.rb @@ -1,4 +1,6 @@ -module PuppetTest::Fakes +require 'puppettest' + +module PuppetTest # A baseclass for the faketypes. class FakeModel class << self diff --git a/test/lib/puppettest/support/file.rb b/test/lib/puppettest/filetesting.rb index d2810d4e0..43a2ae1a0 100644 --- a/test/lib/puppettest/support/file.rb +++ b/test/lib/puppettest/filetesting.rb @@ -1,4 +1,7 @@ -module PuppetTest::Support::File +require 'puppettest' + +module PuppetTest::FileTesting + include PuppetTest def cycle(comp) trans = nil assert_nothing_raised { @@ -221,7 +224,7 @@ module PuppetTest::Support::File end def conffile - File.join($puppetbase,"examples/root/etc/configfile") + exampledir("root/etc/configfile") end end diff --git a/test/lib/puppettest/support/parser.rb b/test/lib/puppettest/parsertesting.rb index c4db871a5..e0606c501 100644 --- a/test/lib/puppettest/support/parser.rb +++ b/test/lib/puppettest/parsertesting.rb @@ -1,4 +1,7 @@ -module PuppetTest::Support::Parser +require 'puppettest' + +module PuppetTest::ParserTesting + include PuppetTest AST = Puppet::Parser::AST def astarray(*args) diff --git a/test/lib/puppettest/servertest.rb b/test/lib/puppettest/servertest.rb index 528b1a0d7..532256d74 100644 --- a/test/lib/puppettest/servertest.rb +++ b/test/lib/puppettest/servertest.rb @@ -1,4 +1,4 @@ -require 'scaffold' +require 'puppettest' module PuppetTest::ServerTest include PuppetTest diff --git a/test/lib/puppettest/support.rb b/test/lib/puppettest/support.rb index 54b19ba7f..c81b5cd9d 100644 --- a/test/lib/puppettest/support.rb +++ b/test/lib/puppettest/support.rb @@ -1,8 +1,8 @@ +require 'puppettest' + module PuppetTest::Support end -require 'support/assertions' -require 'support/file' -require 'support/helpers' -require 'support/parser' -require 'support/utils' +require 'puppettest/support/assertions' +require 'puppettest/support/helpers' +require 'puppettest/support/utils' diff --git a/test/lib/puppettest/support/assertions.rb b/test/lib/puppettest/support/assertions.rb index 63ce0cccb..0e272002e 100644 --- a/test/lib/puppettest/support/assertions.rb +++ b/test/lib/puppettest/support/assertions.rb @@ -1,4 +1,6 @@ -module PuppetTest::Support::Assertions +require 'puppettest' + +module PuppetTest def assert_rollback_events(events, trans, msg = nil) run_events(:rollback, events, trans, msg) end diff --git a/test/lib/puppettest/support/helpers.rb b/test/lib/puppettest/support/helpers.rb index 41974d331..7fae994d9 100644 --- a/test/lib/puppettest/support/helpers.rb +++ b/test/lib/puppettest/support/helpers.rb @@ -1,4 +1,6 @@ -module PuppetTest::Support::Helpers +require 'puppettest' + +module PuppetTest def nonrootuser Etc.passwd { |user| if user.uid != Process.uid and user.uid > 0 diff --git a/test/lib/puppettest/support/utils.rb b/test/lib/puppettest/support/utils.rb index 1b22e8d6e..00ea1a1c9 100644 --- a/test/lib/puppettest/support/utils.rb +++ b/test/lib/puppettest/support/utils.rb @@ -1,4 +1,6 @@ -module PuppetTest::Support::Utils +require 'puppettest' + +module PuppetTest def gcdebug(type) Puppet.warning "%s: %s" % [type, ObjectSpace.each_object(type) { |o| }] end @@ -15,7 +17,7 @@ module PuppetTest::Support::Utils assert_nothing_raised { file = transport.to_type } - end + end # stop any services that might be hanging around def stopservices @@ -24,7 +26,7 @@ module PuppetTest::Support::Utils service[:ensure] = :stopped service.evaluate } - end + end end # TODO: rewrite this to use the 'etc' module. @@ -65,7 +67,7 @@ module PuppetTest::Support::Utils # If there are any fake data files, retrieve them def fakedata(dir) - ary = [$puppetbase, "test"] + ary = [basedir, "test"] ary += dir.split("/") dir = File.join(ary) @@ -80,7 +82,7 @@ module PuppetTest::Support::Utils end def fakefile(name) - ary = [$puppetbase, "test"] + ary = [basedir, "test"] ary += name.split("/") file = File.join(ary) unless FileTest.exists?(file) @@ -100,7 +102,7 @@ module PuppetTest::Support::Utils # a list of files that we can parse for testing def textfiles - textdir = File.join($puppetbase,"examples","code", "snippets") + textdir = File.join(exampledir,"code", "snippets") Dir.entries(textdir).reject { |f| f =~ /^\./ or f =~ /fail/ }.each { |f| @@ -109,7 +111,7 @@ module PuppetTest::Support::Utils end def failers - textdir = File.join($puppetbase,"examples","code", "failers") + textdir = File.join(exampledir,"code", "failers") # only parse this one file now files = Dir.entries(textdir).reject { |file| file =~ %r{\.swp} |
