ceedling 0.15.3 → 0.15.4
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.
- data/Gemfile +1 -1
- data/Gemfile.lock +13 -9
- data/README.md +4 -0
- data/bin/ceedling +1 -1
- data/ceedling.gemspec +1 -1
- data/lib/ceedling/configurator_builder.rb +63 -70
- data/lib/ceedling/defaults.rb +9 -2
- data/lib/ceedling/dependinator.rb +4 -12
- data/lib/ceedling/tasks_base.rake +9 -16
- data/lib/ceedling/version.rb +1 -1
- data/spec/ceedling_spec.rb +13 -13
- data/spec/par_map_spec.rb +8 -8
- data/spec/preprocessinator_extractor_spec.rb +2 -2
- data/spec/preprocessinator_includes_handler_spec.rb +24 -24
- data/spec/spec_helper.rb +3 -3
- data/spec/spec_system_helper.rb +13 -13
- data/spec/system/deployment_spec.rb +9 -9
- data/test_graveyard/unit/busted/configurator_builder_test.rb +68 -70
- metadata +3 -6
- data/lib/ceedling/version.rb.erb +0 -16
- data/release/build.info +0 -2
- data/release/version.info +0 -1
data/spec/spec_helper.rb
CHANGED
data/spec/spec_system_helper.rb
CHANGED
@@ -124,10 +124,10 @@ module CeedlingTestCases
|
|
124
124
|
def can_create_projects
|
125
125
|
@c.with_context do
|
126
126
|
Dir.chdir @proj_name do
|
127
|
-
File.exists?("project.yml").
|
128
|
-
File.exists?("rakefile.rb").
|
129
|
-
File.exists?("src").
|
130
|
-
File.exists?("test").
|
127
|
+
expect(File.exists?("project.yml")).to eq true
|
128
|
+
expect(File.exists?("rakefile.rb")).to eq true
|
129
|
+
expect(File.exists?("src")).to eq true
|
130
|
+
expect(File.exists?("test")).to eq true
|
131
131
|
end
|
132
132
|
end
|
133
133
|
end
|
@@ -135,7 +135,7 @@ module CeedlingTestCases
|
|
135
135
|
def contains_a_vendor_directory
|
136
136
|
@c.with_context do
|
137
137
|
Dir.chdir @proj_name do
|
138
|
-
File.exists?("vendor/ceedling").
|
138
|
+
expect(File.exists?("vendor/ceedling")).to eq true
|
139
139
|
end
|
140
140
|
end
|
141
141
|
end
|
@@ -143,7 +143,7 @@ module CeedlingTestCases
|
|
143
143
|
def does_not_contain_a_vendor_directory
|
144
144
|
@c.with_context do
|
145
145
|
Dir.chdir @proj_name do
|
146
|
-
File.exists?("vendor/ceedling").
|
146
|
+
expect(File.exists?("vendor/ceedling")).to eq false
|
147
147
|
end
|
148
148
|
end
|
149
149
|
end
|
@@ -151,7 +151,7 @@ module CeedlingTestCases
|
|
151
151
|
def contains_documentation
|
152
152
|
@c.with_context do
|
153
153
|
Dir.chdir @proj_name do
|
154
|
-
Dir["vendor/ceedling/docs/*.pdf"].length.
|
154
|
+
expect(Dir["vendor/ceedling/docs/*.pdf"].length).to eq 4
|
155
155
|
end
|
156
156
|
end
|
157
157
|
end
|
@@ -159,8 +159,8 @@ module CeedlingTestCases
|
|
159
159
|
def does_not_contain_documentation
|
160
160
|
@c.with_context do
|
161
161
|
Dir.chdir @proj_name do
|
162
|
-
File.exists?("vendor/ceedling/docs").
|
163
|
-
Dir["vendor/ceedling/**/*.pdf"].length.
|
162
|
+
expect(File.exists?("vendor/ceedling/docs")).to eq false
|
163
|
+
expect(Dir["vendor/ceedling/**/*.pdf"].length).to eq 0
|
164
164
|
end
|
165
165
|
end
|
166
166
|
end
|
@@ -173,9 +173,9 @@ module CeedlingTestCases
|
|
173
173
|
FileUtils.cp test_asset_path("test_example_file.c"), 'test'
|
174
174
|
|
175
175
|
output = `bundle exec ruby -S rake test:all 2>&1`
|
176
|
-
output.
|
177
|
-
output.
|
178
|
-
output.
|
176
|
+
expect(output).to match(/TESTED:\s+2/)
|
177
|
+
expect(output).to match(/PASSED:\s+1/)
|
178
|
+
expect(output).to match(/IGNORED:\s+0/)
|
179
179
|
end
|
180
180
|
end
|
181
181
|
end
|
@@ -185,7 +185,7 @@ module CeedlingTestCases
|
|
185
185
|
Dir.chdir @proj_name do
|
186
186
|
`bundle exec ruby -S rake module:create[ponies] 2>&1`
|
187
187
|
output = `bundle exec ruby -S rake test:all 2>&1`
|
188
|
-
output.
|
188
|
+
expect(output).to match(/IGNORED:\s+1/)
|
189
189
|
end
|
190
190
|
end
|
191
191
|
end
|
@@ -64,9 +64,9 @@ describe "Ceedling" do
|
|
64
64
|
end
|
65
65
|
|
66
66
|
it "should list out all the examples" do
|
67
|
-
@output.
|
68
|
-
@output.
|
69
|
-
@output.lines.to_a.length.
|
67
|
+
expect(@output).to match(/blinky/)
|
68
|
+
expect(@output).to match(/temp_sensor/)
|
69
|
+
expect(@output.lines.to_a.length).to eq 3
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
@@ -75,7 +75,7 @@ describe "Ceedling" do
|
|
75
75
|
before do
|
76
76
|
@c.with_context do
|
77
77
|
output = `bundle exec ruby -S ceedling example temp_sensor 2>&1`
|
78
|
-
output.
|
78
|
+
expect(output).to match(/created!/)
|
79
79
|
end
|
80
80
|
end
|
81
81
|
|
@@ -83,8 +83,8 @@ describe "Ceedling" do
|
|
83
83
|
@c.with_context do
|
84
84
|
Dir.chdir "temp_sensor" do
|
85
85
|
@output = `bundle exec ruby -S rake test:all`
|
86
|
-
@output.
|
87
|
-
@output.
|
86
|
+
expect(@output).to match(/TESTED:\s+47/)
|
87
|
+
expect(@output).to match(/PASSED:\s+47/)
|
88
88
|
end
|
89
89
|
end
|
90
90
|
end
|
@@ -98,7 +98,7 @@ describe "Ceedling" do
|
|
98
98
|
# before do
|
99
99
|
# @c.with_context do
|
100
100
|
# output = `bundle exec ruby -S ceedling example blinky 2>&1`
|
101
|
-
# output.
|
101
|
+
# expect(output).to match(/created!/)
|
102
102
|
# end
|
103
103
|
# end
|
104
104
|
#
|
@@ -106,8 +106,8 @@ describe "Ceedling" do
|
|
106
106
|
# @c.with_context do
|
107
107
|
# Dir.chdir "blinky" do
|
108
108
|
# @output = `bundle exec ruby -S rake test:all`
|
109
|
-
# @output.
|
110
|
-
# @output.
|
109
|
+
# expect(@output).to match(/TESTED:\s+7/)
|
110
|
+
# expect(@output).to match(/PASSED:\s+7/)
|
111
111
|
# end
|
112
112
|
# end
|
113
113
|
# end
|
@@ -19,13 +19,13 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
19
19
|
|
20
20
|
should "insert tool names into tools config from their config hash key names" do
|
21
21
|
in_hash = {
|
22
|
-
:tools => {
|
22
|
+
:tools => {
|
23
23
|
:thinger => {:executable => '/bin/thinger', :arguments => ['-E']},
|
24
24
|
:zinger => {:executable => 'zinger', :arguments => ['-option', '-flag']}
|
25
25
|
}}
|
26
|
-
|
26
|
+
|
27
27
|
@builder.populate_tool_names(in_hash)
|
28
|
-
|
28
|
+
|
29
29
|
assert_equal('thinger', in_hash[:tools][:thinger][:name])
|
30
30
|
assert_equal('/bin/thinger', in_hash[:tools][:thinger][:executable])
|
31
31
|
assert_equal(['-E'], in_hash[:tools][:thinger][:arguments])
|
@@ -33,13 +33,13 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
33
33
|
assert_equal('zinger', in_hash[:tools][:zinger][:name])
|
34
34
|
assert_equal('zinger', in_hash[:tools][:zinger][:executable])
|
35
35
|
assert_equal(['-option', '-flag'], in_hash[:tools][:zinger][:arguments])
|
36
|
-
|
36
|
+
|
37
37
|
end
|
38
38
|
|
39
39
|
############# flattenify #############
|
40
|
-
|
40
|
+
|
41
41
|
should "flattenify keys and values contained in yaml and not blow up on empty top-level entries" do
|
42
|
-
|
42
|
+
|
43
43
|
config = %Q{
|
44
44
|
---
|
45
45
|
:project:
|
@@ -65,23 +65,23 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
65
65
|
...
|
66
66
|
}.left_margin
|
67
67
|
hash = @builder.flattenify( YAML.load(config) )
|
68
|
-
|
68
|
+
|
69
69
|
assert_equal(hash[:project_name], 'App')
|
70
70
|
assert_equal(hash[:project_dirs], ['.', 'gui', '../common/modules/'])
|
71
|
-
|
71
|
+
|
72
72
|
assert_equal(hash[:extension_obj], '.o')
|
73
73
|
assert_equal(hash[:extension_bin], '.out')
|
74
74
|
assert_equal(hash[:extension_dep], '.d')
|
75
|
-
|
75
|
+
|
76
76
|
assert_equal(hash[:cmock_mock_path], 'build/tests/mocks/')
|
77
|
-
assert_equal(hash[:cmock_plugins], ['cexception', 'ignore'])
|
77
|
+
assert_equal(hash[:cmock_plugins], ['cexception', 'ignore'])
|
78
78
|
end
|
79
79
|
|
80
80
|
############# defaults #############
|
81
81
|
|
82
82
|
should "populate all defaults for unspecified entries in config hash" do
|
83
83
|
# pass in blank configuration and ensure all defaults populated
|
84
|
-
assert_equal(DEFAULT_CEEDLING_CONFIG, @builder.populate_defaults({}))
|
84
|
+
assert_equal(DEFAULT_CEEDLING_CONFIG, @builder.populate_defaults({}))
|
85
85
|
end
|
86
86
|
|
87
87
|
should "not default any entry in input config hash that's already been set to something" do
|
@@ -96,7 +96,7 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
96
96
|
|
97
97
|
:paths_support => ['path/support'],
|
98
98
|
:paths_include => ['path/include'],
|
99
|
-
|
99
|
+
|
100
100
|
:defines_test => ['TEST_DEFINE'],
|
101
101
|
:defines_source => ['SOURCE_DEFINE'],
|
102
102
|
|
@@ -107,46 +107,46 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
107
107
|
:extension_testpass => '.p',
|
108
108
|
:extension_testfail => '.f',
|
109
109
|
:extension_dependencies => '.dep',
|
110
|
-
|
110
|
+
|
111
111
|
:unity_int_width => 16,
|
112
112
|
:unity_exclude_float => true,
|
113
|
-
:unity_float_type => 'double',
|
113
|
+
:unity_float_type => 'double',
|
114
114
|
:unity_float_precision => '0.0000001f',
|
115
|
-
|
115
|
+
|
116
116
|
:test_runner_includes => ['Common.h'],
|
117
117
|
:test_runner_file_suffix => '_walker',
|
118
|
-
|
118
|
+
|
119
119
|
:tools_includes_preprocessor => {:name => 'doohicky', :executable => 'exe', :arguments => []},
|
120
120
|
:tools_file_preprocessor => {:name => 'doohicky', :executable => 'exe', :arguments => []},
|
121
121
|
:tools_dependencies_generator => {:name => 'doohicky', :executable => 'exe', :arguments => []},
|
122
122
|
}
|
123
|
-
|
123
|
+
|
124
124
|
assert_equal(in_hash, @builder.populate_defaults(in_hash))
|
125
125
|
end
|
126
126
|
|
127
127
|
should "merge complex/nested values within default values" do
|
128
|
-
in_hash = {
|
128
|
+
in_hash = {
|
129
129
|
:tools_file_preprocessor => {:executable => '/bin/app'},
|
130
130
|
:tools_dependencies_generator => {:arguments => ['-option', '-flag']}
|
131
131
|
}
|
132
|
-
|
132
|
+
|
133
133
|
out_hash = @builder.populate_defaults(in_hash)
|
134
|
-
|
134
|
+
|
135
135
|
# default executable has been overwritten but default arguments remain
|
136
136
|
assert_equal('/bin/app', out_hash[:tools_file_preprocessor][:executable])
|
137
137
|
assert_equal(DEFAULT_FILE_PREPROCESSOR_TOOL[:arguments], out_hash[:tools_file_preprocessor][:arguments])
|
138
|
-
|
138
|
+
|
139
139
|
# default arguments have been overwritten but default executable remains
|
140
140
|
assert_equal(DEFAULT_DEPENDENCIES_GENERATOR_TOOL[:executable], out_hash[:tools_dependencies_generator][:executable])
|
141
|
-
assert_equal(['-option', '-flag'], out_hash[:tools_dependencies_generator][:arguments])
|
141
|
+
assert_equal(['-option', '-flag'], out_hash[:tools_dependencies_generator][:arguments])
|
142
142
|
end
|
143
143
|
|
144
144
|
should "preserve in defaulted configuration anything in input that's not a handled default" do
|
145
|
-
in_hash = {
|
145
|
+
in_hash = {
|
146
146
|
:yo => 'mama',
|
147
147
|
:be => 'all you can be'
|
148
148
|
}
|
149
|
-
|
149
|
+
|
150
150
|
assert_equal(DEFAULT_CEEDLING_CONFIG.merge(in_hash), @builder.populate_defaults(in_hash))
|
151
151
|
end
|
152
152
|
|
@@ -179,7 +179,7 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
179
179
|
out_hash = @builder.set_build_paths(in_hash)
|
180
180
|
|
181
181
|
assert_equal(expected_build_paths.sort, out_hash[:project_build_paths].sort)
|
182
|
-
|
182
|
+
|
183
183
|
assert_equal(expected_build_paths[0], out_hash[:project_test_runners_path])
|
184
184
|
assert_equal(expected_build_paths[1], out_hash[:project_test_results_path])
|
185
185
|
assert_equal(expected_build_paths[2], out_hash[:project_test_build_output_path])
|
@@ -201,9 +201,9 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
201
201
|
'files/build/tests/artifacts',
|
202
202
|
'files/build/release/out',
|
203
203
|
'files/build/release/artifacts',]
|
204
|
-
|
204
|
+
|
205
205
|
out_hash = @builder.set_build_paths(in_hash)
|
206
|
-
|
206
|
+
|
207
207
|
assert_equal(expected_build_paths.sort, out_hash[:project_build_paths].sort)
|
208
208
|
|
209
209
|
assert_equal(expected_build_paths[0], out_hash[:project_test_runners_path])
|
@@ -228,9 +228,9 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
228
228
|
'files/build/tests/artifacts',
|
229
229
|
'files/build/release/out',
|
230
230
|
'files/build/release/artifacts',]
|
231
|
-
|
231
|
+
|
232
232
|
out_hash = @builder.set_build_paths(in_hash)
|
233
|
-
|
233
|
+
|
234
234
|
assert_equal(expected_build_paths.sort, out_hash[:project_build_paths].sort)
|
235
235
|
|
236
236
|
assert_equal(expected_build_paths[0], out_hash[:project_test_runners_path])
|
@@ -256,9 +256,9 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
256
256
|
'files/build/tests/artifacts',
|
257
257
|
'files/build/release/out',
|
258
258
|
'files/build/release/artifacts',]
|
259
|
-
|
259
|
+
|
260
260
|
out_hash = @builder.set_build_paths(in_hash)
|
261
|
-
|
261
|
+
|
262
262
|
assert_equal(expected_build_paths.sort, out_hash[:project_build_paths].sort)
|
263
263
|
|
264
264
|
assert_equal(expected_build_paths[0], out_hash[:project_test_runners_path])
|
@@ -280,7 +280,7 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
280
280
|
"#{CEEDLING_LIB}tasks.rake",
|
281
281
|
"#{CEEDLING_LIB}tasks_filesystem.rake"].sort,
|
282
282
|
out_hash[:project_rakefile_component_files].sort)
|
283
|
-
|
283
|
+
|
284
284
|
in_hash = {:project_use_mocks => true}
|
285
285
|
out_hash = @builder.set_rakefile_components(in_hash)
|
286
286
|
assert_equal(
|
@@ -298,7 +298,7 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
298
298
|
"#{CEEDLING_LIB}rules_preprocess.rake",
|
299
299
|
"#{CEEDLING_LIB}tasks_filesystem.rake"].sort,
|
300
300
|
out_hash[:project_rakefile_component_files].sort)
|
301
|
-
|
301
|
+
|
302
302
|
in_hash = {:project_use_deep_dependencies => true}
|
303
303
|
out_hash = @builder.set_rakefile_components(in_hash)
|
304
304
|
assert_equal(
|
@@ -325,13 +325,13 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
325
325
|
should "collect all source and test include paths without optional mocks and exception paths" do
|
326
326
|
in_hash = {
|
327
327
|
:project_use_exceptions => false,
|
328
|
-
:project_use_mocks => false,
|
328
|
+
:project_use_mocks => false,
|
329
329
|
:paths_test => ['files/tests'],
|
330
330
|
:paths_support => ['files/tests/support'],
|
331
331
|
:paths_source => ['files/source'],
|
332
332
|
:paths_include => ['files/source/include'],
|
333
333
|
}
|
334
|
-
|
334
|
+
|
335
335
|
expected_include_paths = ['files/source', 'files/source/include', 'files/tests', 'files/tests/support', "#{CEEDLING_VENDOR}unity/src"]
|
336
336
|
|
337
337
|
out_hash = @builder.collect_test_and_source_include_paths(in_hash)
|
@@ -342,13 +342,13 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
342
342
|
should "collect all source and test include paths without optional mocks paths but with exception path" do
|
343
343
|
in_hash = {
|
344
344
|
:project_use_exceptions => true,
|
345
|
-
:project_use_mocks => false,
|
345
|
+
:project_use_mocks => false,
|
346
346
|
:paths_test => ['files/tests'],
|
347
347
|
:paths_support => ['files/tests/support'],
|
348
348
|
:paths_source => ['files/source'],
|
349
349
|
:paths_include => ['files/source/include'],
|
350
350
|
}
|
351
|
-
|
351
|
+
|
352
352
|
expected_include_paths = ['files/source', 'files/source/include', 'files/tests', 'files/tests/support', "#{CEEDLING_VENDOR}unity/src", "#{CEEDLING_VENDOR}c_exception/lib"]
|
353
353
|
|
354
354
|
out_hash = @builder.collect_test_and_source_include_paths(in_hash)
|
@@ -366,7 +366,7 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
366
366
|
:paths_source => ['files/source'],
|
367
367
|
:paths_include => ['files/source/include'],
|
368
368
|
}
|
369
|
-
|
369
|
+
|
370
370
|
expected_include_paths = ['files/source', 'files/source/include', 'files/tests', 'files/tests/support', "#{CEEDLING_VENDOR}unity/src", 'files/build/mocks']
|
371
371
|
|
372
372
|
out_hash = @builder.collect_test_and_source_include_paths(in_hash)
|
@@ -384,7 +384,7 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
384
384
|
:paths_source => ['files/source'],
|
385
385
|
:paths_include => ['files/source/include'],
|
386
386
|
}
|
387
|
-
|
387
|
+
|
388
388
|
expected_include_paths = ['files/source', 'files/source/include', 'files/tests', 'files/tests/support', "#{CEEDLING_VENDOR}unity/src", "#{CEEDLING_VENDOR}c_exception/lib", 'files/build/mocks']
|
389
389
|
|
390
390
|
out_hash = @builder.collect_test_and_source_include_paths(in_hash)
|
@@ -397,13 +397,13 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
397
397
|
should "collect all source and test paths without optional mocks and exception paths" do
|
398
398
|
in_hash = {
|
399
399
|
:project_use_exceptions => false,
|
400
|
-
:project_use_mocks => false,
|
400
|
+
:project_use_mocks => false,
|
401
401
|
:paths_test => ['files/tests'],
|
402
402
|
:paths_support => ['files/tests/support'],
|
403
403
|
:paths_source => ['files/source'],
|
404
404
|
:project_test_runners_path => 'files/build/runners',
|
405
405
|
}
|
406
|
-
|
406
|
+
|
407
407
|
expected_paths = ['files/tests', 'files/tests/support', 'files/source', 'files/build/runners', "#{CEEDLING_VENDOR}unity/src"]
|
408
408
|
|
409
409
|
out_hash = @builder.collect_test_and_source_paths(in_hash)
|
@@ -414,14 +414,14 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
414
414
|
should "collect all source and test paths with optional mocks path but without exception path" do
|
415
415
|
in_hash = {
|
416
416
|
:project_use_exceptions => false,
|
417
|
-
:project_use_mocks => true,
|
417
|
+
:project_use_mocks => true,
|
418
418
|
:paths_test => ['files/tests'],
|
419
419
|
:paths_support => ['files/tests/support'],
|
420
420
|
:paths_source => ['files/source'],
|
421
421
|
:project_test_runners_path => 'files/build/runners',
|
422
422
|
:cmock_mock_path => 'files/build/mocks',
|
423
423
|
}
|
424
|
-
|
424
|
+
|
425
425
|
expected_paths = ['files/tests', 'files/tests/support', 'files/source', 'files/build/runners', 'files/build/mocks', "#{CEEDLING_VENDOR}unity/src"]
|
426
426
|
|
427
427
|
out_hash = @builder.collect_test_and_source_paths(in_hash)
|
@@ -438,7 +438,7 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
438
438
|
:paths_source => ['files/source'],
|
439
439
|
:project_test_runners_path => 'files/build/runners',
|
440
440
|
}
|
441
|
-
|
441
|
+
|
442
442
|
expected_paths = ['files/tests', 'files/tests/support', 'files/source', 'files/build/runners', "#{CEEDLING_VENDOR}c_exception/lib", "#{CEEDLING_VENDOR}unity/src"]
|
443
443
|
|
444
444
|
out_hash = @builder.collect_test_and_source_paths(in_hash)
|
@@ -456,27 +456,27 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
456
456
|
:project_test_runners_path => 'files/build/runners',
|
457
457
|
:cmock_mock_path => 'files/build/mocks',
|
458
458
|
}
|
459
|
-
|
459
|
+
|
460
460
|
expected_paths = ['files/tests', 'files/tests/support', 'files/source', 'files/build/runners', 'files/build/mocks', "#{CEEDLING_VENDOR}c_exception/lib", "#{CEEDLING_VENDOR}unity/src"]
|
461
461
|
|
462
462
|
out_hash = @builder.collect_test_and_source_paths(in_hash)
|
463
463
|
|
464
464
|
assert_equal(expected_paths.sort, out_hash[:paths_test_and_source].sort)
|
465
465
|
end
|
466
|
-
|
466
|
+
|
467
467
|
############# all tests #############
|
468
|
-
|
468
|
+
|
469
469
|
should "collect all tests" do
|
470
470
|
in_hash = {
|
471
471
|
:paths_test => ['tests/main', 'tests/other/**'],
|
472
472
|
:project_test_file_prefix => 'Test',
|
473
473
|
:extension_source => '.c'}
|
474
|
-
|
474
|
+
|
475
475
|
@file_wrapper.expects.instantiate_file_list.returns(@file_list)
|
476
|
-
|
476
|
+
|
477
477
|
@file_list.expects.include('tests/main/Test*.c')
|
478
478
|
@file_list.expects.include('tests/other/**/Test*.c')
|
479
|
-
|
479
|
+
|
480
480
|
assert_equal({:collection_all_tests => @file_list}, @builder.collect_tests(in_hash))
|
481
481
|
end
|
482
482
|
|
@@ -486,12 +486,12 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
486
486
|
in_hash = {
|
487
487
|
:paths_source => ['files/source', 'files/modules/**'],
|
488
488
|
:extension_source => '.c'}
|
489
|
-
|
489
|
+
|
490
490
|
@file_wrapper.expects.instantiate_file_list.returns(@file_list)
|
491
|
-
|
491
|
+
|
492
492
|
@file_list.expects.include('files/source/*.c')
|
493
493
|
@file_list.expects.include('files/modules/**/*.c')
|
494
|
-
|
494
|
+
|
495
495
|
assert_equal({:collection_all_source => @file_list}, @builder.collect_source(in_hash))
|
496
496
|
end
|
497
497
|
|
@@ -503,14 +503,14 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
503
503
|
:paths_include => ['files/source/include'],
|
504
504
|
:paths_source => ['files/source', 'files/modules/**'],
|
505
505
|
:extension_header => '.h'}
|
506
|
-
|
506
|
+
|
507
507
|
@file_wrapper.expects.instantiate_file_list.returns(@file_list)
|
508
|
-
|
508
|
+
|
509
509
|
@file_list.expects.include('files/test/support/**/*.h')
|
510
510
|
@file_list.expects.include('files/source/*.h')
|
511
511
|
@file_list.expects.include('files/modules/**/*.h')
|
512
512
|
@file_list.expects.include('files/source/include/*.h')
|
513
|
-
|
513
|
+
|
514
514
|
assert_equal({:collection_all_headers => @file_list}, @builder.collect_headers(in_hash))
|
515
515
|
end
|
516
516
|
|
@@ -519,25 +519,23 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
519
519
|
should "collect environment source files plus project file but no user project file" do
|
520
520
|
@project_config_manager.expects.main_project_filepath.returns('/home/project/config/project.yaml')
|
521
521
|
@project_config_manager.expects.user_project_filepath.returns('')
|
522
|
-
|
522
|
+
|
523
523
|
out_hash = @builder.collect_code_generation_dependencies
|
524
|
-
|
524
|
+
|
525
525
|
assert_equal(
|
526
|
-
["#{
|
527
|
-
"#{CEEDLING_VENDOR}cmock/release/build.info",
|
526
|
+
["#{CEEDLING_VENDOR}cmock/release/build.info",
|
528
527
|
'/home/project/config/project.yaml'].sort,
|
529
528
|
out_hash[:collection_code_generation_dependencies].sort)
|
530
529
|
end
|
531
530
|
|
532
|
-
should "collect environment source files plus project file and user project file" do
|
531
|
+
should "collect environment source files plus project file and user project file" do
|
533
532
|
@project_config_manager.expects.main_project_filepath.returns('/home/project/config/project.yaml')
|
534
533
|
@project_config_manager.expects.user_project_filepath.returns('/home/project/config/user.yaml')
|
535
|
-
|
534
|
+
|
536
535
|
out_hash = @builder.collect_code_generation_dependencies
|
537
|
-
|
536
|
+
|
538
537
|
assert_equal(
|
539
|
-
["#{
|
540
|
-
"#{CEEDLING_VENDOR}cmock/release/build.info",
|
538
|
+
["#{CEEDLING_VENDOR}cmock/release/build.info",
|
541
539
|
'/home/project/config/project.yaml',
|
542
540
|
'/home/project/config/user.yaml'].sort,
|
543
541
|
out_hash[:collection_code_generation_dependencies].sort)
|
@@ -546,7 +544,7 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
546
544
|
############# expand path globs #############
|
547
545
|
|
548
546
|
should "inspect each element of paths in config hash and expand any and all globs into a collection" do
|
549
|
-
|
547
|
+
|
550
548
|
create_mocks(:paths_collection1, :paths_collection2, :paths_collection3)
|
551
549
|
in_hash = {
|
552
550
|
:path_dummy => [],
|
@@ -555,17 +553,17 @@ class ConfiguratorBuilderTest < Test::Unit::TestCase
|
|
555
553
|
:paths_to_destruction => ['paths/sin', 'paths/avarice'],
|
556
554
|
:whatever => 'blah blah blah',
|
557
555
|
}
|
558
|
-
|
556
|
+
|
559
557
|
@file_system_utils.expects.collect_paths(['oh', 'yeah']).returns(@paths_collection1)
|
560
558
|
@file_system_utils.expects.collect_paths(['files/source', 'files/modules/**']).returns(@paths_collection2)
|
561
559
|
@file_system_utils.expects.collect_paths(['paths/sin', 'paths/avarice']).returns(@paths_collection3)
|
562
|
-
|
560
|
+
|
563
561
|
out_hash = @builder.expand_all_path_globs(in_hash)
|
564
562
|
|
565
563
|
assert_equal(@paths_collection1, out_hash[:collection_paths_custom])
|
566
564
|
assert_equal(@paths_collection2, out_hash[:collection_paths_source])
|
567
|
-
assert_equal(@paths_collection3, out_hash[:collection_paths_to_destruction])
|
565
|
+
assert_equal(@paths_collection3, out_hash[:collection_paths_to_destruction])
|
568
566
|
end
|
569
|
-
|
567
|
+
|
570
568
|
end
|
571
569
|
|