buildlogparser 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: fb24a7d365529129348303b744a00d3eedeae902
4
- data.tar.gz: 6fc6bbdd8e5742872ef4acd6d8e65c699c55f258
2
+ SHA256:
3
+ metadata.gz: 75f73e2ee9abbf0130bfcbd90fd302a60e8033ca85155185ada98d1c058f915b
4
+ data.tar.gz: 3b6dce6aee391d67c076db96c27e81d282af9a5b6da68fcc5c1ae0f323781747
5
5
  SHA512:
6
- metadata.gz: 6507122ba63a44041a03e91a2cf233c2b2c6cdc94c57aafe223a7db2ddc2c9111c8d4987049d2ab919ee2b9c0e12ecd9913641da4699731c07a96a332d22ce89
7
- data.tar.gz: 8505eb1fb3d4171a7db944a5e38d78ccc43611cd181897dc2aee129d43263171097b02007580e0f20260691134ef6b1b86867a3c52e13e53e219eec5c30d4094
6
+ metadata.gz: 4de5af23fbcfae9462befb767609d5866ea50d39eb0ddafc042ddd7ab85e2eabefaddba8e00871379094d077f27f655e6fda34c585f2fb37e7dc9cccad7dad30
7
+ data.tar.gz: 59cb9a7e5903b32ad0a46491747717e599e4742b805ab6049397a6487de338e6b8307fb21522c202e4294c68a301331f02f4ab85f03481f8e6e05b8ae1c45482
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.4.0 (08.02.2020)
4
+
5
+ * Updated command line parser library to new name.
6
+ * [ctest/log] Relaxed the command syntax to allow all possible characters.
7
+ * Added support for parsing *scimark2* command line output.
8
+ * Added support for parsing lmbench *lat_mem_rd* command line output.
9
+ * Added support for parsing *gem5* generated `stats.txt` files.
10
+
3
11
  ## v0.3.1 (11.05.2018)
4
12
 
5
13
  * Fixed broken __FILE__ check in command line tool.
data/README.md CHANGED
@@ -77,5 +77,8 @@ $ RUBYLIB=<repo-path>/lib <repo-path>/bin/buildlogparser <arguments>
77
77
  * cmake/ctest 3.5.1
78
78
  * coremark 1.0
79
79
  * dhrystone (C Version) 2.1 and 2.2
80
+ * gem5 (development version)
80
81
  * lld 7.0 (development version)
82
+ * lmbench lat_mem_rd 3.0-a9
83
+ * scimark (C Version) 2.0
81
84
  * size (GNU Binutils 2.26.1)
@@ -26,13 +26,13 @@ require 'yaml'
26
26
  require 'rubygems'
27
27
  require 'buildlogparser'
28
28
  require 'terminal-table'
29
- require 'trollop'
29
+ require 'optimist'
30
30
 
31
31
  module ApplicationLogic
32
32
  def self.parseComandLine(argv)
33
33
  parsers = BuildLogParser::getParserNames
34
34
  formats = [:yaml, :csv, :table]
35
- p = Trollop::Parser.new do
35
+ p = Optimist::Parser.new do
36
36
  banner <<-EOS
37
37
  Extracts information from various log file formats.
38
38
 
@@ -48,7 +48,7 @@ where [options] are:
48
48
  opt :parsermodule, "Path to ruby file or gem name that implements additional parsers.", :type => String, :multi => true, :short => "-p"
49
49
  end
50
50
  opts = {}
51
- Trollop::with_standard_exception_handling p do
51
+ Optimist::with_standard_exception_handling p do
52
52
  opts = p.parse argv
53
53
  end
54
54
 
