test_suite_splitter 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,97 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe TestSuiteSplitter::RspecHelper do
4
- describe "#rspec_options" do
5
- it "forwards the tag command to rspec" do
6
- helper = TestSuiteSplitter::RspecHelper.new(groups: 4, group_number: 2, tags: ["~@firefox_skip", "asd"])
7
- rspec_options = helper.__send__(:rspec_options)
8
- expect(rspec_options).to eq ["--dry-run", "--format", "json", "--tag", "~@firefox_skip", "--tag", "asd", "spec"]
9
- end
10
-
11
- it "doesnt include the tag argument if nothing is given" do
12
- helper = TestSuiteSplitter::RspecHelper.new(groups: 4, group_number: 2)
13
- rspec_options = helper.__send__(:rspec_options)
14
- expect(rspec_options).to eq ["--dry-run", "--format", "json", "spec"]
15
- end
16
- end
17
-
18
- it "selects only given types" do
19
- helper = TestSuiteSplitter::RspecHelper.new(groups: 4, group_number: 2, only_types: ["system"])
20
-
21
- ignore_models = helper.__send__(:ignore_type?, "models")
22
- ignore_system = helper.__send__(:ignore_type?, "system")
23
-
24
- expect(ignore_models).to eq true
25
- expect(ignore_system).to eq false
26
- end
27
-
28
- describe "#ignore_type?" do
29
- it "ignores types not given" do
30
- helper = TestSuiteSplitter::RspecHelper.new(groups: 1, group_number: 1, only_types: ["system"])
31
-
32
- expect(helper.__send__(:ignore_type?, "system")).to eq false
33
- expect(helper.__send__(:ignore_type?, "model")).to eq true
34
- end
35
- end
36
-
37
- describe "#sorted_files" do
38
- it "falls back to sort the files by name" do
39
- helper = TestSuiteSplitter::RspecHelper.new(groups: 4, group_number: 2)
40
-
41
- expect(helper).to receive(:files).and_return(
42
- "specs/file_b_spec.rb" => {
43
- examples: 1,
44
- path: "specs/file_b_spec.rb",
45
- points: 1
46
- },
47
- "specs/file_c_spec.rb" => {
48
- examples: 1,
49
- path: "specs/file_c_spec.rb",
50
- points: 1
51
- },
52
- "specs/file_a_spec.rb" => {
53
- examples: 1,
54
- path: "specs/file_a_spec.rb",
55
- points: 1
56
- }
57
- )
58
-
59
- files = helper.sorted_files.map { |file| file.fetch(:path) }
60
-
61
- expect(files).to eq [
62
- "specs/file_a_spec.rb",
63
- "specs/file_b_spec.rb",
64
- "specs/file_c_spec.rb"
65
- ]
66
- end
67
-
68
- it "doesnt duplicate the same specs in multiple groups" do
69
- require "json"
70
-
71
- helpers = [
72
- TestSuiteSplitter::RspecHelper.new(groups: 4, group_number: 1),
73
- TestSuiteSplitter::RspecHelper.new(groups: 4, group_number: 2),
74
- TestSuiteSplitter::RspecHelper.new(groups: 4, group_number: 3),
75
- TestSuiteSplitter::RspecHelper.new(groups: 4, group_number: 4)
76
- ]
77
-
78
- nemoa_rspec_output = JSON.parse(File.read("spec/test_suite_splitter/rspec_helper/nemoa_rspec_output.json"))
79
-
80
- expect(helpers).to all(receive(:dry_result).and_return(nemoa_rspec_output))
81
-
82
- file_groups = helpers.map { |helper| helper.__send__(:group_files) }
83
-
84
- file_groups.each_with_index do |file_group1, index1|
85
- file_group1.each do |file_name1|
86
- file_groups.each_with_index do |file_group2, index2|
87
- next if index1 == index2
88
-
89
- file_group2.each do |file_name2|
90
- raise "Found fine in both #{index1} and #{index2}: #{file_name1}" if file_name1 == file_name2
91
- end
92
- end
93
- end
94
- end
95
- end
96
- end
97
- end
@@ -1,65 +0,0 @@
1
- # Generated by juwelier
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
- # stub: test_suite_splitter 0.0.1 ruby lib
6
-
7
- Gem::Specification.new do |s|
8
- s.name = "test_suite_splitter".freeze
9
- s.version = "0.0.1"
10
-
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib".freeze]
13
- s.authors = ["kaspernj".freeze]
14
- s.date = "2021-11-17"
15
- s.description = "Split your RSpec test suite up into several groups and run them in parallel.".freeze
16
- s.email = "k@spernj.org".freeze
17
- s.executables = ["test_suite_splitter".freeze]
18
- s.extra_rdoc_files = [
19
- "LICENSE.txt",
20
- "README.rdoc"
21
- ]
22
- s.files = [
23
- ".document",
24
- ".rubocop.yml",
25
- "Gemfile",
26
- "Gemfile.lock",
27
- "LICENSE.txt",
28
- "README.rdoc",
29
- "Rakefile",
30
- "VERSION",
31
- "bin/test_suite_splitter",
32
- "lib/test_suite_splitter.rb",
33
- "lib/test_suite_splitter/rspec_helper.rb",
34
- "peak_flow.yml",
35
- "spec/spec_helper.rb",
36
- "spec/test_suite_splitter/rspec_helper/nemoa_rspec_output.json",
37
- "spec/test_suite_splitter/rspec_helper_spec.rb",
38
- "test_suite_splitter.gemspec"
39
- ]
40
- s.homepage = "http://github.com/kaspernj/test_suite_splitter".freeze
41
- s.licenses = ["MIT".freeze]
42
- s.rubygems_version = "3.1.6".freeze
43
- s.summary = "Split your RSpec test suite up into several groups and run them in parallel.".freeze
44
-
45
- if s.respond_to? :specification_version then
46
- s.specification_version = 4
47
- end
48
-
49
- if s.respond_to? :add_runtime_dependency then
50
- s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
51
- s.add_development_dependency(%q<juwelier>.freeze, [">= 0"])
52
- s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
53
- s.add_development_dependency(%q<rubocop>.freeze, [">= 0"])
54
- s.add_development_dependency(%q<rubocop-performance>.freeze, [">= 0"])
55
- s.add_development_dependency(%q<rubocop-rspec>.freeze, [">= 0"])
56
- else
57
- s.add_dependency(%q<bundler>.freeze, [">= 0"])
58
- s.add_dependency(%q<juwelier>.freeze, [">= 0"])
59
- s.add_dependency(%q<rspec>.freeze, [">= 0"])
60
- s.add_dependency(%q<rubocop>.freeze, [">= 0"])
61
- s.add_dependency(%q<rubocop-performance>.freeze, [">= 0"])
62
- s.add_dependency(%q<rubocop-rspec>.freeze, [">= 0"])
63
- end
64
- end
65
-