simmer 2.0.0.pre.alpha.1 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +7 -1
- data/.ruby-version +1 -1
- data/.travis.yml +3 -3
- data/CHANGELOG.md +44 -1
- data/README.md +40 -0
- data/lib/simmer.rb +17 -99
- data/lib/simmer/bootstrap.rb +133 -0
- data/lib/simmer/configuration.rb +16 -2
- data/lib/simmer/configuration/callback_dsl.rb +79 -0
- data/lib/simmer/database/fixture_set.rb +3 -1
- data/lib/simmer/externals/mysql_database.rb +11 -3
- data/lib/simmer/externals/spoon_client.rb +5 -4
- data/lib/simmer/judge/result.rb +1 -1
- data/lib/simmer/re_runner.rb +46 -0
- data/lib/simmer/runner.rb +52 -52
- data/lib/simmer/runner/result.rb +25 -6
- data/lib/simmer/runner/timeout_error.rb +23 -0
- data/lib/simmer/suite.rb +20 -11
- data/lib/simmer/suite/output_router.rb +73 -0
- data/lib/simmer/suite/pdi_output_writer.rb +56 -0
- data/lib/simmer/suite/result.rb +1 -0
- data/lib/simmer/suite/results_writer.rb +44 -0
- data/lib/simmer/util.rb +1 -0
- data/lib/simmer/util/file_system.rb +25 -0
- data/lib/simmer/version.rb +1 -1
- data/simmer.gemspec +4 -2
- metadata +43 -7
- data/lib/simmer/suite/reporter.rb +0 -83
@@ -1,83 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
#
|
4
|
-
# Copyright (c) 2020-present, Blue Marble Payroll, LLC
|
5
|
-
#
|
6
|
-
# This source code is licensed under the MIT license found in the
|
7
|
-
# LICENSE file in the root directory of this source tree.
|
8
|
-
#
|
9
|
-
|
10
|
-
module Simmer
|
11
|
-
class Suite
|
12
|
-
# Understands how to write a SessionResult instance to disk.
|
13
|
-
class Reporter
|
14
|
-
DATA_FILE = 'data.yaml'
|
15
|
-
PDI_OUT_FILE = 'pdi_out.txt'
|
16
|
-
|
17
|
-
def initialize(session_result)
|
18
|
-
raise ArgumentError, 'session_result is required' unless session_result
|
19
|
-
|
20
|
-
@session_result = session_result
|
21
|
-
|
22
|
-
freeze
|
23
|
-
end
|
24
|
-
|
25
|
-
def write!(dir)
|
26
|
-
dir = setup_directory(dir)
|
27
|
-
|
28
|
-
IO.write(data_path(dir), session_result.to_h.to_yaml)
|
29
|
-
|
30
|
-
pdi_out_file = File.open(pdi_out_path(dir), 'w')
|
31
|
-
|
32
|
-
write_part(session_result.runner_results, pdi_out_file)
|
33
|
-
|
34
|
-
pdi_out_file.close
|
35
|
-
|
36
|
-
self
|
37
|
-
end
|
38
|
-
|
39
|
-
private
|
40
|
-
|
41
|
-
attr_reader :session_result
|
42
|
-
|
43
|
-
def data_path(dir)
|
44
|
-
File.join(dir, DATA_FILE)
|
45
|
-
end
|
46
|
-
|
47
|
-
def pdi_out_path(dir)
|
48
|
-
File.join(dir, PDI_OUT_FILE)
|
49
|
-
end
|
50
|
-
|
51
|
-
def setup_directory(dir)
|
52
|
-
File.expand_path(dir).tap do |expanded_dir|
|
53
|
-
FileUtils.mkdir_p(expanded_dir)
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def write_part(runner_results, pdi_out_file)
|
58
|
-
runner_results.each do |runner_result|
|
59
|
-
name = runner_result.name
|
60
|
-
runner_id = runner_result.id
|
61
|
-
out_contents = runner_result.spoon_client_result.execution_result.out
|
62
|
-
|
63
|
-
write_block(pdi_out_file, name, runner_id, out_contents)
|
64
|
-
end
|
65
|
-
|
66
|
-
nil
|
67
|
-
end
|
68
|
-
|
69
|
-
def write_block(file, name, runner_id, contents)
|
70
|
-
hyphens = '-' * 80
|
71
|
-
|
72
|
-
file.write("#{hyphens}\n")
|
73
|
-
file.write("Name: #{name}\n")
|
74
|
-
file.write("Runner ID: #{runner_id}\n")
|
75
|
-
file.write("#{hyphens}\n")
|
76
|
-
file.write("#{contents}\n")
|
77
|
-
file.write("\n")
|
78
|
-
|
79
|
-
nil
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
83
|
-
end
|