@@ -20,12 +20,12 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ["lib"]
21
21
  spec.bindir = "bin"
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.15"
24
- spec.add_development_dependency "codecov", "~> 0.1.10"
25
- spec.add_development_dependency "minitest", "~> 5.8"
26
- spec.add_development_dependency "rake", "~> 10.5"
27
- spec.add_development_dependency "simplecov", "~> 0.14"
23
+ spec.add_development_dependency "bundler", ">= 1.15"
24
+ spec.add_development_dependency "codecov", ">= 0.1.10"
25
+ spec.add_development_dependency "minitest", ">= 5.8"
26
+ spec.add_development_dependency "rake", ">= 10.5"
27
+ spec.add_development_dependency "simplecov", ">= 0.14"
28
+ spec.add_runtime_dependency "optimist", "~> 3.0"
28
29
  spec.add_runtime_dependency "parslet", "~> 1.8"
29
- spec.add_runtime_dependency "trollop", "~> 2.1"
30
30
  spec.add_runtime_dependency "terminal-table", "~> 1.8"
31
31
  end
@@ -26,5 +26,8 @@ require_relative "buildlogparser/parsers/cmake"
26
26
  require_relative "buildlogparser/parsers/coremark"
27
27
  require_relative "buildlogparser/parsers/ctest"
28
28
  require_relative "buildlogparser/parsers/dhrystone"
29
+ require_relative "buildlogparser/parsers/gem5"
29
30
  require_relative "buildlogparser/parsers/lld"
31
+ require_relative "buildlogparser/parsers/lmbench"
32
+ require_relative "buildlogparser/parsers/scimark2"
30
33
  require_relative "buildlogparser/parsers/size"
@@ -76,9 +76,9 @@ module BuildLogParser
76
76
 
77
77
  rule(:endofoutput) { newline.maybe >> str('<end of output>') >> newline }
78
78
  rule(:output) { ( endofoutput.absent? >> any ).repeat }
79
- rule(:endtime) { str('end time: ') >> restofline.as(:endtime) }
79
+ rule(:endtime) { str('end time: ') >> restofline.as(:endtime) }
80
80
 
81
- rule(:quotedcommand) { str('"') >> path.as(:commandstring) >> str('"') }
81
+ rule(:quotedcommand) { str('"') >> match['^\"'].repeat(1).as(:commandstring) >> str('"') }
82
82
  rule(:commandlist) { quotedcommand >> (space >> quotedcommand).repeat }
83
83
 
84
84
  rule(:event) do
