Sha256: 37357ed10de720ca5f72c762befe6937fe04ecf95db6325823edd9e539744a0c

Contents?: true

Size: 1.67 KB

Versions: 3

Compression:

Stored size: 1.67 KB

Contents

require 'benchmark'

module Scoutui::Commands

  class Command
    attr_accessor :description
    attr_accessor :drv
    attr_accessor :cmd
    attr_accessor :rc
    attr_accessor :locator
    attr_accessor :executed
    attr_accessor :executed_result
    attr_accessor :stanza
    attr_accessor :bm

    def initialize(_cmd, _drv=nil)
      Scoutui::Logger::LogMgr.instance.commands.debug __FILE__ + (__LINE__).to_s + "  Command.init: #{_cmd.to_s}"

      @bm=nil
      @cmd=_cmd

      if _cmd.is_a?(Hash) && _cmd.has_key?('page') && _cmd['page'].has_key?('action')
        @stanza = _cmd
        @cmd=_cmd['page']['action']
      end

      @rc=nil
      @drv=_drv
      @locator=nil
      @executed=false
      @executed_result=nil
    end

    def setResult(r)
      Scoutui::Logger::LogMgr.instance.commands.debug " #{@cmd.to_s} : setResult(#{r.to_s})"
      @executed=true
      @executed_result=r
    end

    def executedResult
      @executed_result
    end

    def wasExecuted?
      @executed
    end

    def setLocator(_locator)
      @locator=_locator
    end

    def getLocator()
      @locator
    end

    def result
      @rc
    end

    def run(opts) # (_drv=nil, _dut=nil)
      _drv=opts[:driver]
      _dut=opts.has_key?(:dut) ? opts[:dut] : nil

      Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " = start run(#{@cmd}) ="
      @bm=Benchmark.measure { execute(_drv, _dut) }
      Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " = end run(#{@cmd}) : #{@bm.real}"

      Scoutui::Logger::LogMgr.instance.benchmarks.info "#{@cmd} => #{@bm.real}"
    end

    def execute(_drv=nil, _dut=nil)
      raise NotImplementedError
    end

  end


end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
scoutui-2.0.3.24.pre lib/scoutui/commands/command.rb
scoutui-2.0.3.23.pre lib/scoutui/commands/command.rb
scoutui-2.0.3.22.pre lib/scoutui/commands/command.rb