paraduct 1.0.0.beta6 → 1.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/.hound.yml +3 -0
- data/.onkcop.yml +223 -0
- data/.rubocop.yml +10 -0
- data/CHANGELOG.md +6 -2
- data/Gemfile +1 -1
- data/README.md +2 -2
- data/Rakefile +1 -1
- data/bin/paraduct +1 -1
- data/lib/paraduct.rb +10 -10
- data/lib/paraduct/cli.rb +2 -2
- data/lib/paraduct/colored_label_logger.rb +1 -1
- data/lib/paraduct/configuration.rb +3 -3
- data/lib/paraduct/parallel_runner.rb +3 -3
- data/lib/paraduct/runner.rb +25 -25
- data/lib/paraduct/test_response.rb +4 -4
- data/lib/paraduct/variable_converter.rb +2 -3
- data/lib/paraduct/version.rb +1 -1
- data/paraduct.gemspec +5 -4
- data/spec/paraduct/cli_spec.rb +11 -11
- data/spec/paraduct/configuration_spec.rb +4 -4
- data/spec/paraduct/parallel_runner_spec.rb +40 -40
- data/spec/paraduct/runner_spec.rb +18 -15
- data/spec/paraduct/sync_utils_spec.rb +5 -5
- data/spec/paraduct/test_response_spec.rb +7 -7
- data/spec/paraduct/variable_converter_spec.rb +25 -26
- data/spec/paraduct_spec.rb +1 -1
- data/spec/spec_helper.rb +57 -59
- data/spec/support/contexts/stub_configuration.rb +2 -2
- data/spec/support/contexts/within_temp_work_dir.rb +0 -1
- metadata +21 -4
@@ -9,7 +9,7 @@ module Paraduct
|
|
9
9
|
delegate :push, :count, to: :jobs, prefix: true
|
10
10
|
|
11
11
|
def successful?
|
12
|
-
@jobs.all?{ |result| result[:successful] }
|
12
|
+
@jobs.all? { |result| result[:successful] }
|
13
13
|
end
|
14
14
|
|
15
15
|
def failure?
|
@@ -18,14 +18,14 @@ module Paraduct
|
|
18
18
|
|
19
19
|
def detail_message
|
20
20
|
all_count = @jobs.count
|
21
|
-
successful_count = @jobs.
|
21
|
+
successful_count = @jobs.count { |result| result[:successful] }
|
22
22
|
failure_count = all_count - successful_count
|
23
23
|
|
24
24
|
message = "======================================================\n"
|
25
25
|
|
26
26
|
if successful_count > 0
|
27
27
|
message << "Passed:\n\n"
|
28
|
-
@jobs.select{ |result| result[:successful] }.each_with_index do |result, i|
|
28
|
+
@jobs.select { |result| result[:successful] }.each_with_index do |result, i|
|
29
29
|
message << " #{i + 1}) #{result[:formatted_params]}\n"
|
30
30
|
end
|
31
31
|
message << "\n"
|
@@ -33,7 +33,7 @@ module Paraduct
|
|
33
33
|
|
34
34
|
if failure_count > 0
|
35
35
|
message << "Failures:\n\n"
|
36
|
-
@jobs.select{ |result| !result[:successful] }.each_with_index do |result, i|
|
36
|
+
@jobs.select { |result| !result[:successful] }.each_with_index do |result, i|
|
37
37
|
message << " #{i + 1}) #{result[:formatted_params]}\n"
|
38
38
|
end
|
39
39
|
message << "\n"
|
@@ -25,9 +25,8 @@ module Paraduct
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def self.reject(product_variables, exclude_variables)
|
28
|
-
product_variables.
|
29
|
-
rejected_product_variables << variables unless exclude_variables.any?{ |exclude| partial_match?(variables, exclude) }
|
30
|
-
rejected_product_variables
|
28
|
+
product_variables.each_with_object([]) do |variables, rejected_product_variables|
|
29
|
+
rejected_product_variables << variables unless exclude_variables.any? { |exclude| partial_match?(variables, exclude) }
|
31
30
|
end
|
32
31
|
end
|
33
32
|
|
data/lib/paraduct/version.rb
CHANGED
data/paraduct.gemspec
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
# coding: utf-8
|
2
|
-
lib = File.expand_path(
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require
|
4
|
+
require "paraduct/version"
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "paraduct"
|
8
8
|
spec.version = Paraduct::VERSION
|
9
9
|
spec.authors = ["sue445"]
|
10
10
|
spec.email = ["sue445@sue445.net"]
|
11
|
-
spec.summary =
|
12
|
-
spec.description =
|
11
|
+
spec.summary = "matrix test runner"
|
12
|
+
spec.description = "Paraduct(parallel + parameterize + product) is matrix test runner"
|
13
13
|
spec.homepage = "https://github.com/sue445/paraduct"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
@@ -28,6 +28,7 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.add_development_dependency "bundler", ">= 1.5"
|
29
29
|
spec.add_development_dependency "codeclimate-test-reporter"
|
30
30
|
spec.add_development_dependency "coveralls"
|
31
|
+
spec.add_development_dependency "rubocop", "0.37.0"
|
31
32
|
spec.add_development_dependency "pry-byebug"
|
32
33
|
spec.add_development_dependency "rake", "~> 10.0"
|
33
34
|
spec.add_development_dependency "redcarpet"
|
data/spec/paraduct/cli_spec.rb
CHANGED
@@ -1,20 +1,20 @@
|
|
1
1
|
describe Paraduct::CLI do
|
2
2
|
subject { Paraduct::CLI.start(args) }
|
3
3
|
|
4
|
-
let(:args){ [command] }
|
4
|
+
let(:args) { [command] }
|
5
5
|
|
6
6
|
describe "#version" do
|
7
7
|
%w(version --version).each do |_command|
|
8
8
|
context "with #{_command}" do
|
9
|
-
let(:command){ _command }
|
9
|
+
let(:command) { _command }
|
10
10
|
|
11
|
-
it { expect{ subject }.to output("#{Paraduct::VERSION}\n").to_stdout }
|
11
|
+
it { expect { subject }.to output("#{Paraduct::VERSION}\n").to_stdout }
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
16
|
describe "#test" do
|
17
|
-
let(:command){ "test" }
|
17
|
+
let(:command) { "test" }
|
18
18
|
|
19
19
|
include_context :stub_configuration
|
20
20
|
include_context :within_temp_dir
|
@@ -33,8 +33,8 @@ describe Paraduct::CLI do
|
|
33
33
|
}
|
34
34
|
end
|
35
35
|
|
36
|
-
let(:script){ "./script/build_success.sh" }
|
37
|
-
let(:after_script){ "./script/build_finish.sh" }
|
36
|
+
let(:script) { "./script/build_success.sh" }
|
37
|
+
let(:after_script) { "./script/build_finish.sh" }
|
38
38
|
let(:product_variables) do
|
39
39
|
[
|
40
40
|
{ "RUBY" => "1.9.3", "DATABASE" => "mysql" },
|
@@ -52,7 +52,7 @@ describe Paraduct::CLI do
|
|
52
52
|
|
53
53
|
it "should call perform_all" do
|
54
54
|
expect(Paraduct::ParallelRunner).to receive(:perform_all).
|
55
|
-
with(script: script, after_script: after_script, product_variables: product_variables){ test_response }
|
55
|
+
with(script: script, after_script: after_script, product_variables: product_variables) { test_response }
|
56
56
|
subject
|
57
57
|
end
|
58
58
|
end
|
@@ -60,7 +60,7 @@ describe Paraduct::CLI do
|
|
60
60
|
context "failure test" do
|
61
61
|
let(:config_data) do
|
62
62
|
{
|
63
|
-
script:
|
63
|
+
script: "exit ${STATUS}",
|
64
64
|
work_dir: "tmp/paraduct_workspace",
|
65
65
|
variables: {
|
66
66
|
"STATUS" => [0, 1],
|
@@ -73,7 +73,7 @@ describe Paraduct::CLI do
|
|
73
73
|
end
|
74
74
|
|
75
75
|
context "with --dry-run" do
|
76
|
-
let(:args){ [command, "--dry-run"] }
|
76
|
+
let(:args) { [command, "--dry-run"] }
|
77
77
|
|
78
78
|
it "should not call perform_all" do
|
79
79
|
expect(Paraduct::ParallelRunner).not_to receive(:perform_all)
|
@@ -83,7 +83,7 @@ describe Paraduct::CLI do
|
|
83
83
|
end
|
84
84
|
|
85
85
|
describe "#generate" do
|
86
|
-
let(:command){ "generate" }
|
86
|
+
let(:command) { "generate" }
|
87
87
|
|
88
88
|
include_context :within_temp_dir
|
89
89
|
|
@@ -94,7 +94,7 @@ describe Paraduct::CLI do
|
|
94
94
|
|
95
95
|
%w(.paraduct.yml .paraduct_rsync_exclude.txt).each do |template_file|
|
96
96
|
describe "whether copy #{template_file}" do
|
97
|
-
let(:generated_config_file){ temp_dir_path.join(template_file) }
|
97
|
+
let(:generated_config_file) { temp_dir_path.join(template_file) }
|
98
98
|
|
99
99
|
it { expect(generated_config_file).to be_exist }
|
100
100
|
end
|
@@ -1,19 +1,19 @@
|
|
1
1
|
describe Paraduct::Configuration do
|
2
|
-
let(:config){ Paraduct.configuration }
|
2
|
+
let(:config) { Paraduct.configuration }
|
3
3
|
|
4
4
|
before do
|
5
5
|
# use spec/.paraduct.yml
|
6
|
-
allow_any_instance_of(Paraduct::Configuration).to receive(:root_dir){ spec_dir }
|
6
|
+
allow_any_instance_of(Paraduct::Configuration).to receive(:root_dir) { spec_dir }
|
7
7
|
end
|
8
8
|
|
9
9
|
describe "#variables" do
|
10
|
-
subject{ config.variables }
|
10
|
+
subject { config.variables }
|
11
11
|
|
12
12
|
it "should get variables in .paraduct.yml" do
|
13
13
|
is_expected.to match(
|
14
14
|
"RUBY" => ["1.9.3", "2.0.0", "2.1.2"],
|
15
15
|
"DATABASE" => ["mysql", "postgresql"],
|
16
|
-
"RAILS" => ["3.2.0", "4.0.0", "4.1.0"]
|
16
|
+
"RAILS" => ["3.2.0", "4.0.0", "4.1.0"]
|
17
17
|
)
|
18
18
|
end
|
19
19
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
describe Paraduct::ParallelRunner do
|
2
2
|
describe "#perform_all" do
|
3
|
-
subject{ Paraduct::ParallelRunner.perform_all(script: script, product_variables: product_variables, after_script: after_script) }
|
3
|
+
subject { Paraduct::ParallelRunner.perform_all(script: script, product_variables: product_variables, after_script: after_script) }
|
4
4
|
|
5
5
|
include_context :within_temp_work_dir
|
6
6
|
|
@@ -9,23 +9,23 @@ describe Paraduct::ParallelRunner do
|
|
9
9
|
# end
|
10
10
|
|
11
11
|
shared_examples :create_job_directories do
|
12
|
-
let(:job_dir)
|
13
|
-
let(:copied_file){ job_dir.join("script/build_success.sh") }
|
12
|
+
let(:job_dir) { temp_dir_path.join("tmp/paraduct_workspace/#{job_name}") }
|
13
|
+
let(:copied_file) { job_dir.join("script/build_success.sh") }
|
14
14
|
|
15
15
|
it { expect(job_dir).to be_exist }
|
16
16
|
it { expect(copied_file).to be_exist }
|
17
17
|
end
|
18
18
|
|
19
19
|
shared_examples :dont_create_job_directories do
|
20
|
-
let(:job_dir)
|
21
|
-
let(:copied_file){ job_dir.join("script/build_success.sh") }
|
20
|
+
let(:job_dir) { temp_dir_path.join("tmp/paraduct_workspace/#{job_name}") }
|
21
|
+
let(:copied_file) { job_dir.join("script/build_success.sh") }
|
22
22
|
|
23
23
|
it { expect(job_dir).not_to be_exist }
|
24
24
|
it { expect(copied_file).not_to be_exist }
|
25
25
|
end
|
26
26
|
|
27
27
|
describe "with script file test" do
|
28
|
-
let(:script){ "./script/build_success.sh" }
|
28
|
+
let(:script) { "./script/build_success.sh" }
|
29
29
|
let(:after_script) { "./script/build_finish.sh" }
|
30
30
|
let(:product_variables) do
|
31
31
|
[
|
@@ -36,22 +36,22 @@ describe Paraduct::ParallelRunner do
|
|
36
36
|
|
37
37
|
its(:jobs) do
|
38
38
|
should include(
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
39
|
+
job_name: "RUBY_1.9_DATABASE_mysql",
|
40
|
+
params: { "RUBY" => "1.9", "DATABASE" => "mysql" },
|
41
|
+
formatted_params: "RUBY=1.9, DATABASE=mysql",
|
42
|
+
successful: true,
|
43
|
+
stdout: "RUBY=1.9\nDATABASE=mysql\nFinish: RUBY=1.9, DATABASE=mysql\n"
|
44
|
+
)
|
45
45
|
end
|
46
46
|
|
47
47
|
its(:jobs) do
|
48
48
|
should include(
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
49
|
+
job_name: "RUBY_2.0_DATABASE_postgresql",
|
50
|
+
params: { "RUBY" => "2.0", "DATABASE" => "postgresql" },
|
51
|
+
formatted_params: "RUBY=2.0, DATABASE=postgresql",
|
52
|
+
successful: true,
|
53
|
+
stdout: "RUBY=2.0\nDATABASE=postgresql\nFinish: RUBY=2.0, DATABASE=postgresql\n"
|
54
|
+
)
|
55
55
|
end
|
56
56
|
|
57
57
|
context "When work_dir is not empty" do
|
@@ -66,11 +66,11 @@ describe Paraduct::ParallelRunner do
|
|
66
66
|
end
|
67
67
|
|
68
68
|
it_behaves_like :create_job_directories do
|
69
|
-
let(:job_name){ "RUBY_1.9_DATABASE_mysql" }
|
69
|
+
let(:job_name) { "RUBY_1.9_DATABASE_mysql" }
|
70
70
|
end
|
71
71
|
|
72
72
|
it_behaves_like :create_job_directories do
|
73
|
-
let(:job_name){ "RUBY_2.0_DATABASE_postgresql" }
|
73
|
+
let(:job_name) { "RUBY_2.0_DATABASE_postgresql" }
|
74
74
|
end
|
75
75
|
end
|
76
76
|
end
|
@@ -87,19 +87,19 @@ describe Paraduct::ParallelRunner do
|
|
87
87
|
end
|
88
88
|
|
89
89
|
it_behaves_like :dont_create_job_directories do
|
90
|
-
let(:job_name){ "RUBY_1.9_DATABASE_mysql" }
|
90
|
+
let(:job_name) { "RUBY_1.9_DATABASE_mysql" }
|
91
91
|
end
|
92
92
|
|
93
93
|
it_behaves_like :dont_create_job_directories do
|
94
|
-
let(:job_name){ "RUBY_2.0_DATABASE_postgresql" }
|
94
|
+
let(:job_name) { "RUBY_2.0_DATABASE_postgresql" }
|
95
95
|
end
|
96
96
|
end
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
100
100
|
describe "without script file test" do
|
101
|
-
let(:script){
|
102
|
-
let(:after_script) {
|
101
|
+
let(:script) { 'echo "RUBY=${RUBY} DATABASE=${DATABASE}"' }
|
102
|
+
let(:after_script) { 'echo "Finish: RUBY=${RUBY}, DATABASE=${DATABASE}"' }
|
103
103
|
let(:product_variables) do
|
104
104
|
[
|
105
105
|
{ "RUBY" => "1.9", "DATABASE" => "mysql" },
|
@@ -109,22 +109,22 @@ describe Paraduct::ParallelRunner do
|
|
109
109
|
|
110
110
|
its(:jobs) do
|
111
111
|
should include(
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
112
|
+
job_name: "RUBY_1.9_DATABASE_mysql",
|
113
|
+
params: { "RUBY" => "1.9", "DATABASE" => "mysql" },
|
114
|
+
formatted_params: "RUBY=1.9, DATABASE=mysql",
|
115
|
+
successful: true,
|
116
|
+
stdout: "RUBY=1.9 DATABASE=mysql\nFinish: RUBY=1.9, DATABASE=mysql\n"
|
117
|
+
)
|
118
118
|
end
|
119
119
|
|
120
120
|
its(:jobs) do
|
121
121
|
should include(
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
122
|
+
job_name: "RUBY_2.0_DATABASE_postgresql",
|
123
|
+
params: { "RUBY" => "2.0", "DATABASE" => "postgresql" },
|
124
|
+
formatted_params: "RUBY=2.0, DATABASE=postgresql",
|
125
|
+
successful: true,
|
126
|
+
stdout: "RUBY=2.0 DATABASE=postgresql\nFinish: RUBY=2.0, DATABASE=postgresql\n"
|
127
|
+
)
|
128
128
|
end
|
129
129
|
|
130
130
|
context "When work_dir is not empty" do
|
@@ -139,11 +139,11 @@ describe Paraduct::ParallelRunner do
|
|
139
139
|
end
|
140
140
|
|
141
141
|
it_behaves_like :create_job_directories do
|
142
|
-
let(:job_name){ "RUBY_1.9_DATABASE_mysql" }
|
142
|
+
let(:job_name) { "RUBY_1.9_DATABASE_mysql" }
|
143
143
|
end
|
144
144
|
|
145
145
|
it_behaves_like :create_job_directories do
|
146
|
-
let(:job_name){ "RUBY_2.0_DATABASE_postgresql" }
|
146
|
+
let(:job_name) { "RUBY_2.0_DATABASE_postgresql" }
|
147
147
|
end
|
148
148
|
end
|
149
149
|
end
|
@@ -160,11 +160,11 @@ describe Paraduct::ParallelRunner do
|
|
160
160
|
end
|
161
161
|
|
162
162
|
it_behaves_like :dont_create_job_directories do
|
163
|
-
let(:job_name){ "RUBY_1.9_DATABASE_mysql" }
|
163
|
+
let(:job_name) { "RUBY_1.9_DATABASE_mysql" }
|
164
164
|
end
|
165
165
|
|
166
166
|
it_behaves_like :dont_create_job_directories do
|
167
|
-
let(:job_name){ "RUBY_2.0_DATABASE_postgresql" }
|
167
|
+
let(:job_name) { "RUBY_2.0_DATABASE_postgresql" }
|
168
168
|
end
|
169
169
|
end
|
170
170
|
end
|
@@ -3,22 +3,25 @@ describe Paraduct::Runner do
|
|
3
3
|
Paraduct::Runner.new(
|
4
4
|
params: params,
|
5
5
|
base_job_dir: base_job_dir,
|
6
|
-
job_id: job_id
|
6
|
+
job_id: job_id
|
7
7
|
)
|
8
8
|
end
|
9
9
|
|
10
10
|
include_context "uses temp dir"
|
11
11
|
|
12
|
-
let(:base_job_dir){ temp_dir }
|
12
|
+
let(:base_job_dir) { temp_dir }
|
13
13
|
let(:params) { {} }
|
14
14
|
let(:job_id) { 1 }
|
15
15
|
|
16
16
|
describe "#perform" do
|
17
|
-
subject{ runner.perform(script) }
|
17
|
+
subject { runner.perform(script) }
|
18
18
|
|
19
19
|
let(:script) { "./script/build_success.sh" }
|
20
20
|
let(:params) { { "RUBY" => "1.9", "DATABASE" => "mysql" } }
|
21
|
-
|
21
|
+
|
22
|
+
# rubocop:disable Metrics/LineLength
|
23
|
+
let(:command) { 'export PARADUCT_JOB_ID="1"; export PARADUCT_JOB_NAME="RUBY_1.9_DATABASE_mysql"; export RUBY="1.9"; export DATABASE="mysql"; ./script/build_success.sh' }
|
24
|
+
# rubocop:enable Metrics/LineLength
|
22
25
|
|
23
26
|
context "with mock system" do
|
24
27
|
it "script is call with capitalized variable" do
|
@@ -31,12 +34,12 @@ describe Paraduct::Runner do
|
|
31
34
|
include_context :within_spec_dir
|
32
35
|
|
33
36
|
context "when success" do
|
34
|
-
it { should match
|
35
|
-
it { should match
|
37
|
+
it { should match(/RUBY=1.9/) }
|
38
|
+
it { should match(/DATABASE=mysql/) }
|
36
39
|
end
|
37
40
|
|
38
41
|
context "when error in script file" do
|
39
|
-
let(:script){ "./script/build_error.sh" }
|
42
|
+
let(:script) { "./script/build_error.sh" }
|
40
43
|
|
41
44
|
let(:stdout) do
|
42
45
|
<<-EOS
|
@@ -45,25 +48,25 @@ DATABASE=mysql
|
|
45
48
|
EOS
|
46
49
|
end
|
47
50
|
|
48
|
-
it { expect{ subject }.to raise_error(Paraduct::Errors::ProcessError, stdout) }
|
51
|
+
it { expect { subject }.to raise_error(Paraduct::Errors::ProcessError, stdout) }
|
49
52
|
end
|
50
53
|
end
|
51
54
|
|
52
55
|
context "with single command" do
|
53
|
-
let(:script){
|
56
|
+
let(:script) { "echo RUBY=${RUBY}" }
|
54
57
|
|
55
58
|
it { should eq "RUBY=1.9\n" }
|
56
59
|
end
|
57
60
|
|
58
61
|
context "with multiple commands" do
|
59
|
-
let(:script){ [
|
62
|
+
let(:script) { ["echo RUBY=${RUBY}", "echo DATABASE=${DATABASE}"] }
|
60
63
|
|
61
64
|
it { should eq "RUBY=1.9\nDATABASE=mysql\n" }
|
62
65
|
end
|
63
66
|
end
|
64
67
|
|
65
68
|
describe "#job_dir" do
|
66
|
-
subject{ runner.job_dir }
|
69
|
+
subject { runner.job_dir }
|
67
70
|
|
68
71
|
let(:params) { { "RUBY" => "1.9", "DATABASE" => "mysql" } }
|
69
72
|
|
@@ -71,15 +74,15 @@ DATABASE=mysql
|
|
71
74
|
end
|
72
75
|
|
73
76
|
describe "#formatted_params" do
|
74
|
-
subject{ runner.formatted_params }
|
77
|
+
subject { runner.formatted_params }
|
75
78
|
|
76
|
-
let(:params){ { "RUBY" => "1.9", "DATABASE" => "mysql" } }
|
79
|
+
let(:params) { { "RUBY" => "1.9", "DATABASE" => "mysql" } }
|
77
80
|
|
78
|
-
it{ should eq "RUBY=1.9, DATABASE=mysql" }
|
81
|
+
it { should eq "RUBY=1.9, DATABASE=mysql" }
|
79
82
|
end
|
80
83
|
|
81
84
|
describe "#job_name" do
|
82
|
-
subject{ runner.job_name }
|
85
|
+
subject { runner.job_name }
|
83
86
|
|
84
87
|
context "basic case" do
|
85
88
|
let(:params) { { "RUBY" => "1.9", "DATABASE" => "mysql" } }
|
@@ -1,6 +1,6 @@
|
|
1
1
|
describe Paraduct::SyncUtils do
|
2
2
|
describe "#copy_recursive" do
|
3
|
-
subject{ Paraduct::SyncUtils.copy_recursive(source_dir, destination_dir) }
|
3
|
+
subject { Paraduct::SyncUtils.copy_recursive(source_dir, destination_dir) }
|
4
4
|
|
5
5
|
include_context :within_temp_dir
|
6
6
|
include_context :stub_configuration
|
@@ -13,10 +13,10 @@ describe Paraduct::SyncUtils do
|
|
13
13
|
}
|
14
14
|
end
|
15
15
|
|
16
|
-
let(:source_dir)
|
17
|
-
let(:destination_dir){ temp_dir_path.join("tmp/paraduct_workspace/RUBY_1.9_DATABASE_mysql") }
|
18
|
-
let(:copied_file)
|
19
|
-
let(:not_copied_file){ destination_dir.join("tmp/paraduct_workspace/dummy.txt") }
|
16
|
+
let(:source_dir) { temp_dir_path }
|
17
|
+
let(:destination_dir) { temp_dir_path.join("tmp/paraduct_workspace/RUBY_1.9_DATABASE_mysql") }
|
18
|
+
let(:copied_file) { destination_dir.join("build_success.sh") }
|
19
|
+
let(:not_copied_file) { destination_dir.join("tmp/paraduct_workspace/dummy.txt") }
|
20
20
|
|
21
21
|
before do
|
22
22
|
# setup
|