@@ -0,0 +1,131 @@
1
+ #
2
+ # Copyright (C) 2018 Mario Werner <nioshd@gmail.com>
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of
5
+ # this software and associated documentation files (the "Software"), to deal in
6
+ # the Software without restriction, including without limitation the rights to
7
+ # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
+ # the Software, and to permit persons to whom the Software is furnished to do so,
9
+ # subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
+ #
21
+ require 'parslet'
22
+
23
+ module BuildLogParser
24
+ module Gem5Stats
25
+ class Parser < Parslet::Parser
26
+ rule(:space) { match['\s'] }
27
+ rule(:space?) { space.repeat }
28
+
29
+ rule(:newline) { str("\r").maybe >> str("\n") }
30
+ rule(:restofline){ ( newline.absent? >> any ).repeat }
31
+
32
+ rule(:integer) { str("-").maybe >> match['0-9'].repeat(1) }
33
+ rule(:float) { integer >> match['\.,'] >> integer | str("nan") | str("inf") }
34
+
35
+ rule(:key) { match['[:alnum:]=\+\.\-_\:'].repeat(1) }
36
+ rule(:kvpair) { key.as(:key) >> space? >> (float.as(:float) | integer.as(:int)) }
37
+
38
+ rule(:target) do
39
+ str('---------- Begin Simulation Statistics ----------') >> newline >>
40
+ (kvpair >> restofline >> newline).repeat.as(:numbers)
41
+ end
42
+
43
+ rule(:start) { (target | (restofline >> newline | any).as(:drop)).repeat.as(:array) }
44
+ root(:start)
45
+ end # class Parser
46
+
47
+ def self.valid_symbol?(str)
48
+ str.match(/^\w+$/) != nil
49
+ end
50
+
51
+ def self.valid_symbol_sequence?(str)
52
+ parts = str.split('.').reject { |f| f.empty? }
53
+ parts.each { |e| return false unless Gem5Stats::valid_symbol?(e) }
54
+ return true
55
+ end
56
+
57
+ def self.to_symbol_sequence(str)
58
+ parts = str.split('.').reject { |f| f.empty? }
59
+ return parts.map { |e| e.to_sym }
60
+ end
61
+
62
+ def self.get_key_sequence(str)
63
+ # split the key string into a sequence of symbols and strings
64
+ keys = []
65
+ fragments = str.split("::").reject { |f| f.empty? }
66
+ fragments.each { |f|
67
+ if Gem5Stats::valid_symbol_sequence?(f)
68
+ keys.concat(Gem5Stats::to_symbol_sequence(f))
69
+ else
70
+ keys.push(f)
71
+ end
72
+ }
73
+ return keys
74
+ end
75
+
76
+ def self.insert_into_hash(hash, keys, value)
77
+ ptr = hash
78
+ keys[0..-2].each { |k|
79
+ ptr[k] ||= {}
80
+ ptr = ptr[k]
81
+ }
82
+ ptr[keys[-1]] = value
83
+ end
84
+
85
+ class Transform < Parslet::Transform
86
+ rule(:drop => subtree(:tree)) { }
87
+ rule(:numbers => subtree(:numbers)) do
88
+ result = {}
89
+ numbers.each { |e|
90
+ # extract the value with the correct type
91
+ if e.key?(:float)
92
+ str = e[:float]
93
+ if str == "nan"
94
+ value = Float::NAN
95
+ elsif str == "inf"
96
+ value = Float::INFINITY
97
+ else
98
+ value = Float(e[:float])
99
+ end
100
+ else
101
+ value = Integer(e[:int])
102
+ end
103
+
104
+ keys = Gem5Stats::get_key_sequence(String(e[:key]))
105
+ Gem5Stats::insert_into_hash(result, keys, value)
106
+ }
107
+ result
108
+ end
109
+ rule(:array => subtree(:tree)) { tree.compact.flatten }
110
+ end # class Transform
111
+ end # module Gem5Stats
112
+
113
+ class Gem5Parser < BuildLogParser::Parser
114
+ attr_reader :data
115
+
116
+ def reset()
117
+ super()
118
+ @data = []
119
+ end
120
+
121
+ def parseStats(logtext)
122
+ reset()
123
+ @logtext = logtext
124
+ parser = Gem5Stats::Parser.new
125
+ tree = parser.parse(logtext)
126
+ @data = Gem5Stats::Transform.new.apply(tree)
127
+ end
128
+ end # class Gem5Parser
129
+
130
+ registerParser(:gem5Stats, Gem5Parser, :parseStats)
131
+ end # module BuildLogParser
@@ -0,0 +1,75 @@
1
+ #
2
+ # Copyright (C) 2018 Mario Werner <nioshd@gmail.com>
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of
5
+ # this software and associated documentation files (the "Software"), to deal in
6
+ # the Software without restriction, including without limitation the rights to
7
+ # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
+ # the Software, and to permit persons to whom the Software is furnished to do so,
9
+ # subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
+ #
21
+ require 'parslet'
22
+
23
+ module BuildLogParser
24
+ module LmbenchLatMemRd
25
+ class Parser < Parslet::Parser
26
+ rule(:space) { match['\s'] }
27
+ rule(:space?) { space.repeat }
28
+
29
+ rule(:newline) { str("\r").maybe >> str("\n") }
30
+ rule(:restofline){ ( newline.absent? >> any ).repeat }
31
+
32
+ rule(:integer) { match['0-9'].repeat(1) }
33
+ rule(:float) { integer >> (match['\.,'] >> integer).maybe }
34
+
35
+ rule(:kvpair) { float.as(:key) >> space? >> float.as(:value) }
36
+
37
+ rule(:target) do
38
+ str('"stride=') >> integer.as(:stride) >> newline >>
39
+ (kvpair >> newline.maybe).repeat.as(:numbers)
40
+ end
41
+
42
+ rule(:start) { (target | (restofline >> newline | any).as(:drop)).repeat.as(:array) }
43
+ root(:start)
44
+ end # class Parser
45
+
46
+ class Transform < Parslet::Transform
47
+ rule(:drop => subtree(:tree)) { }
48
+ rule(:stride => simple(:stride), :numbers => subtree(:numbers)) do
49
+ result = { :stride => Integer(stride) }
50
+ numbers.each { |e| result[Float(e[:key])] = Float(e[:value]) }
51
+ result
52
+ end
53
+ rule(:array => subtree(:tree)) { tree.compact.flatten }
54
+ end # class Transform
55
+ end # module LmbenchLatMemRd
56
+
57
+ class LmbenchParser < BuildLogParser::Parser
58
+ attr_reader :data
59
+
60
+ def reset()
61
+ super()
62
+ @data = []
63
+ end
64
+
65
+ def parseLatMemRd(logtext)
66
+ reset()
67
+ @logtext = logtext
68
+ parser = LmbenchLatMemRd::Parser.new
69
+ tree = parser.parse(logtext)
70
+ @data = LmbenchLatMemRd::Transform.new.apply(tree)
71
+ end
72
+ end # class LmbenchParser
73
+
74
+ registerParser(:lmbenchLatMemRd, LmbenchParser, :parseLatMemRd)
75
+ end # module BuildLogParser
@@ -0,0 +1,86 @@
1
+ #
2
+ # Copyright (C) 2018 Mario Werner <nioshd@gmail.com>
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of
5
+ # this software and associated documentation files (the "Software"), to deal in
6
+ # the Software without restriction, including without limitation the rights to
7
+ # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
+ # the Software, and to permit persons to whom the Software is furnished to do so,
9
+ # subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
+ #
21
+ require 'parslet'
22
+
23
+ module BuildLogParser
24
+ module Scimark2
25
+ class Parser < Parslet::Parser
26
+ rule(:space) { match['\s'] }
27
+ rule(:space?) { space.repeat }
28
+
29
+ rule(:newline) { str("\r").maybe >> str("\n") }
30
+ rule(:restofline){ ( newline.absent? >> any ).repeat }
31
+
32
+ rule(:integer) { match['0-9'].repeat(1) }
33
+ rule(:float) { integer >> (match['\.,'] >> integer).maybe }
34
+
35
+ rule(:target) do
36
+ str('Using') >> space? >> float.as(:time_per_kernel) >> str(' seconds min time per kenel.') >> newline >>
37
+ str('Composite Score:') >> space? >> float.as(:composite) >> newline >>
38
+ str('FFT') >> space? >> str('Mflops:') >> space? >> float.as(:fft) >> space? >>
39
+ str('(N=') >> integer.as(:fft_n) >> str(')') >> newline >>
40
+ str('SOR') >> space? >> str('Mflops:') >> space? >> float.as(:sor) >> space? >>
41
+ str('(') >> integer.as(:sor_1) >> space? >> str('x') >> space? >> integer.as(:sor_2) >> str(')') >> newline >>
42
+ str('MonteCarlo:') >> space? >> str('Mflops:') >> space? >> float.as(:monte_carlo) >> newline >>
43
+ str('Sparse matmult') >> space? >> str('Mflops:') >> space? >> float.as(:sparse_matmult) >> space? >>
44
+ str('(N=') >> integer.as(:sparse_matmult_n) >> str(', nz=') >> integer.as(:sparse_matmult_nz) >> str(')') >> newline >>
45
+ str('LU') >> space? >> str('Mflops:') >> space? >> float.as(:lu) >> space? >>
46
+ str('(M=') >> integer.as(:lu_m) >> str(', N=') >> integer.as(:lu_n) >> str(')')
47
+ end
48
+
49
+ rule(:start) { (target | (restofline >> newline | any).as(:drop)).repeat.as(:array) }
50
+ root(:start)
51
+ end # class Parser
52
+
53
+ class Transform < Parslet::Transform
54
+ rule(:drop => subtree(:tree)) { }
55
+ rule(:time_per_kernel => simple(:time_per_kernel), :composite => simple(:composite), :fft => simple(:fft), :fft_n => simple(:fft_n),
56
+ :sor => simple(:sor), :sor_1 => simple(:sor_1), :sor_2 => simple(:sor_2), :monte_carlo => simple(:monte_carlo),
57
+ :sparse_matmult => simple(:sparse_matmult), :sparse_matmult_n => simple(:sparse_matmult_n), :sparse_matmult_nz => simple(:sparse_matmult_nz),
58
+ :lu => simple(:lu), :lu_m => simple(:lu_m), :lu_n => simple(:lu_n)) do
59
+ { :time_per_kernel => Float(time_per_kernel), :composite => Float(composite), :fft => Float(fft), :fft_n => Integer(fft_n),
60
+ :sor => Float(sor), :sor_1 => Integer(sor_1), :sor_2 => Integer(sor_2), :monte_carlo => Float(monte_carlo),
61
+ :sparse_matmult => Float(sparse_matmult), :sparse_matmult_n => Integer(sparse_matmult_n), :sparse_matmult_nz => Integer(sparse_matmult_nz),
62
+ :lu => Float(lu), :lu_m => Integer(lu_m), :lu_n => Integer(lu_n) }
63
+ end
64
+ rule(:array => subtree(:tree)) { tree.compact.flatten }
65
+ end # class Transform
66
+ end # module Scimark2
67
+
68
+ class Scimark2Parser < BuildLogParser::Parser
69
+ attr_reader :data
70
+
71
+ def reset()
72
+ super()
73
+ @data = []
74
+ end
75
+
76
+ def parse(logtext)
77
+ reset()
78
+ @logtext = logtext
79
+ parser = Scimark2::Parser.new
80
+ tree = parser.parse(logtext)
81
+ @data = Scimark2::Transform.new.apply(tree)
82
+ end
83
+ end # class Scimark2Parser
84
+
85
+ registerParser(:scimark2, Scimark2Parser, :parse)
86
+ end # module BuildLogParser
@@ -21,8 +21,8 @@
21
21
  module BuildLogParser
