dragnet 5.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/release.yml +45 -0
  3. data/.github/workflows/ruby-linters.yml +41 -0
  4. data/.github/workflows/ruby-tests.yml +38 -0
  5. data/.github/workflows/sphinx-doc.yml +79 -0
  6. data/.gitignore +13 -0
  7. data/.reek.yml +15 -0
  8. data/.rspec +3 -0
  9. data/.rubocop.yml +14 -0
  10. data/.ruby-version +1 -0
  11. data/.travis.yml +6 -0
  12. data/CHANGELOG.md +178 -0
  13. data/Gemfile +18 -0
  14. data/README.md +119 -0
  15. data/Rakefile +8 -0
  16. data/bin/console +14 -0
  17. data/bin/setup +8 -0
  18. data/default.reek +7 -0
  19. data/dragnet.gemspec +39 -0
  20. data/exe/dragnet +9 -0
  21. data/lib/dragnet/base_repository.rb +69 -0
  22. data/lib/dragnet/cli/base.rb +72 -0
  23. data/lib/dragnet/cli/logger.rb +72 -0
  24. data/lib/dragnet/cli/master.rb +173 -0
  25. data/lib/dragnet/cli.rb +8 -0
  26. data/lib/dragnet/errors/error.rb +8 -0
  27. data/lib/dragnet/errors/file_not_found_error.rb +11 -0
  28. data/lib/dragnet/errors/incompatible_repository_error.rb +10 -0
  29. data/lib/dragnet/errors/missing_timestamp_attribute_error.rb +11 -0
  30. data/lib/dragnet/errors/no_mtr_files_found_error.rb +11 -0
  31. data/lib/dragnet/errors/not_a_repository_error.rb +11 -0
  32. data/lib/dragnet/errors/repo_path_not_found_error.rb +10 -0
  33. data/lib/dragnet/errors/unable_to_write_report_error.rb +11 -0
  34. data/lib/dragnet/errors/unknown_export_format_error.rb +11 -0
  35. data/lib/dragnet/errors/validation_error.rb +11 -0
  36. data/lib/dragnet/errors/yaml_format_error.rb +9 -0
  37. data/lib/dragnet/errors.rb +9 -0
  38. data/lib/dragnet/explorer.rb +103 -0
  39. data/lib/dragnet/exporter.rb +130 -0
  40. data/lib/dragnet/exporters/exporter.rb +29 -0
  41. data/lib/dragnet/exporters/html_exporter.rb +158 -0
  42. data/lib/dragnet/exporters/id_generator.rb +35 -0
  43. data/lib/dragnet/exporters/json_exporter.rb +34 -0
  44. data/lib/dragnet/exporters/serializers/repo_serializer.rb +40 -0
  45. data/lib/dragnet/exporters/serializers/test_record_serializer.rb +101 -0
  46. data/lib/dragnet/exporters/serializers/verification_result_serializer.rb +34 -0
  47. data/lib/dragnet/exporters/serializers.rb +12 -0
  48. data/lib/dragnet/exporters/templates/template.html.erb +518 -0
  49. data/lib/dragnet/exporters.rb +13 -0
  50. data/lib/dragnet/helpers/repository_helper.rb +27 -0
  51. data/lib/dragnet/multi_repository.rb +48 -0
  52. data/lib/dragnet/repo.rb +31 -0
  53. data/lib/dragnet/repository.rb +77 -0
  54. data/lib/dragnet/test_record.rb +91 -0
  55. data/lib/dragnet/validator.rb +79 -0
  56. data/lib/dragnet/validators/data_validator.rb +75 -0
  57. data/lib/dragnet/validators/entities/repo_validator.rb +31 -0
  58. data/lib/dragnet/validators/entities/test_record_validator.rb +93 -0
  59. data/lib/dragnet/validators/entities.rb +12 -0
  60. data/lib/dragnet/validators/fields/description_validator.rb +24 -0
  61. data/lib/dragnet/validators/fields/field_validator.rb +69 -0
  62. data/lib/dragnet/validators/fields/files_validator.rb +29 -0
  63. data/lib/dragnet/validators/fields/id_validator.rb +36 -0
  64. data/lib/dragnet/validators/fields/meta_data_field_validator.rb +36 -0
  65. data/lib/dragnet/validators/fields/path_validator.rb +22 -0
  66. data/lib/dragnet/validators/fields/repos_validator.rb +62 -0
  67. data/lib/dragnet/validators/fields/result_validator.rb +33 -0
  68. data/lib/dragnet/validators/fields/sha1_validator.rb +42 -0
  69. data/lib/dragnet/validators/fields.rb +17 -0
  70. data/lib/dragnet/validators/files_validator.rb +85 -0
  71. data/lib/dragnet/validators/repos_validator.rb +74 -0
  72. data/lib/dragnet/validators/validator.rb +20 -0
  73. data/lib/dragnet/validators.rb +12 -0
  74. data/lib/dragnet/verification_result.rb +125 -0
  75. data/lib/dragnet/verifier.rb +64 -0
  76. data/lib/dragnet/verifiers/changes_verifier.rb +70 -0
  77. data/lib/dragnet/verifiers/files_verifier.rb +51 -0
  78. data/lib/dragnet/verifiers/repos_verifier.rb +92 -0
  79. data/lib/dragnet/verifiers/repository_verifier.rb +27 -0
  80. data/lib/dragnet/verifiers/result_verifier.rb +32 -0
  81. data/lib/dragnet/verifiers/test_record_verifier.rb +85 -0
  82. data/lib/dragnet/verifiers/verifier.rb +37 -0
  83. data/lib/dragnet/verifiers.rb +8 -0
  84. data/lib/dragnet/version.rb +5 -0
  85. data/lib/dragnet.rb +18 -0
  86. metadata +190 -0
