# File lib/buildr/core/test.rb, line 509
    def run_tests
      dependencies = (Buildr.artifacts(self.dependencies + compile.dependencies) + [compile.target]).map(&:to_s).uniq
      rm_rf report_to.to_s
      rm_rf failures_to.to_s
      @tests = @framework.tests(dependencies).select { |test| include?(test) }.sort
      if @tests.empty?
        @passed_tests, @failed_tests = [], []
      else
        info "Running tests in #{@project.name}"
        begin
          # set the baseDir system property if not set
          @framework.options[:properties] = { 'baseDir' => compile.target.to_s }.merge(@framework.options[:properties] || {})
          @passed_tests = @framework.run(@tests, dependencies)
        rescue Exception=>ex
          error "Test framework error: #{ex.message}"
          error ex.backtrace.join("\n") if trace?
          @passed_tests = []
        end
        @failed_tests = @tests - @passed_tests
        unless @failed_tests.empty?
          Buildr::write(failures_to.to_s, @failed_tests.join("\n"))
          error "The following tests failed:\n#{@failed_tests.join("\n")}"
          fail 'Tests failed!'
        end
      end
      record_successful_run unless @forced_need
    end