22
22
  module VERSION #:nodoc:
23
23
  MAJOR = 0
24
- MINOR = 3
25
- PATCH = 1
24
+ MINOR = 4
25
+ PATCH = 0
26
26
 
27
27
  STRING = [MAJOR, MINOR, PATCH].join('.')
28
28
  end
metadata CHANGED
@@ -1,113 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: buildlogparser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Werner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-11 00:00:00.000000000 Z
11
+ date: 2020-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.15'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.15'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: codecov
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 0.1.10
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.1.10
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '5.8'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '5.8'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '10.5'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '10.5'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: simplecov
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0.14'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0.14'
83
83
  - !ruby/object:Gem::Dependency
84
- name: parslet
84
+ name: optimist
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.8'
89
+ version: '3.0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.8'
96
+ version: '3.0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: trollop
98
+ name: parslet
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '2.1'
103
+ version: '1.8'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '2.1'
110
+ version: '1.8'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: terminal-table
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -145,7 +145,10 @@ files:
145
145
  - lib/buildlogparser/parsers/coremark.rb
146
146
  - lib/buildlogparser/parsers/ctest.rb
147
147
  - lib/buildlogparser/parsers/dhrystone.rb
148
+ - lib/buildlogparser/parsers/gem5.rb
148
149
  - lib/buildlogparser/parsers/lld.rb
150
+ - lib/buildlogparser/parsers/lmbench.rb
151
+ - lib/buildlogparser/parsers/scimark2.rb
149
152
  - lib/buildlogparser/parsers/size.rb
150
153
  - lib/buildlogparser/registry.rb
151
154
  - lib/buildlogparser/version.rb
@@ -169,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
172
  version: '0'
170
173
  requirements: []
171
174
  rubyforge_project:
172
- rubygems_version: 2.5.2.1
175
+ rubygems_version: 2.7.6
173
176
  signing_key:
174
177
  specification_version: 4
175
178
  summary: Collection of various parsers for the extraction of information from build