@@ -0,0 +1,92 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../errors/not_a_repository_error'
4
+ require_relative '../test_record'
5
+ require_relative 'changes_verifier'
6
+ require_relative 'files_verifier'
7
+ require_relative 'verifier'
8
+
9
+ module Dragnet
10
+ module Verifiers
11
+ # Verifies the +Repo+ objects attached to a +TestRecord+
12
+ class ReposVerifier < Dragnet::Verifiers::Verifier
13
+ attr_reader :multi_repository
14
+
15
+ # @param [Dragnet::TestRecord] test_record The +TestRecord+ object to
16
+ # verify.
17
+ # @param [Dragnet::MultiRepository] multi_repository The +MultiRepository+
18
+ # object that is supposed to contain the actual repositories inside.
19
+ def initialize(test_record:, multi_repository:)
20
+ super(test_record: test_record)
21
+ @multi_repository = multi_repository
22
+ end
23
+
24
+ # Carries out the verification of the +Repo+ objects.
25
+ # @return [Dragnet::VerificationResult, nil] A +VerificationResult+ object
26
+ # when the verification of any of the listed repositories fails and
27
+ # +nil+ when all of them pass the verification.
28
+ def verify
29
+ return unless test_record.repos&.any?
30
+
31
+ test_record.repos.each do |repo|
32
+ repository = fetch_repository(repo.path, multi_repository)
33
+ verification_result = verify_repo(repo, repository)
34
+
35
+ return verification_result if verification_result
36
+ end
37
+ rescue Dragnet::Errors::NotARepositoryError => e
38
+ Dragnet::VerificationResult.new(status: :failed, reason: e.message)
39
+ end
40
+
41
+ private
42
+
43
+ # Verifies the given +Repo+ object using the given +Dragnet::Repository+
44
+ # object and a Proxy TestRecord object.
45
+ # @param [Dragnet::Repo] repo +Repo+ the +Repo+ object to verify.
46
+ # @param [Dragnet::Repository] repository The +Repository+ object that
47
+ # actually contains the source the +Repo+ object is referring to.
48
+ # @return [Dragnet::VerificationResult, nil] A +VerificationResult+ object
49
+ # when the verification fails or +nil+ when the verification passes.
50
+ def verify_repo(repo, repository)
51
+ # The Proxy TestRecord object allows the use of the +FilesVerifier+ and
52
+ # the +ChangesVerifier+ since they expect a +TestRecord+ and not a
53
+ # +Repo+ object.
54
+ proxy_test_record = Dragnet::TestRecord.new(files: repo.files, sha1: repo.sha1)
55
+
56
+ if repo.files
57
+ Dragnet::Verifiers::FilesVerifier
58
+ .new(test_record: proxy_test_record, repository: repository).verify
59
+ else
60
+ Dragnet::Verifiers::ChangesVerifier
61
+ .new(test_record: proxy_test_record, repository: repository, test_records: []).verify
62
+ end
63
+ end
64
+
65
+ # Fetches the +Repository+ object associated with the given path from the
66
+ # given +MultiRepository+ object.
67
+ # @param [Pathname] path The path of the repository.
68
+ # @param [Dragnet::MultiRepository] multi_repository The +MultiRepository+
69
+ # object that contains the repository to be fetched.
70
+ # @return [Dragnet::Repository] The +Repository+ object associated with
71
+ # the given path.
72
+ def fetch_repository(path, multi_repository)
73
+ multi_repository.repositories[path] ||= create_repository(multi_repository, path)
74
+ end
75
+
76
+ # Creates a new repository with the given path.
77
+ # @param [Dragnet::MultiRepository] multi_repository The +MultiRepository+
78
+ # object in which the individual repository should be created.
79
+ # @param [Pathname] path The path for the +Repository+ object.
80
+ # @return [Dragnet::Repository] The resulting +Repository+ object.
81
+ # @raise [Dragnet::Errors::NotARepositoryError] If the given path doesn't
82
+ # lead to a valid git repository or the repository cannot be opened.
83
+ def create_repository(multi_repository, path)
84
+ repository_path = multi_repository.path / path
85
+ Dragnet::Repository.new(path: repository_path)
86
+ rescue ArgumentError
87
+ raise Dragnet::Errors::NotARepositoryError,
88
+ "The path '#{path}' does not contain a valid git repository."
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'verifier'
4
+
5
+ module Dragnet
6
+ module Verifiers
7
+ # Base class for the Verifiers that need access to the repository to perform
8
+ # the validation.
9
+ class RepositoryVerifier < Dragnet::Verifiers::Verifier
10
+ attr_reader :repository
11
+
12
+ # @param [Dragnet::Repository] repository A +Dragnet::Repository+ object
13
+ # linked to the repository where the sources and MTR files are located
14
+ def initialize(test_record:, repository:)
15
+ super(test_record: test_record)
16
+ @repository = repository
17
+ end
18
+
19
+ private
20
+
21
+ # @return [String] The path to the repository.
22
+ def path
23
+ @path ||= repository.path
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'verifier'
4
+ require_relative '../verification_result'
5
+
6
+ module Dragnet
7
+ module Verifiers
8
+ # Verifies the +result+ field on the given MTR record.
9
+ class ResultVerifier < Dragnet::Verifiers::Verifier
10
+ # Performs the verification. If the +result+ field contains the "failed"
11
+ # text then a +result+ key will be added to the Test Record explaining
12
+ # the reason for the failure.
13
+ # @return [Dragnet::VerificationResult, nil] A +VerificationResult+ object
14
+ # when the verification fails and +nil+ when the verification passes.
15
+ def verify
16
+ return if test_record.passed?
17
+
18
+ Dragnet::VerificationResult.new(
19
+ status: :failed,
20
+ reason: "'result' field has the status '#{result}'"
21
+ )
22
+ end
23
+
24
+ private
25
+
26
+ # @return [String] The value for the +result+ key on the MTR file.
27
+ def result
28
+ @result ||= test_record.result
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,85 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'changes_verifier'
4
+ require_relative 'files_verifier'
5
+ require_relative 'repos_verifier'
6
+ require_relative 'result_verifier'
7
+ require_relative 'verifier'
8
+
9
+ module Dragnet
10
+ module Verifiers
11
+ # Performs the verification process over a single TestRecord object.
12
+ class TestRecordVerifier < Dragnet::Verifiers::Verifier
13
+ attr_reader :repository, :test_records
14
+
15
+ # @param [Dragnet::TestRecord] test_record The +TestRecord+ object to
16
+ # verify.
17
+ # @param [Dragnet::BaseRepository] repository An object representing the
18
+ # repository the test record is referring to.
19
+ # @param [Array<Dragnet::TestRecord>] test_records An array with all the
20
+ # +TestRecord+ objects found in the +Repository+. These are needed when
21
+ # changes to the repository are being verified. Changes targeting the
22
+ # MTRs only are ignored by the verifiers.
23
+ def initialize(test_record:, repository:, test_records:)
24
+ super(test_record: test_record)
25
+ @repository = repository
26
+ @test_records = test_records
27
+ end
28
+
29
+ # Performs the verification and attaches the corresponding
30
+ # +VerificationResult+ object to the +TestRecord+ object.
31
+ # @return [Dragnet::VerificationResult] The result of the verification
32
+ # process executed over the given +test_record+.
33
+ def verify
34
+ verification_result = verify_result
35
+
36
+ verification_result ||= if test_record.files
37
+ verify_files
38
+ elsif test_record.repos
39
+ verify_repos
40
+ else
41
+ verify_changes
42
+ end
43
+
44
+ verification_result || Dragnet::VerificationResult.new(status: :passed)
45
+ end
46
+
47
+ private
48
+
49
+ # Verifies the MTR's +result+ attribute.
50
+ # @return [Dragnet::VerificationResult, nil] A +VerificationResult+ object
51
+ # when the verification fails and +nil+ when the verification passes.
52
+ def verify_result
53
+ Dragnet::Verifiers::ResultVerifier.new(test_record: test_record).verify
54
+ end
55
+
56
+ # Verifies the files listed in the MTR, if any.
57
+ # @return [Dragnet::VerificationResult, nil] A +VerificationResult+ object
58
+ # with the detected changes to the listed files or +nil+ if no changes
59
+ # are found.
60
+ def verify_files
61
+ Dragnet::Verifiers::FilesVerifier
62
+ .new(test_record: test_record, repository: repository).verify
63
+ end
64
+
65
+ # Verifies the repositories listed in the MTR, only applies when working
66
+ # with a {Dragnet::MultiRepository} repository.
67
+ # @return [Dragnet::VerificationResult, nil] A +VerificationResult+ object
68
+ # when the verification of any of the listed repositories fails and
69
+ # +nil+ when all of them pass the verification.
70
+ def verify_repos
71
+ Dragnet::Verifiers::ReposVerifier.new(test_record: test_record, multi_repository: repository).verify
72
+ end
73
+
74
+ # Verifies the changes in the repository between the revision referenced
75
+ # in the MTR and the tip of the current branch.
76
+ # @return [Dragnet::VerificationResult, nil] A +VerificationResult+ with
77
+ # the details of the changes found in the repository or +nil+ if no
78
+ # changes were found.
79
+ def verify_changes
80
+ Dragnet::Verifiers::ChangesVerifier
81
+ .new(test_record: test_record, repository: repository, test_records: test_records).verify
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../helpers/repository_helper'
4
+
5
+ module Dragnet
6
+ module Verifiers
7
+ # Base class for all validators.
8
+ class Verifier
9
+ include Dragnet::Helpers::RepositoryHelper
10
+
11
+ attr_reader :test_record
12
+
13
+ # Creates a new instance of the class.
14
+ # @param [Dragnet::TestRecord] test_record The +TestRecord+ object to
15
+ # verify.
16
+ def initialize(test_record:)
17
+ @test_record = test_record
18
+ end
19
+
20
+ # Needs to be implemented by the child classes. This method is called to
21
+ # perform the verification on the given +test_record+.
22
+ # @return [Dragnet::VerificationResult, nil] The method should return a
23
+ # +VerificationResult+ object if the verification fails or +nil+ if it
24
+ # passes.
25
+ def verify
26
+ raise NotImplementedError, "Please implement #{__method__} in #{self.class}"
27
+ end
28
+
29
+ private
30
+
31
+ # @return [String] The SHA1 stored in the MTR File.
32
+ def sha1
33
+ @sha1 ||= test_record.sha1
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'verifiers/repos_verifier'
4
+
5
+ module Dragnet
6
+ # Namespace for the Verifier classes.
7
+ module Verifiers; end
8
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dragnet
4
+ VERSION = '5.2.1'
5
+ end
data/lib/dragnet.rb ADDED
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'dragnet/version'
4
+
5
+ require_relative 'dragnet/cli'
6
+ require_relative 'dragnet/errors'
7
+ require_relative 'dragnet/explorer'
8
+ require_relative 'dragnet/exporter'
9
+ require_relative 'dragnet/exporters'
10
+ require_relative 'dragnet/multi_repository'
11
+ require_relative 'dragnet/repo'
12
+ require_relative 'dragnet/validator'
13
+ require_relative 'dragnet/validators'
14
+ require_relative 'dragnet/verifiers'
15
+
16
+ # Main namespace for the gem
17
+ module Dragnet
18
+ end
metadata ADDED
@@ -0,0 +1,190 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dragnet
3
+ version: !ruby/object:Gem::Version
4
+ version: 5.2.1
5
+ platform: ruby
6
+ authors:
7
+ - ESR Labs GmbH
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2024-11-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '7'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: colorize
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.8'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.8'
41
+ - !ruby/object:Gem::Dependency
42
+ name: git
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.8'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.8'
55
+ - !ruby/object:Gem::Dependency
56
+ name: thor
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.1'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.1'
69
+ description: Provides a command line tool to perform different types of validations
70
+ on MTR files. These files are YAML files that contain information about the performed
71
+ test and the revision (commit) for which the test was performed.
72
+ email:
73
+ - info@esrlabs.com
74
+ executables:
75
+ - dragnet
76
+ extensions: []
77
+ extra_rdoc_files: []
78
+ files:
79
+ - ".github/workflows/release.yml"
80
+ - ".github/workflows/ruby-linters.yml"
81
+ - ".github/workflows/ruby-tests.yml"
82
+ - ".github/workflows/sphinx-doc.yml"
83
+ - ".gitignore"
84
+ - ".reek.yml"
85
+ - ".rspec"
86
+ - ".rubocop.yml"
87
+ - ".ruby-version"
88
+ - ".travis.yml"
89
+ - CHANGELOG.md
90
+ - Gemfile
91
+ - README.md
92
+ - Rakefile
93
+ - bin/console
94
+ - bin/setup
95
+ - default.reek
96
+ - dragnet.gemspec
97
+ - exe/dragnet
98
+ - lib/dragnet.rb
99
+ - lib/dragnet/base_repository.rb
100
+ - lib/dragnet/cli.rb
101
+ - lib/dragnet/cli/base.rb
102
+ - lib/dragnet/cli/logger.rb
103
+ - lib/dragnet/cli/master.rb
104
+ - lib/dragnet/errors.rb
105
+ - lib/dragnet/errors/error.rb
106
+ - lib/dragnet/errors/file_not_found_error.rb
107
+ - lib/dragnet/errors/incompatible_repository_error.rb
108
+ - lib/dragnet/errors/missing_timestamp_attribute_error.rb
109
+ - lib/dragnet/errors/no_mtr_files_found_error.rb
110
+ - lib/dragnet/errors/not_a_repository_error.rb
111
+ - lib/dragnet/errors/repo_path_not_found_error.rb
112
+ - lib/dragnet/errors/unable_to_write_report_error.rb
113
+ - lib/dragnet/errors/unknown_export_format_error.rb
114
+ - lib/dragnet/errors/validation_error.rb
115
+ - lib/dragnet/errors/yaml_format_error.rb
116
+ - lib/dragnet/explorer.rb
117
+ - lib/dragnet/exporter.rb
118
+ - lib/dragnet/exporters.rb
119
+ - lib/dragnet/exporters/exporter.rb
120
+ - lib/dragnet/exporters/html_exporter.rb
121
+ - lib/dragnet/exporters/id_generator.rb
122
+ - lib/dragnet/exporters/json_exporter.rb
123
+ - lib/dragnet/exporters/serializers.rb
124
+ - lib/dragnet/exporters/serializers/repo_serializer.rb
125
+ - lib/dragnet/exporters/serializers/test_record_serializer.rb
126
+ - lib/dragnet/exporters/serializers/verification_result_serializer.rb
127
+ - lib/dragnet/exporters/templates/template.html.erb
128
+ - lib/dragnet/helpers/repository_helper.rb
129
+ - lib/dragnet/multi_repository.rb
130
+ - lib/dragnet/repo.rb
131
+ - lib/dragnet/repository.rb
132
+ - lib/dragnet/test_record.rb
133
+ - lib/dragnet/validator.rb
134
+ - lib/dragnet/validators.rb
135
+ - lib/dragnet/validators/data_validator.rb
136
+ - lib/dragnet/validators/entities.rb
137
+ - lib/dragnet/validators/entities/repo_validator.rb
138
+ - lib/dragnet/validators/entities/test_record_validator.rb
139
+ - lib/dragnet/validators/fields.rb
140
+ - lib/dragnet/validators/fields/description_validator.rb
141
+ - lib/dragnet/validators/fields/field_validator.rb
142
+ - lib/dragnet/validators/fields/files_validator.rb
143
+ - lib/dragnet/validators/fields/id_validator.rb
144
+ - lib/dragnet/validators/fields/meta_data_field_validator.rb
145
+ - lib/dragnet/validators/fields/path_validator.rb
146
+ - lib/dragnet/validators/fields/repos_validator.rb
147
+ - lib/dragnet/validators/fields/result_validator.rb
148
+ - lib/dragnet/validators/fields/sha1_validator.rb
149
+ - lib/dragnet/validators/files_validator.rb
150
+ - lib/dragnet/validators/repos_validator.rb
151
+ - lib/dragnet/validators/validator.rb
152
+ - lib/dragnet/verification_result.rb
153
+ - lib/dragnet/verifier.rb
154
+ - lib/dragnet/verifiers.rb
155
+ - lib/dragnet/verifiers/changes_verifier.rb
156
+ - lib/dragnet/verifiers/files_verifier.rb
157
+ - lib/dragnet/verifiers/repos_verifier.rb
158
+ - lib/dragnet/verifiers/repository_verifier.rb
159
+ - lib/dragnet/verifiers/result_verifier.rb
160
+ - lib/dragnet/verifiers/test_record_verifier.rb
161
+ - lib/dragnet/verifiers/verifier.rb
162
+ - lib/dragnet/version.rb
163
+ homepage: https://github.com/esrlabs/dragnet
164
+ licenses:
165
+ - MIT
166
+ metadata:
167
+ allowed_push_host: https://rubygems.org
168
+ homepage_uri: https://github.com/esrlabs/dragnet
169
+ source_code_uri: https://github.com/esrlabs/dragnet
170
+ changelog_uri: https://github.com/esrlabs/dragnet/blob/master/CHANGELOG.md
171
+ post_install_message:
172
+ rdoc_options: []
173
+ require_paths:
174
+ - lib
175
+ required_ruby_version: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: 2.7.0
180
+ required_rubygems_version: !ruby/object:Gem::Requirement
181
+ requirements:
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ version: '0'
185
+ requirements: []
186
+ rubygems_version: 3.1.6
187
+ signing_key:
188
+ specification_version: 4
189
+ summary: A gem to verify, validate and analyse MTR (Manual Test Record) files.
190
+ test_files: []