lib/sprinkle/verify.rb in sprinkle-0.7.6.2 vs lib/sprinkle/verify.rb in sprinkle-0.7.7

- old
+ new

@@ -60,11 +60,11 @@ # end class Verify include Sprinkle::Attributes include Sprinkle::Package::Rendering::Helpers include Sprinkle::Sudo - attr_accessor :package, :description, :commands, :options #:nodoc: + attr_accessor :package, :description, :options #:nodoc: delegate :opts, :to => :package delegate :args, :to => :package delegate :version, :to => :package delegate :description, :to => :package @@ -85,14 +85,25 @@ @description = description @commands = [] @options ||= {} @options[:padding] = 4 @delivery = nil - - self.instance_eval(&block) + @block = block end + def commands + prepare + @commands + end + + def prepare + return if @prepared + @commands = [] + self.instance_eval(&@block) + @prepared = true + end + def runner(*cmds) ActiveSupport::Deprecation.warn "runner inside verify is depreciated and will removed in the future\n" + "use runs_without_error instead." runs_without_error(*cmds) @@ -107,10 +118,13 @@ if logger.debug? logger.debug "#{@package.name}#{description} verification sequence: #{@commands.join('; ')} for roles: #{roles}\n" end - unless Sprinkle::OPTIONS[:testing] + if Sprinkle::OPTIONS[:testing] + # always fail when testing to force an install + raise Sprinkle::VerificationFailed.new(@package, description) if pre + else logger.debug "#{" " * @options[:padding]}--> Verifying #{description}..." unless @delivery.verify(self, roles) # Verification failed, halt sprinkling gracefully. raise Sprinkle::VerificationFailed.new(@package, description)