learn-test 3.3.0.pre.3 → 3.3.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.
- checksums.yaml +4 -4
- data/lib/learn_test/git/wip/base.rb +1 -4
- data/lib/learn_test/git/wip/branch.rb +4 -2
- data/lib/learn_test/git/wip/errors/base_error.rb +11 -0
- data/lib/learn_test/git/wip/errors/no_changes_error.rb +15 -0
- data/lib/learn_test/git/wip/errors/no_commits_error.rb +17 -0
- data/lib/learn_test/git/wip/reference.rb +26 -0
- data/lib/learn_test/reporter.rb +2 -1
- data/lib/learn_test/version.rb +1 -1
- data/spec/learn_test/git/wip/base_spec.rb +12 -7
- data/spec/learn_test/git/wip/branch_spec.rb +1 -1
- data/spec/learn_test/git/wip/errors/base_error_spec.rb +7 -0
- data/spec/learn_test/git/wip/errors/no_changes_error_spec.rb +18 -0
- data/spec/learn_test/git/wip/errors/no_commits_error_spec.rb +18 -0
- data/spec/spec_helper.rb +2 -0
- metadata +19 -12
- data/lib/learn_test/git/wip/error.rb +0 -23
- data/spec/learn_test/git/wip/error_spec.rb +0 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 159d9e9f72ea50f9b2f88f1bb947933f59ab93eabad5d0b5354aef0315700898
|
4
|
+
data.tar.gz: b553b0b3bbdbd257b1227a60ce63aee383187b3f4218eee14193ddac0fbc77d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2071fedae3bad80d38ee3ee451aadf17a85dcc2bd4efa50e87a70d28d8cf629e6df27729e1790c82ee9beeeba4b2f2a90b550815b50e22e3bd7770207686e9aa
|
7
|
+
data.tar.gz: 5ac388b9d5fcad67fef8957cf937879dbfee791357d60cea982d7cf19431ae0e1f7d36d2a04fa1f0acf516c7451fb47a1aac174e6e14c67d8b9f88948edf2159
|
@@ -20,7 +20,7 @@ module LearnTest
|
|
20
20
|
|
21
21
|
current_branch = @base.current_branch
|
22
22
|
|
23
|
-
raise NoCommitsError, 'master' if current_branch.nil? # TODO: Swap to `main`?
|
23
|
+
raise Errors::NoCommitsError, 'master' if current_branch.nil? # TODO: Swap to `main`?
|
24
24
|
|
25
25
|
@tmp = Tempfile.new(TEMPFILE)
|
26
26
|
@working_branch = Branch.new(base: @base, name: current_branch)
|
@@ -43,9 +43,6 @@ module LearnTest
|
|
43
43
|
new_tree = build_new_tree(@wip_branch.parent)
|
44
44
|
@base.diff(new_tree, @wip_branch.parent)
|
45
45
|
|
46
|
-
# tree_diff = @base.diff(new_tree, @wip_branch.parent)
|
47
|
-
# raise LearnTest::Git::Wip::NoChangesError, @wip_branch if tree_diff.count.zero?
|
48
|
-
|
49
46
|
commit = @base.commit_tree(new_tree, parent: @wip_branch.parent)
|
50
47
|
|
51
48
|
@base.lib.send(:command, 'update-ref', ['-m', @message, @wip_branch, commit.objectish])
|
@@ -16,11 +16,13 @@ module LearnTest
|
|
16
16
|
begin
|
17
17
|
@base.revparse(@name)
|
18
18
|
rescue ::Git::GitExecuteError => e
|
19
|
+
regex = Errors::NoCommitsError::REGEX
|
20
|
+
|
19
21
|
if raise_no_commits
|
20
|
-
raise e.message.match(
|
22
|
+
raise e.message.match(regex) ? Errors::NoCommitsError.new(@name) : e
|
21
23
|
end
|
22
24
|
|
23
|
-
raise unless e.message.match(
|
25
|
+
raise unless e.message.match(regex)
|
24
26
|
|
25
27
|
false
|
26
28
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module LearnTest
|
4
|
+
module Git
|
5
|
+
module Wip
|
6
|
+
module Errors
|
7
|
+
class NoCommitsError < BaseError
|
8
|
+
REGEX = /unknown revision or path not in the working tree/i.freeze
|
9
|
+
|
10
|
+
def initialize(branch)
|
11
|
+
super "Branch `#{branch}` doesn't have any commits. Please commit and try again."
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'fileutils'
|
4
|
+
|
5
|
+
module LearnTest
|
6
|
+
module Git
|
7
|
+
module Wip
|
8
|
+
class Reference < Branch
|
9
|
+
attr_accessor :parent
|
10
|
+
|
11
|
+
PREFIX = 'refs/wip/'
|
12
|
+
|
13
|
+
def initialize(base:, name:)
|
14
|
+
dir = File.join(base.repo.path, PREFIX)
|
15
|
+
file = File.join(dir, name)
|
16
|
+
sha = base.log(1)[0].sha
|
17
|
+
|
18
|
+
FileUtils.mkdir_p(dir, { mode: 0755 }) unless Dir.exist?(dir)
|
19
|
+
File.open(file, 'w+') { |f| f.puts sha } unless File.exist?(file)
|
20
|
+
|
21
|
+
super(base: base, name: "#{PREFIX}#{name}")
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/learn_test/reporter.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'fileutils'
|
4
4
|
require 'json'
|
5
|
+
require 'logger'
|
5
6
|
|
6
7
|
module LearnTest
|
7
8
|
class Reporter
|
@@ -54,7 +55,7 @@ module LearnTest
|
|
54
55
|
return
|
55
56
|
end
|
56
57
|
|
57
|
-
logger = @debug ? Logger.new(
|
58
|
+
logger = @debug ? ::Logger.new($stdout, level: ::Logger::DEBUG) : false
|
58
59
|
repo = LearnTest::Git.open(options: { log: logger })
|
59
60
|
|
60
61
|
res = repo.wip(message: 'Automatic test submission')
|
data/lib/learn_test/version.rb
CHANGED
@@ -39,19 +39,24 @@ describe LearnTest::Git::Wip::Base do
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
context 'no
|
43
|
-
before(:each) { initialize_repo
|
42
|
+
context 'no refs/wip' do
|
43
|
+
before(:each) { initialize_repo }
|
44
44
|
|
45
|
-
it 'should
|
46
|
-
expect
|
45
|
+
it 'should create refs/wip' do
|
46
|
+
expect(FileUtils)
|
47
|
+
.to receive(:mkdir_p)
|
48
|
+
.with("#{path}/.git/refs/wip/", { mode: 0755 })
|
49
|
+
.and_call_original
|
50
|
+
|
51
|
+
instance.process!
|
47
52
|
end
|
48
53
|
end
|
49
54
|
|
50
|
-
|
51
|
-
before(:each) { initialize_repo }
|
55
|
+
context 'no commits' do
|
56
|
+
before(:each) { initialize_repo(commit: false) }
|
52
57
|
|
53
58
|
it 'should raise' do
|
54
|
-
expect { instance.process! }.to raise_error(LearnTest::Git::Wip::
|
59
|
+
expect { instance.process! }.to raise_error(LearnTest::Git::Wip::Errors::NoCommitsError)
|
55
60
|
end
|
56
61
|
end
|
57
62
|
|
@@ -91,7 +91,7 @@ describe LearnTest::Git::Wip::Branch do
|
|
91
91
|
expect do
|
92
92
|
branch.last_revision(raise_no_commits: true)
|
93
93
|
end.to raise_error(
|
94
|
-
LearnTest::Git::Wip::NoCommitsError, "Branch `#{name}` doesn't have any commits. Please commit and try again."
|
94
|
+
LearnTest::Git::Wip::Errors::NoCommitsError, "Branch `#{name}` doesn't have any commits. Please commit and try again."
|
95
95
|
)
|
96
96
|
end
|
97
97
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
describe LearnTest::Git::Wip::Errors::NoChangesError do
|
4
|
+
let(:branch) { rand(0..999_999).to_s }
|
5
|
+
|
6
|
+
it 'should inherit from Error' do
|
7
|
+
expect(described_class).to be < LearnTest::Git::Wip::Errors::BaseError
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'should require a branch' do
|
11
|
+
expect { described_class.new }.to raise_error(ArgumentError)
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should have the correct messaging' do
|
15
|
+
error = described_class.new(branch)
|
16
|
+
expect(error.message).to eq "No changes found on `#{branch}`"
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
describe LearnTest::Git::Wip::Errors::NoCommitsError do
|
4
|
+
let(:branch) { rand(0..999_999).to_s }
|
5
|
+
|
6
|
+
it 'should inherit from Error' do
|
7
|
+
expect(described_class).to be < LearnTest::Git::Wip::Errors::BaseError
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'should require a branch' do
|
11
|
+
expect { described_class.new }.to raise_error(ArgumentError)
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should have the correct messaging' do
|
15
|
+
error = described_class.new(branch)
|
16
|
+
expect(error.message).to eq "Branch `#{branch}` doesn't have any commits. Please commit and try again."
|
17
|
+
end
|
18
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -12,6 +12,8 @@ support_dir = File.join('./', 'spec', 'support', '**', '*.rb')
|
|
12
12
|
Dir.glob(support_dir).each { |f| require f }
|
13
13
|
|
14
14
|
RSpec.configure do |config|
|
15
|
+
# config.filter_run focus: true
|
16
|
+
|
15
17
|
config.expect_with :rspec do |expectations|
|
16
18
|
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
17
19
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: learn-test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.3.
|
4
|
+
version: 3.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Flatiron School
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -150,7 +150,7 @@ dependencies:
|
|
150
150
|
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: 2.4.0
|
153
|
-
description:
|
153
|
+
description:
|
154
154
|
email:
|
155
155
|
- learn@flatironschool.com
|
156
156
|
executables:
|
@@ -184,7 +184,10 @@ files:
|
|
184
184
|
- lib/learn_test/git.rb
|
185
185
|
- lib/learn_test/git/wip/base.rb
|
186
186
|
- lib/learn_test/git/wip/branch.rb
|
187
|
-
- lib/learn_test/git/wip/
|
187
|
+
- lib/learn_test/git/wip/errors/base_error.rb
|
188
|
+
- lib/learn_test/git/wip/errors/no_changes_error.rb
|
189
|
+
- lib/learn_test/git/wip/errors/no_commits_error.rb
|
190
|
+
- lib/learn_test/git/wip/reference.rb
|
188
191
|
- lib/learn_test/github_interactor.rb
|
189
192
|
- lib/learn_test/js_strategy.rb
|
190
193
|
- lib/learn_test/learn_oauth_token_parser.rb
|
@@ -220,7 +223,9 @@ files:
|
|
220
223
|
- spec/fixtures/rspec-unit-spec/spec/spec_helper.rb
|
221
224
|
- spec/learn_test/git/wip/base_spec.rb
|
222
225
|
- spec/learn_test/git/wip/branch_spec.rb
|
223
|
-
- spec/learn_test/git/wip/
|
226
|
+
- spec/learn_test/git/wip/errors/base_error_spec.rb
|
227
|
+
- spec/learn_test/git/wip/errors/no_changes_error_spec.rb
|
228
|
+
- spec/learn_test/git/wip/errors/no_commits_error_spec.rb
|
224
229
|
- spec/learn_test/git_spec.rb
|
225
230
|
- spec/learn_test/reporter_spec.rb
|
226
231
|
- spec/learn_test/username_parser_spec.rb
|
@@ -233,7 +238,7 @@ homepage: https://github.com/learn-co/learn-test
|
|
233
238
|
licenses:
|
234
239
|
- MIT
|
235
240
|
metadata: {}
|
236
|
-
post_install_message:
|
241
|
+
post_install_message:
|
237
242
|
rdoc_options: []
|
238
243
|
require_paths:
|
239
244
|
- lib
|
@@ -245,12 +250,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
245
250
|
version: 2.5.0
|
246
251
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
247
252
|
requirements:
|
248
|
-
- - "
|
253
|
+
- - ">="
|
249
254
|
- !ruby/object:Gem::Version
|
250
|
-
version:
|
255
|
+
version: '0'
|
251
256
|
requirements: []
|
252
|
-
rubygems_version: 3.
|
253
|
-
signing_key:
|
257
|
+
rubygems_version: 3.0.3
|
258
|
+
signing_key:
|
254
259
|
specification_version: 4
|
255
260
|
summary: Runs RSpec, Karma, Mocha, and Python Pytest Test builds and pushes JSON output
|
256
261
|
to Learn.
|
@@ -264,7 +269,9 @@ test_files:
|
|
264
269
|
- spec/fixtures/rspec-unit-spec/spec/spec_helper.rb
|
265
270
|
- spec/learn_test/git/wip/base_spec.rb
|
266
271
|
- spec/learn_test/git/wip/branch_spec.rb
|
267
|
-
- spec/learn_test/git/wip/
|
272
|
+
- spec/learn_test/git/wip/errors/base_error_spec.rb
|
273
|
+
- spec/learn_test/git/wip/errors/no_changes_error_spec.rb
|
274
|
+
- spec/learn_test/git/wip/errors/no_commits_error_spec.rb
|
268
275
|
- spec/learn_test/git_spec.rb
|
269
276
|
- spec/learn_test/reporter_spec.rb
|
270
277
|
- spec/learn_test/username_parser_spec.rb
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module LearnTest
|
4
|
-
module Git
|
5
|
-
module Wip
|
6
|
-
class Error < StandardError; end
|
7
|
-
|
8
|
-
class NoChangesError < Error
|
9
|
-
def initialize(branch)
|
10
|
-
super "No changes found on `#{branch}`"
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
class NoCommitsError < Error
|
15
|
-
REGEX = /unknown revision or path not in the working tree/i.freeze
|
16
|
-
|
17
|
-
def initialize(branch)
|
18
|
-
super "Branch `#{branch}` doesn't have any commits. Please commit and try again."
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
describe LearnTest::Git::Wip do
|
4
|
-
let(:branch) { rand(0..999_999).to_s }
|
5
|
-
|
6
|
-
describe LearnTest::Git::Wip::Error do
|
7
|
-
it 'should inherit from StandardError' do
|
8
|
-
expect(described_class).to be < StandardError
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
describe LearnTest::Git::Wip::NoChangesError do
|
13
|
-
it 'should inherit from Error' do
|
14
|
-
expect(described_class).to be < LearnTest::Git::Wip::Error
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'should require a branch' do
|
18
|
-
expect { described_class.new }.to raise_error(ArgumentError)
|
19
|
-
end
|
20
|
-
|
21
|
-
it 'should have the correct messaging' do
|
22
|
-
error = described_class.new(branch)
|
23
|
-
expect(error.message).to eq "No changes found on `#{branch}`"
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
describe LearnTest::Git::Wip::NoCommitsError do
|
28
|
-
it 'should inherit from Error' do
|
29
|
-
expect(described_class).to be < LearnTest::Git::Wip::Error
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'should require a branch' do
|
33
|
-
expect { described_class.new }.to raise_error(ArgumentError)
|
34
|
-
end
|
35
|
-
|
36
|
-
it 'should have the correct messaging' do
|
37
|
-
error = described_class.new(branch)
|
38
|
-
expect(error.message).to eq "Branch `#{branch}` doesn't have any commits. Please commit and try again."
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|