Sha256: a6f85be132a5e120d69b68d7b59b76eb4931fc2dfe9f2167aa6b431ba8f87cf7

Contents?: true

Size: 1.5 KB

Versions: 107

Compression:

Stored size: 1.5 KB

Contents

module OrigenTesters
  module IGXLBasedTester
    # Methods for handling all J750 file parsing, e.g. datalogs,
    # test time profiles, etc.
    module Files
      # Reads all lines from a J750 detailed execution time file, returning the lines
      # as an array like this:
      #
      #   [
      #     {:name => "power_cycle", :index => 1, :group => 3, :time => 0.00461},
      #     {:name => "power_cycle", :index => 2, :group => 3, :time => 0.00481},
      #     {:name => "power_cycle", :index => 3, :group => 3, :time => 0.00438},
      #     {:name => "nvm_mass_erase", :index => nil, :group => nil, :time => 0.19863},
      #   ]
      def read_test_times(file, options = {})
        tests = []
        File.readlines(file).each do |line|
          unless line.strip.empty? || line =~ /Entire Job/
            # http://rubular.com/r/vZOcqovTsf
            if line =~ /(\w+) ?(\(.*?\))?  \d\d\d\d  (\d+\.\d+).*/
              t = { name: Regexp.last_match[1], time: Regexp.last_match[3].to_f.round(6) }
              # If an indexed test
              if Regexp.last_match[2]
                str = Regexp.last_match[2].gsub('(', '').gsub(')', '')
                fields = str.split('/')
                i = fields[0].to_i
                g = fields[1].to_i
                t[:index] = i
                t[:group] = g

              else
                t[:index] = nil
                t[:group] = nil
              end
              tests << t
            end
          end
        end
        tests
      end
    end
  end
end

Version data entries

107 entries across 107 versions & 1 rubygems

Version Path
origen_testers-0.52.9 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.52.8 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.52.7 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.52.6 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.52.5 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.52.4 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.52.3 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.52.1 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.52.0 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.51.5 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.51.4 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.51.3 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.51.2 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.51.1 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.51.0 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.50.0 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.49.4 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.49.3 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.49.2 lib/origen_testers/igxl_based_tester/files.rb
origen_testers-0.49.1 lib/origen_testers/igxl_based_tester/files.rb