regresso 0.1.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 +7 -0
- data/.yardopts +3 -0
- data/CHANGELOG.md +3 -0
- data/LICENSE.txt +21 -0
- data/README.md +258 -0
- data/Rakefile +12 -0
- data/assets/logo-header.svg +28 -0
- data/lib/generators/regresso/install_generator.rb +29 -0
- data/lib/generators/regresso/templates/regresso.rb +18 -0
- data/lib/regresso/adapters/.gitkeep +0 -0
- data/lib/regresso/adapters/base.rb +30 -0
- data/lib/regresso/adapters/csv.rb +43 -0
- data/lib/regresso/adapters/database.rb +53 -0
- data/lib/regresso/adapters/database_snapshot.rb +49 -0
- data/lib/regresso/adapters/graphql.rb +75 -0
- data/lib/regresso/adapters/graphql_batch.rb +42 -0
- data/lib/regresso/adapters/http.rb +70 -0
- data/lib/regresso/adapters/json_file.rb +30 -0
- data/lib/regresso/adapters/proc.rb +30 -0
- data/lib/regresso/ci/github_annotation_formatter.rb +46 -0
- data/lib/regresso/ci/github_pr_commenter.rb +55 -0
- data/lib/regresso/ci/junit_xml_formatter.rb +42 -0
- data/lib/regresso/ci/reporter.rb +49 -0
- data/lib/regresso/ci.rb +6 -0
- data/lib/regresso/comparator.rb +45 -0
- data/lib/regresso/configuration.rb +92 -0
- data/lib/regresso/differ.rb +129 -0
- data/lib/regresso/difference.rb +45 -0
- data/lib/regresso/history/entry.rb +70 -0
- data/lib/regresso/history/file_backend.rb +51 -0
- data/lib/regresso/history/statistics.rb +65 -0
- data/lib/regresso/history/store.rb +122 -0
- data/lib/regresso/history/trend_reporter.rb +68 -0
- data/lib/regresso/history.rb +7 -0
- data/lib/regresso/json_path.rb +55 -0
- data/lib/regresso/minitest.rb +107 -0
- data/lib/regresso/notifiers/base.rb +33 -0
- data/lib/regresso/notifiers/microsoft_teams.rb +60 -0
- data/lib/regresso/notifiers/slack.rb +72 -0
- data/lib/regresso/notifiers.rb +5 -0
- data/lib/regresso/parallel/comparison_result.rb +51 -0
- data/lib/regresso/parallel/parallel_result.rb +68 -0
- data/lib/regresso/parallel/result_aggregator.rb +25 -0
- data/lib/regresso/parallel/runner.rb +71 -0
- data/lib/regresso/parallel.rb +6 -0
- data/lib/regresso/reporter.rb +68 -0
- data/lib/regresso/result.rb +70 -0
- data/lib/regresso/rspec/.gitkeep +0 -0
- data/lib/regresso/rspec/shared_examples.rb +42 -0
- data/lib/regresso/rspec.rb +142 -0
- data/lib/regresso/snapshot_manager.rb +57 -0
- data/lib/regresso/tasks/ci.rake +51 -0
- data/lib/regresso/tasks/history.rake +36 -0
- data/lib/regresso/templates/.gitkeep +0 -0
- data/lib/regresso/templates/report.html.erb +44 -0
- data/lib/regresso/version.rb +6 -0
- data/lib/regresso/web_ui/diff_formatter.rb +46 -0
- data/lib/regresso/web_ui/public/css/app.css +239 -0
- data/lib/regresso/web_ui/public/js/app.js +117 -0
- data/lib/regresso/web_ui/result_store.rb +60 -0
- data/lib/regresso/web_ui/server.rb +70 -0
- data/lib/regresso/web_ui/views/index.erb +58 -0
- data/lib/regresso/web_ui/views/layout.erb +13 -0
- data/lib/regresso/web_ui.rb +5 -0
- data/lib/regresso.rb +46 -0
- data/sig/regresso.rbs +4 -0
- data/site/Gemfile +7 -0
- data/site/assets/logo-header.png +0 -0
- data/site/assets/site.css +458 -0
- data/site/content/index.md +6 -0
- data/site/craze.yml +24 -0
- data/site/dist/assets/logo-header.svg +28 -0
- data/site/dist/assets/site.css +458 -0
- data/site/dist/index.html +232 -0
- data/site/dist/search.json +9 -0
- data/site/dist/sitemap.xml +7 -0
- data/site/templates/index.erb +232 -0
- data/site/templates/layout.erb +17 -0
- metadata +190 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
+
<title>Regresso - Regression testing for Ruby</title>
|
|
7
|
+
<meta name="description" content="Regression testing for Ruby APIs, files, and data snapshots.">
|
|
8
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
|
+
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Work+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet">
|
|
11
|
+
<link rel="stylesheet" href="<%= asset_path("site.css") %>">
|
|
12
|
+
</head>
|
|
13
|
+
<body>
|
|
14
|
+
<div class="ambient-orbit"></div>
|
|
15
|
+
|
|
16
|
+
<section class="hero">
|
|
17
|
+
<header class="nav">
|
|
18
|
+
<div class="logo">
|
|
19
|
+
<img src="<%= asset_path("logo-header.png") %>" alt="Regresso logo">
|
|
20
|
+
<span>Regresso</span>
|
|
21
|
+
</div>
|
|
22
|
+
<nav>
|
|
23
|
+
<a href="#features">Features</a>
|
|
24
|
+
<a href="#adapters">Adapters</a>
|
|
25
|
+
<a href="#how">How It Works</a>
|
|
26
|
+
<a href="#web-ui">Web UI</a>
|
|
27
|
+
<a href="#quick-start" class="button ghost">Quick Start</a>
|
|
28
|
+
</nav>
|
|
29
|
+
</header>
|
|
30
|
+
|
|
31
|
+
<div class="hero-grid">
|
|
32
|
+
<div class="hero-copy">
|
|
33
|
+
<p class="eyebrow">Regression testing for Ruby data</p>
|
|
34
|
+
<h1>Catch production drift across APIs, files, and databases.</h1>
|
|
35
|
+
<p class="lead">Regresso compares structured outputs with precision tolerances, ignore rules, and snapshot workflows. Ship confidently, even when data changes are subtle.</p>
|
|
36
|
+
<div class="cta">
|
|
37
|
+
<a class="button primary" href="#quick-start">Get started</a>
|
|
38
|
+
<a class="button ghost" href="https://github.com/ydah/regresso">GitHub</a>
|
|
39
|
+
</div>
|
|
40
|
+
<div class="signal">
|
|
41
|
+
<span>Ruby 3.2+</span>
|
|
42
|
+
<span>APIs · CSV · DB · GraphQL</span>
|
|
43
|
+
<span>CI-ready reports</span>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<div class="hero-card">
|
|
48
|
+
<div class="card-header">
|
|
49
|
+
<span>Latest comparison</span>
|
|
50
|
+
<span class="status ok">Passed</span>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="card-body">
|
|
53
|
+
<pre><code>expect(new_api)
|
|
54
|
+
.to have_no_regression_from(old_api)
|
|
55
|
+
.with_tolerance(0.01)
|
|
56
|
+
.ignoring("$.timestamp")</code></pre>
|
|
57
|
+
</div>
|
|
58
|
+
<div class="card-footer">
|
|
59
|
+
<div>
|
|
60
|
+
<p class="label">Meaningful diffs</p>
|
|
61
|
+
<p class="value">0</p>
|
|
62
|
+
</div>
|
|
63
|
+
<div>
|
|
64
|
+
<p class="label">Runtime</p>
|
|
65
|
+
<p class="value">1.2s</p>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</section>
|
|
71
|
+
|
|
72
|
+
<section id="features" class="section">
|
|
73
|
+
<div class="section-title">
|
|
74
|
+
<h2>Designed for regression certainty</h2>
|
|
75
|
+
<p>Pinpoint where outputs drift and decide what matters to your product.</p>
|
|
76
|
+
</div>
|
|
77
|
+
<div class="feature-grid">
|
|
78
|
+
<article class="feature">
|
|
79
|
+
<h3>Precision diffs</h3>
|
|
80
|
+
<p>JSONPath-level ignores and numeric tolerances keep the signal clean.</p>
|
|
81
|
+
</article>
|
|
82
|
+
<article class="feature">
|
|
83
|
+
<h3>Source adapters</h3>
|
|
84
|
+
<p>Compare HTTP, CSV, JSON files, GraphQL, database queries, and snapshots.</p>
|
|
85
|
+
</article>
|
|
86
|
+
<article class="feature">
|
|
87
|
+
<h3>Snapshots</h3>
|
|
88
|
+
<p>Freeze stable output and review changes when business logic evolves.</p>
|
|
89
|
+
</article>
|
|
90
|
+
<article class="feature">
|
|
91
|
+
<h3>Parallel runs</h3>
|
|
92
|
+
<p>Run many comparisons concurrently and aggregate CI-ready reports.</p>
|
|
93
|
+
</article>
|
|
94
|
+
<article class="feature">
|
|
95
|
+
<h3>Test frameworks</h3>
|
|
96
|
+
<p>RSpec matchers and Minitest assertions come out of the box.</p>
|
|
97
|
+
</article>
|
|
98
|
+
<article class="feature">
|
|
99
|
+
<h3>Web UI</h3>
|
|
100
|
+
<p>Inspect stored results, filter diffs, and share reports with your team.</p>
|
|
101
|
+
</article>
|
|
102
|
+
</div>
|
|
103
|
+
</section>
|
|
104
|
+
|
|
105
|
+
</body>
|
|
106
|
+
</html>
|
|
107
|
+
|
|
108
|
+
<section id="quick-start" class="section split">
|
|
109
|
+
<div>
|
|
110
|
+
<h2>Quick start</h2>
|
|
111
|
+
<p>Install the gem, compare two sources, and inspect the summary.</p>
|
|
112
|
+
<div class="callouts">
|
|
113
|
+
<div>
|
|
114
|
+
<h4>Install</h4>
|
|
115
|
+
<pre><code>bundle add regresso</code></pre>
|
|
116
|
+
</div>
|
|
117
|
+
<div>
|
|
118
|
+
<h4>Compare</h4>
|
|
119
|
+
<pre><code>result = Regresso::Comparator.new(
|
|
120
|
+
source_a: old_api,
|
|
121
|
+
source_b: new_api
|
|
122
|
+
).compare
|
|
123
|
+
puts result.summary</code></pre>
|
|
124
|
+
</div>
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
<aside class="note">
|
|
128
|
+
<h4>Snapshot flow</h4>
|
|
129
|
+
<p>Lock in stable outputs and keep regressions intentional.</p>
|
|
130
|
+
<pre><code>expect(payload)
|
|
131
|
+
.to match_snapshot("report_total")</code></pre>
|
|
132
|
+
<p class="small">Set <code>UPDATE_SNAPSHOTS=1</code> to refresh stored snapshots.</p>
|
|
133
|
+
</aside>
|
|
134
|
+
</section>
|
|
135
|
+
|
|
136
|
+
<section id="adapters" class="section">
|
|
137
|
+
<div class="section-title">
|
|
138
|
+
<h2>Adapters you can chain together</h2>
|
|
139
|
+
<p>Everything is just a source that responds to <code>fetch</code>.</p>
|
|
140
|
+
</div>
|
|
141
|
+
<div class="adapter-grid">
|
|
142
|
+
<div class="adapter">HTTP APIs</div>
|
|
143
|
+
<div class="adapter">CSV exports</div>
|
|
144
|
+
<div class="adapter">JSON files</div>
|
|
145
|
+
<div class="adapter">GraphQL queries</div>
|
|
146
|
+
<div class="adapter">GraphQL batches</div>
|
|
147
|
+
<div class="adapter">Database queries</div>
|
|
148
|
+
<div class="adapter">Database snapshots</div>
|
|
149
|
+
<div class="adapter">Custom Proc adapters</div>
|
|
150
|
+
</div>
|
|
151
|
+
</section>
|
|
152
|
+
|
|
153
|
+
<section id="how" class="section">
|
|
154
|
+
<div class="section-title">
|
|
155
|
+
<h2>How it works</h2>
|
|
156
|
+
<p>Regresso compares structured data with a clear audit trail.</p>
|
|
157
|
+
</div>
|
|
158
|
+
<ol class="steps">
|
|
159
|
+
<li>Normalize inputs from two sources.</li>
|
|
160
|
+
<li>Compute diffs with type coercion and tolerance rules.</li>
|
|
161
|
+
<li>Filter out ignored paths and noise.</li>
|
|
162
|
+
<li>Generate reports for CI or the Web UI.</li>
|
|
163
|
+
</ol>
|
|
164
|
+
</section>
|
|
165
|
+
|
|
166
|
+
<section id="web-ui" class="section split">
|
|
167
|
+
<div>
|
|
168
|
+
<h2>Web UI for shared visibility</h2>
|
|
169
|
+
<p>Store results on disk, filter diffs, and keep a browseable trail of comparisons.</p>
|
|
170
|
+
<pre><code>require "regresso/web_ui"
|
|
171
|
+
|
|
172
|
+
store = Regresso::WebUI::ResultStore.new(
|
|
173
|
+
storage_path: "tmp/regresso_results"
|
|
174
|
+
)
|
|
175
|
+
Regresso::WebUI::Server.set :result_store, store
|
|
176
|
+
Regresso::WebUI::Server.run!</code></pre>
|
|
177
|
+
</div>
|
|
178
|
+
<div class="ui-preview">
|
|
179
|
+
<div class="ui-header">
|
|
180
|
+
<span>Run #128</span>
|
|
181
|
+
<span class="pill">Diffs</span>
|
|
182
|
+
</div>
|
|
183
|
+
<div class="ui-body">
|
|
184
|
+
<div class="ui-row">
|
|
185
|
+
<span>$.prices[2]</span>
|
|
186
|
+
<span>19.99</span>
|
|
187
|
+
<span>20.10</span>
|
|
188
|
+
<span class="pill warn">changed</span>
|
|
189
|
+
</div>
|
|
190
|
+
<div class="ui-row">
|
|
191
|
+
<span>$.users[4]</span>
|
|
192
|
+
<span>nil</span>
|
|
193
|
+
<span>"Nia"</span>
|
|
194
|
+
<span class="pill ok">added</span>
|
|
195
|
+
</div>
|
|
196
|
+
</div>
|
|
197
|
+
</div>
|
|
198
|
+
</section>
|
|
199
|
+
|
|
200
|
+
<section class="section split">
|
|
201
|
+
<div>
|
|
202
|
+
<h2>CI-friendly outputs</h2>
|
|
203
|
+
<p>Generate JUnit XML or GitHub annotations from parallel runs.</p>
|
|
204
|
+
<pre><code>runner = Regresso::Parallel::Runner.new(
|
|
205
|
+
comparisons: comparisons,
|
|
206
|
+
workers: 4
|
|
207
|
+
)
|
|
208
|
+
result = runner.run
|
|
209
|
+
|
|
210
|
+
reporter = Regresso::CI::Reporter.new(result)
|
|
211
|
+
File.write("tmp/regresso.xml", reporter.to_junit_xml)</code></pre>
|
|
212
|
+
</div>
|
|
213
|
+
<div class="note">
|
|
214
|
+
<h4>History tracking</h4>
|
|
215
|
+
<p>Persist results and build weekly trend reports.</p>
|
|
216
|
+
<pre><code>store = Regresso::History::Store.new
|
|
217
|
+
store.record(result)
|
|
218
|
+
report = Regresso::History::TrendReporter.new(store)
|
|
219
|
+
puts report.generate(period: :week)</code></pre>
|
|
220
|
+
</div>
|
|
221
|
+
</section>
|
|
222
|
+
|
|
223
|
+
<section class="section footer">
|
|
224
|
+
<div>
|
|
225
|
+
<h2>Ready to stop regressions before they ship?</h2>
|
|
226
|
+
<p>Wire Regresso into your test suite and keep data drift visible.</p>
|
|
227
|
+
</div>
|
|
228
|
+
<div class="cta">
|
|
229
|
+
<a class="button primary" href="#quick-start">Start now</a>
|
|
230
|
+
<a class="button ghost" href="https://rubygems.org/gems/regresso">RubyGems</a>
|
|
231
|
+
</div>
|
|
232
|
+
</section>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
+
<title>Regresso - Regression testing for Ruby</title>
|
|
7
|
+
<meta name="description" content="Regression testing for Ruby APIs, files, and data snapshots.">
|
|
8
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
|
+
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Work+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet">
|
|
11
|
+
<link rel="stylesheet" href="<%= asset_path("site.css") %>">
|
|
12
|
+
</head>
|
|
13
|
+
<body>
|
|
14
|
+
<div class="ambient-orbit"></div>
|
|
15
|
+
<%= page["content"] %>
|
|
16
|
+
</body>
|
|
17
|
+
</html>
|
metadata
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: regresso
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Yudai Takada
|
|
8
|
+
bindir: exe
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: faraday
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - "~>"
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '2.0'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - "~>"
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '2.0'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: faraday-follow_redirects
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - "~>"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '0.3'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '0.3'
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: csv
|
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - "~>"
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '3.2'
|
|
47
|
+
type: :runtime
|
|
48
|
+
prerelease: false
|
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - "~>"
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '3.2'
|
|
54
|
+
- !ruby/object:Gem::Dependency
|
|
55
|
+
name: builder
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - "~>"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '3.2'
|
|
61
|
+
type: :runtime
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - "~>"
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '3.2'
|
|
68
|
+
- !ruby/object:Gem::Dependency
|
|
69
|
+
name: sinatra
|
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - ">="
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: 4.2.0
|
|
75
|
+
type: :runtime
|
|
76
|
+
prerelease: false
|
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - ">="
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: 4.2.0
|
|
82
|
+
description: Detect regressions by comparing API responses, CSV exports, and more
|
|
83
|
+
between environments
|
|
84
|
+
email:
|
|
85
|
+
- t.yudai92@gmail.com
|
|
86
|
+
executables: []
|
|
87
|
+
extensions: []
|
|
88
|
+
extra_rdoc_files: []
|
|
89
|
+
files:
|
|
90
|
+
- ".yardopts"
|
|
91
|
+
- CHANGELOG.md
|
|
92
|
+
- LICENSE.txt
|
|
93
|
+
- README.md
|
|
94
|
+
- Rakefile
|
|
95
|
+
- assets/logo-header.svg
|
|
96
|
+
- lib/generators/regresso/install_generator.rb
|
|
97
|
+
- lib/generators/regresso/templates/regresso.rb
|
|
98
|
+
- lib/regresso.rb
|
|
99
|
+
- lib/regresso/adapters/.gitkeep
|
|
100
|
+
- lib/regresso/adapters/base.rb
|
|
101
|
+
- lib/regresso/adapters/csv.rb
|
|
102
|
+
- lib/regresso/adapters/database.rb
|
|
103
|
+
- lib/regresso/adapters/database_snapshot.rb
|
|
104
|
+
- lib/regresso/adapters/graphql.rb
|
|
105
|
+
- lib/regresso/adapters/graphql_batch.rb
|
|
106
|
+
- lib/regresso/adapters/http.rb
|
|
107
|
+
- lib/regresso/adapters/json_file.rb
|
|
108
|
+
- lib/regresso/adapters/proc.rb
|
|
109
|
+
- lib/regresso/ci.rb
|
|
110
|
+
- lib/regresso/ci/github_annotation_formatter.rb
|
|
111
|
+
- lib/regresso/ci/github_pr_commenter.rb
|
|
112
|
+
- lib/regresso/ci/junit_xml_formatter.rb
|
|
113
|
+
- lib/regresso/ci/reporter.rb
|
|
114
|
+
- lib/regresso/comparator.rb
|
|
115
|
+
- lib/regresso/configuration.rb
|
|
116
|
+
- lib/regresso/differ.rb
|
|
117
|
+
- lib/regresso/difference.rb
|
|
118
|
+
- lib/regresso/history.rb
|
|
119
|
+
- lib/regresso/history/entry.rb
|
|
120
|
+
- lib/regresso/history/file_backend.rb
|
|
121
|
+
- lib/regresso/history/statistics.rb
|
|
122
|
+
- lib/regresso/history/store.rb
|
|
123
|
+
- lib/regresso/history/trend_reporter.rb
|
|
124
|
+
- lib/regresso/json_path.rb
|
|
125
|
+
- lib/regresso/minitest.rb
|
|
126
|
+
- lib/regresso/notifiers.rb
|
|
127
|
+
- lib/regresso/notifiers/base.rb
|
|
128
|
+
- lib/regresso/notifiers/microsoft_teams.rb
|
|
129
|
+
- lib/regresso/notifiers/slack.rb
|
|
130
|
+
- lib/regresso/parallel.rb
|
|
131
|
+
- lib/regresso/parallel/comparison_result.rb
|
|
132
|
+
- lib/regresso/parallel/parallel_result.rb
|
|
133
|
+
- lib/regresso/parallel/result_aggregator.rb
|
|
134
|
+
- lib/regresso/parallel/runner.rb
|
|
135
|
+
- lib/regresso/reporter.rb
|
|
136
|
+
- lib/regresso/result.rb
|
|
137
|
+
- lib/regresso/rspec.rb
|
|
138
|
+
- lib/regresso/rspec/.gitkeep
|
|
139
|
+
- lib/regresso/rspec/shared_examples.rb
|
|
140
|
+
- lib/regresso/snapshot_manager.rb
|
|
141
|
+
- lib/regresso/tasks/ci.rake
|
|
142
|
+
- lib/regresso/tasks/history.rake
|
|
143
|
+
- lib/regresso/templates/.gitkeep
|
|
144
|
+
- lib/regresso/templates/report.html.erb
|
|
145
|
+
- lib/regresso/version.rb
|
|
146
|
+
- lib/regresso/web_ui.rb
|
|
147
|
+
- lib/regresso/web_ui/diff_formatter.rb
|
|
148
|
+
- lib/regresso/web_ui/public/css/app.css
|
|
149
|
+
- lib/regresso/web_ui/public/js/app.js
|
|
150
|
+
- lib/regresso/web_ui/result_store.rb
|
|
151
|
+
- lib/regresso/web_ui/server.rb
|
|
152
|
+
- lib/regresso/web_ui/views/index.erb
|
|
153
|
+
- lib/regresso/web_ui/views/layout.erb
|
|
154
|
+
- sig/regresso.rbs
|
|
155
|
+
- site/Gemfile
|
|
156
|
+
- site/assets/logo-header.png
|
|
157
|
+
- site/assets/site.css
|
|
158
|
+
- site/content/index.md
|
|
159
|
+
- site/craze.yml
|
|
160
|
+
- site/dist/assets/logo-header.svg
|
|
161
|
+
- site/dist/assets/site.css
|
|
162
|
+
- site/dist/index.html
|
|
163
|
+
- site/dist/search.json
|
|
164
|
+
- site/dist/sitemap.xml
|
|
165
|
+
- site/templates/index.erb
|
|
166
|
+
- site/templates/layout.erb
|
|
167
|
+
homepage: https://github.com/yourname/regresso
|
|
168
|
+
licenses:
|
|
169
|
+
- MIT
|
|
170
|
+
metadata:
|
|
171
|
+
homepage_uri: https://github.com/yourname/regresso
|
|
172
|
+
source_code_uri: https://github.com/yourname/regresso
|
|
173
|
+
rdoc_options: []
|
|
174
|
+
require_paths:
|
|
175
|
+
- lib
|
|
176
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
177
|
+
requirements:
|
|
178
|
+
- - ">="
|
|
179
|
+
- !ruby/object:Gem::Version
|
|
180
|
+
version: 3.2.0
|
|
181
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
182
|
+
requirements:
|
|
183
|
+
- - ">="
|
|
184
|
+
- !ruby/object:Gem::Version
|
|
185
|
+
version: '0'
|
|
186
|
+
requirements: []
|
|
187
|
+
rubygems_version: 4.0.4
|
|
188
|
+
specification_version: 4
|
|
189
|
+
summary: Regression testing framework for Ruby
|
|
190
|
+
test_files: []
|