Class: TestRunner::Test
- Inherits:
-
Object
- Object
- TestRunner::Test
- Defined in:
- lib/test-runner/test.rb
Instance Attribute Summary collapse
- #attempts ⇒ Integer readonly
- #description ⇒ String readonly
- #expect_failure ⇒ Boolean readonly
- #labels ⇒ Hash<String, String> readonly
- #name ⇒ String readonly
- #path ⇒ String readonly
- #tags ⇒ Array<String> readonly
- #template ⇒ String readonly
- #template_args ⇒ Hash readonly
- #test_args ⇒ Hash readonly
- #test_scripts ⇒ Hash<String, TestScript> readonly
- #type ⇒ String readonly
Instance Method Summary collapse
- #file_path ⇒ Object
-
#initialize(**opts) ⇒ Test
constructor
A new instance of Test.
- #template? ⇒ Boolean
Constructor Details
#initialize(**opts) ⇒ Test
Returns a new instance of Test.
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/test-runner/test.rb', line 40 def initialize(**opts) @path = opts[:path] @type = opts[:type] @template = opts[:template] @template_args = opts[:template_args] @test_args = opts[:test_args] @name = opts[:name] @description = opts[:description] @attempts = opts[:attempts] @expect_failure = opts[:expect_failure] @tags = opts[:tags] @labels = opts[:labels] @test_scripts = opts[:test_scripts].to_h do |ts_name, ts_opts| [ ts_name, TestScript.new( self, ts_name, description: ts_opts['description'], expect_failure: ts_opts['expectFailure'], tags: ts_opts.fetch('tags', []), labels: ts_opts.fetch('labels', {}) ) ] end return if @test_scripts.length != 1 || !@test_scripts.has_key?('default') @test_scripts['default'].set_singleton end |
Instance Attribute Details
#attempts ⇒ Integer (readonly)
25 26 27 |
# File 'lib/test-runner/test.rb', line 25 def attempts @attempts end |
#description ⇒ String (readonly)
22 23 24 |
# File 'lib/test-runner/test.rb', line 22 def description @description end |
#expect_failure ⇒ Boolean (readonly)
28 29 30 |
# File 'lib/test-runner/test.rb', line 28 def expect_failure @expect_failure end |
#labels ⇒ Hash<String, String> (readonly)
34 35 36 |
# File 'lib/test-runner/test.rb', line 34 def labels @labels end |
#name ⇒ String (readonly)
19 20 21 |
# File 'lib/test-runner/test.rb', line 19 def name @name end |
#path ⇒ String (readonly)
4 5 6 |
# File 'lib/test-runner/test.rb', line 4 def path @path end |
#tags ⇒ Array<String> (readonly)
31 32 33 |
# File 'lib/test-runner/test.rb', line 31 def @tags end |
#template ⇒ String (readonly)
10 11 12 |
# File 'lib/test-runner/test.rb', line 10 def template @template end |
#template_args ⇒ Hash (readonly)
13 14 15 |
# File 'lib/test-runner/test.rb', line 13 def template_args @template_args end |
#test_args ⇒ Hash (readonly)
16 17 18 |
# File 'lib/test-runner/test.rb', line 16 def test_args @test_args end |
#test_scripts ⇒ Hash<String, TestScript> (readonly)
37 38 39 |
# File 'lib/test-runner/test.rb', line 37 def test_scripts @test_scripts end |
#type ⇒ String (readonly)
7 8 9 |
# File 'lib/test-runner/test.rb', line 7 def type @type end |
Instance Method Details
#file_path ⇒ Object
75 76 77 78 79 80 81 |
# File 'lib/test-runner/test.rb', line 75 def file_path if template? "#{template}.nix" else "#{path}.nix" end end |
#template? ⇒ Boolean
71 72 73 |
# File 'lib/test-runner/test.rb', line 71 def template? type == 'template' end |