simmer 2.0.0.pre.alpha.1 → 4.0.0
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.
- 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
|