ceedling 0.0.12 → 0.0.13
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/lib/ceedling/version.rb +3 -3
- data/lib/ceedling/version.rb.erb +1 -1
- data/new_project_template/vendor/ceedling/lib/build_invoker_helper.rb +14 -3
- data/new_project_template/vendor/ceedling/lib/configurator.rb +3 -2
- data/new_project_template/vendor/ceedling/lib/constants.rb +4 -0
- data/new_project_template/vendor/ceedling/lib/objects.yml +2 -1
- data/new_project_template/vendor/ceedling/lib/release_invoker.rb +18 -4
- data/new_project_template/vendor/ceedling/lib/tasks_filesystem.rake +1 -0
- data/new_project_template/vendor/ceedling/lib/tasks_release.rake +8 -0
- data/new_project_template/vendor/ceedling/lib/tasks_tests.rake +12 -4
- data/new_project_template/vendor/ceedling/lib/test_invoker.rb +19 -5
- data/new_project_template/vendor/ceedling/lib/test_invoker_helper.rb +2 -5
- data/new_project_template/vendor/ceedling/lib/tool_executor_helper.rb +2 -2
- data/new_project_template/vendor/ceedling/plugins/bullseye/bullseye.rake +16 -6
- data/new_project_template/vendor/ceedling/plugins/bullseye/bullseye.rb +5 -3
- data/new_project_template/vendor/ceedling/plugins/bullseye/defaults.yml +4 -1
- data/new_project_template/vendor/ceedling/plugins/gcov/defaults.yml +1 -1
- data/new_project_template/vendor/ceedling/plugins/gcov/gcov.rake +15 -9
- data/new_project_template/vendor/ceedling/plugins/gcov/gcov.rb +5 -3
- data/new_project_template/vendor/ceedling/release/build.info +1 -1
- data/new_project_template/vendor/ceedling/vendor/unity/release/build.info +1 -1
- data/new_project_template/vendor/ceedling/vendor/unity/src/unity.h +2 -0
- data/new_project_template/vendor/ceedling/vendor/unity/src/unity_internals.h +4 -0
- metadata +4 -4
data/lib/ceedling/version.rb
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
module Ceedling
|
3
3
|
module Version
|
4
4
|
# @private
|
5
|
-
GEM = "0.0.
|
5
|
+
GEM = "0.0.13"
|
6
6
|
|
7
7
|
# @private
|
8
|
-
CEEDLING = "0.9.
|
8
|
+
CEEDLING = "0.9.196"
|
9
9
|
# @private
|
10
10
|
CEXCEPTION = "1.2.17"
|
11
11
|
# @private
|
12
12
|
CMOCK = "2.0.213"
|
13
13
|
# @private
|
14
|
-
UNITY = "2.0.
|
14
|
+
UNITY = "2.0.135"
|
15
15
|
end
|
16
16
|
end
|
data/lib/ceedling/version.rb.erb
CHANGED
@@ -1,12 +1,23 @@
|
|
1
|
+
require 'constants'
|
2
|
+
|
1
3
|
|
2
4
|
class BuildInvokerHelper
|
3
5
|
|
4
6
|
constructor :configurator, :streaminator
|
5
7
|
|
6
|
-
def process_exception(exception)
|
8
|
+
def process_exception(exception, context, test_build=true)
|
7
9
|
if (exception.message =~ /Don't know how to build task '(.+)'/i)
|
8
|
-
|
9
|
-
|
10
|
+
error_header = "ERROR: Rake could not find file referenced in source"
|
11
|
+
error_header += " or test" if (test_build)
|
12
|
+
error_header += ": '#{$1}'. Possible stale dependency."
|
13
|
+
|
14
|
+
@streaminator.stderr_puts( error_header )
|
15
|
+
|
16
|
+
if (@configurator.project_use_auxiliary_dependencies)
|
17
|
+
help_message = "Try fixing #include statements or adding missing file. Then run '#{REFRESH_TASK_ROOT}#{context.to_s}' task and try again."
|
18
|
+
@streaminator.stderr_puts( help_message )
|
19
|
+
end
|
20
|
+
|
10
21
|
raise ''
|
11
22
|
else
|
12
23
|
raise exception
|
@@ -135,12 +135,13 @@ class Configurator
|
|
135
135
|
end
|
136
136
|
|
137
137
|
def tools_supplement_arguments(config)
|
138
|
+
tools_name_prefix = 'tools_'
|
138
139
|
config[:tools].each_key do |name|
|
139
|
-
tool = @project_config_hash[(
|
140
|
+
tool = @project_config_hash[(tools_name_prefix + name.to_s).to_sym]
|
140
141
|
|
141
142
|
# smoosh in extra arguments if specified at top-level of config (useful for plugins & default gcc tools)
|
142
143
|
# arguments are squirted in at beginning of list
|
143
|
-
top_level_tool = (
|
144
|
+
top_level_tool = (tools_name_prefix + name.to_s).to_sym
|
144
145
|
if (not config[top_level_tool].nil?)
|
145
146
|
# adding and flattening is not a good idea: might over-flatten if there's array nesting in tool args
|
146
147
|
# use _with_index to preserve order
|
@@ -68,6 +68,10 @@ RELEASE_ROOT_NAME = 'release'
|
|
68
68
|
RELEASE_TASK_ROOT = RELEASE_ROOT_NAME + ':'
|
69
69
|
RELEASE_SYM = RELEASE_ROOT_NAME.to_sym
|
70
70
|
|
71
|
+
REFRESH_ROOT_NAME = 'refresh'
|
72
|
+
REFRESH_TASK_ROOT = REFRESH_ROOT_NAME + ':'
|
73
|
+
REFRESH_SYM = REFRESH_ROOT_NAME.to_sym
|
74
|
+
|
71
75
|
UTILS_ROOT_NAME = 'utils'
|
72
76
|
UTILS_TASK_ROOT = UTILS_ROOT_NAME + ':'
|
73
77
|
UTILS_SYM = UTILS_ROOT_NAME.to_sym
|
@@ -264,12 +264,12 @@ test_invoker:
|
|
264
264
|
- dependinator
|
265
265
|
- project_config_manager
|
266
266
|
- file_path_utils
|
267
|
+
- file_wrapper
|
267
268
|
|
268
269
|
test_invoker_helper:
|
269
270
|
compose:
|
270
271
|
- configurator
|
271
272
|
- task_invoker
|
272
|
-
- dependinator
|
273
273
|
- test_includes_extractor
|
274
274
|
- file_finder
|
275
275
|
- file_path_utils
|
@@ -283,6 +283,7 @@ release_invoker:
|
|
283
283
|
- dependinator
|
284
284
|
- task_invoker
|
285
285
|
- file_path_utils
|
286
|
+
- file_wrapper
|
286
287
|
|
287
288
|
release_invoker_helper:
|
288
289
|
compose:
|
@@ -1,12 +1,13 @@
|
|
1
|
+
require 'constants'
|
1
2
|
|
2
3
|
|
3
4
|
class ReleaseInvoker
|
4
5
|
|
5
|
-
constructor :configurator, :release_invoker_helper, :build_invoker_helper, :dependinator, :task_invoker, :file_path_utils
|
6
|
+
constructor :configurator, :release_invoker_helper, :build_invoker_helper, :dependinator, :task_invoker, :file_path_utils, :file_wrapper
|
6
7
|
|
7
8
|
|
8
9
|
def setup_and_invoke_c_objects(c_files)
|
9
|
-
objects =
|
10
|
+
objects = @file_path_utils.form_release_build_c_objects_filelist( c_files )
|
10
11
|
|
11
12
|
begin
|
12
13
|
@release_invoker_helper.process_auxiliary_dependencies( @file_path_utils.form_release_dependencies_filelist( c_files ) )
|
@@ -14,7 +15,7 @@ class ReleaseInvoker
|
|
14
15
|
@dependinator.enhance_release_file_dependencies( objects )
|
15
16
|
@task_invoker.invoke_release_objects( objects )
|
16
17
|
rescue => e
|
17
|
-
@build_invoker_helper.process_exception(e)
|
18
|
+
@build_invoker_helper.process_exception( e, RELEASE_SYM, false )
|
18
19
|
end
|
19
20
|
|
20
21
|
return objects
|
@@ -28,10 +29,23 @@ class ReleaseInvoker
|
|
28
29
|
@dependinator.enhance_release_file_dependencies( objects )
|
29
30
|
@task_invoker.invoke_release_objects( objects )
|
30
31
|
rescue => e
|
31
|
-
@build_invoker_helper.process_exception(e)
|
32
|
+
@build_invoker_helper.process_exception( e, RELEASE_SYM, false )
|
32
33
|
end
|
33
34
|
|
34
35
|
return objects
|
35
36
|
end
|
36
37
|
|
38
|
+
|
39
|
+
def refresh_c_auxiliary_dependencies
|
40
|
+
return if (not @configurator.project_use_auxiliary_dependencies)
|
41
|
+
|
42
|
+
@file_wrapper.rm_f(
|
43
|
+
@file_wrapper.directory_listing(
|
44
|
+
File.join( @configurator.project_release_dependencies_path, '*' + @configurator.extension_dependencies ) ) )
|
45
|
+
|
46
|
+
@release_invoker_helper.process_auxiliary_dependencies(
|
47
|
+
@file_path_utils.form_release_dependencies_filelist(
|
48
|
+
@configurator.collection_all_source ) )
|
49
|
+
end
|
50
|
+
|
37
51
|
end
|
@@ -9,6 +9,7 @@ CLEAN.include(File.join(PROJECT_TEST_BUILD_OUTPUT_PATH, '*'))
|
|
9
9
|
CLEAN.include(File.join(PROJECT_TEST_RESULTS_PATH, '*'))
|
10
10
|
CLEAN.include(File.join(PROJECT_TEST_DEPENDENCIES_PATH, '*'))
|
11
11
|
CLEAN.include(File.join(PROJECT_RELEASE_BUILD_OUTPUT_PATH, '*'))
|
12
|
+
CLEAN.include(File.join(PROJECT_RELEASE_DEPENDENCIES_PATH, '*'))
|
12
13
|
|
13
14
|
CLOBBER.include(File.join(PROJECT_BUILD_ARTIFACTS_ROOT, '**/*'))
|
14
15
|
CLOBBER.include(File.join(PROJECT_BUILD_TESTS_ROOT, '**/*'))
|
@@ -20,3 +20,11 @@ task RELEASE_SYM => [:directories] do
|
|
20
20
|
Rake::Task[PROJECT_RELEASE_BUILD_TARGET].invoke
|
21
21
|
end
|
22
22
|
|
23
|
+
|
24
|
+
if PROJECT_USE_AUXILIARY_DEPENDENCIES
|
25
|
+
namespace REFRESH_SYM do
|
26
|
+
task RELEASE_SYM do
|
27
|
+
@ceedling[:release_invoker].refresh_c_auxiliary_dependencies
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -17,7 +17,7 @@ namespace TEST_SYM do
|
|
17
17
|
|
18
18
|
desc "Run tests for changed files."
|
19
19
|
task :delta => [:directories] do
|
20
|
-
@ceedling[:test_invoker].setup_and_invoke(COLLECTION_ALL_TESTS, {:force_run => false})
|
20
|
+
@ceedling[:test_invoker].setup_and_invoke(COLLECTION_ALL_TESTS, TEST_SYM, {:force_run => false})
|
21
21
|
end
|
22
22
|
|
23
23
|
desc "Run tests by matching regular expression pattern."
|
@@ -27,7 +27,7 @@ namespace TEST_SYM do
|
|
27
27
|
COLLECTION_ALL_TESTS.each { |test| matches << test if (test =~ /#{args.regex}/) }
|
28
28
|
|
29
29
|
if (matches.size > 0)
|
30
|
-
@ceedling[:test_invoker].setup_and_invoke(matches, {:force_run => false})
|
30
|
+
@ceedling[:test_invoker].setup_and_invoke(matches, TEST_SYM, {:force_run => false})
|
31
31
|
else
|
32
32
|
@ceedling[:streaminator].stdout_puts("\nFound no tests matching pattern /#{args.regex}/.")
|
33
33
|
end
|
@@ -40,10 +40,18 @@ namespace TEST_SYM do
|
|
40
40
|
COLLECTION_ALL_TESTS.each { |test| matches << test if File.dirname(test).include?(args.dir.gsub(/\\/, '/')) }
|
41
41
|
|
42
42
|
if (matches.size > 0)
|
43
|
-
@ceedling[:test_invoker].setup_and_invoke(matches, {:force_run => false})
|
43
|
+
@ceedling[:test_invoker].setup_and_invoke(matches, TEST_SYM, {:force_run => false})
|
44
44
|
else
|
45
45
|
@ceedling[:streaminator].stdout_puts("\nFound no tests including the given path or path component.")
|
46
46
|
end
|
47
47
|
end
|
48
|
-
|
48
|
+
|
49
|
+
end
|
50
|
+
|
51
|
+
if PROJECT_USE_AUXILIARY_DEPENDENCIES
|
52
|
+
namespace REFRESH_SYM do
|
53
|
+
task TEST_SYM do
|
54
|
+
@ceedling[:test_invoker].refresh_auxiliary_dependencies
|
55
|
+
end
|
56
|
+
end
|
49
57
|
end
|
@@ -1,9 +1,11 @@
|
|
1
|
+
require 'constants'
|
2
|
+
|
1
3
|
|
2
4
|
class TestInvoker
|
3
5
|
|
4
6
|
attr_reader :sources, :tests, :mocks
|
5
7
|
|
6
|
-
constructor :configurator, :test_invoker_helper, :build_invoker_helper, :streaminator, :preprocessinator, :task_invoker, :dependinator, :project_config_manager, :file_path_utils
|
8
|
+
constructor :configurator, :test_invoker_helper, :build_invoker_helper, :streaminator, :preprocessinator, :task_invoker, :dependinator, :project_config_manager, :file_path_utils, :file_wrapper
|
7
9
|
|
8
10
|
def setup
|
9
11
|
@sources = []
|
@@ -11,7 +13,7 @@ class TestInvoker
|
|
11
13
|
@mocks = []
|
12
14
|
end
|
13
15
|
|
14
|
-
def setup_and_invoke(tests, options={:force_run => true})
|
16
|
+
def setup_and_invoke(tests, context=TEST_SYM, options={:force_run => true})
|
15
17
|
|
16
18
|
@tests = tests
|
17
19
|
|
@@ -37,7 +39,9 @@ class TestInvoker
|
|
37
39
|
@test_invoker_helper.clean_results( {:pass => results_pass, :fail => results_fail}, options )
|
38
40
|
|
39
41
|
# load up auxiliary dependencies so deep changes cause rebuilding appropriately
|
40
|
-
@test_invoker_helper.process_auxiliary_dependencies( core )
|
42
|
+
@test_invoker_helper.process_auxiliary_dependencies( core ) do |dependencies_list|
|
43
|
+
@dependinator.load_test_object_deep_dependencies( dependencies_list )
|
44
|
+
end
|
41
45
|
|
42
46
|
# tell rake to create test runner if needed
|
43
47
|
@task_invoker.invoke_test_runner( runner )
|
@@ -49,9 +53,9 @@ class TestInvoker
|
|
49
53
|
@dependinator.setup_test_executable_dependencies( test, objects )
|
50
54
|
|
51
55
|
# 3, 2, 1... launch
|
52
|
-
@task_invoker.invoke_test_results( results_pass )
|
56
|
+
@task_invoker.invoke_test_results( results_pass )
|
53
57
|
rescue => e
|
54
|
-
@build_invoker_helper.process_exception(e)
|
58
|
+
@build_invoker_helper.process_exception( e, context )
|
55
59
|
end
|
56
60
|
|
57
61
|
# store away what's been processed
|
@@ -66,4 +70,14 @@ class TestInvoker
|
|
66
70
|
@sources.uniq!
|
67
71
|
end
|
68
72
|
|
73
|
+
|
74
|
+
def refresh_auxiliary_dependencies
|
75
|
+
@file_wrapper.rm_f(
|
76
|
+
@file_wrapper.directory_listing(
|
77
|
+
File.join( @configurator.project_test_dependencies_path, '*' + @configurator.extension_dependencies ) ) )
|
78
|
+
|
79
|
+
@test_invoker_helper.process_auxiliary_dependencies(
|
80
|
+
@configurator.collection_all_tests + @configurator.collection_all_source )
|
81
|
+
end
|
82
|
+
|
69
83
|
end
|
@@ -1,10 +1,7 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'rake' # for ext()
|
3
|
-
|
4
1
|
|
5
2
|
class TestInvokerHelper
|
6
3
|
|
7
|
-
constructor :configurator, :task_invoker, :
|
4
|
+
constructor :configurator, :task_invoker, :test_includes_extractor, :file_finder, :file_path_utils, :file_wrapper
|
8
5
|
|
9
6
|
def clean_results(results, options)
|
10
7
|
@file_wrapper.rm_f( results[:fail] )
|
@@ -16,7 +13,7 @@ class TestInvokerHelper
|
|
16
13
|
|
17
14
|
dependencies_list = @file_path_utils.form_test_dependencies_filelist( files )
|
18
15
|
@task_invoker.invoke_test_dependencies_files( dependencies_list )
|
19
|
-
|
16
|
+
yield( dependencies_list ) if block_given?
|
20
17
|
end
|
21
18
|
|
22
19
|
def extract_sources(test)
|
@@ -83,7 +83,7 @@ class ToolExecutorHelper
|
|
83
83
|
end
|
84
84
|
|
85
85
|
# if command succeeded and we have verbosity cranked up, spill our guts
|
86
|
-
def print_happy_results(command_str, shell_result, boom)
|
86
|
+
def print_happy_results(command_str, shell_result, boom=true)
|
87
87
|
if ((shell_result[:exit_code] == 0) or ((shell_result[:exit_code] != 0) and not boom))
|
88
88
|
output = "> Shell executed command:\n"
|
89
89
|
output += "#{command_str}\n"
|
@@ -97,7 +97,7 @@ class ToolExecutorHelper
|
|
97
97
|
end
|
98
98
|
|
99
99
|
# if command failed and we have verbosity set to minimum error level, spill our guts
|
100
|
-
def print_error_results(command_str, shell_result, boom)
|
100
|
+
def print_error_results(command_str, shell_result, boom=true)
|
101
101
|
if ((shell_result[:exit_code] != 0) and boom)
|
102
102
|
output = "ERROR: Shell command failed.\n"
|
103
103
|
output += "> Shell executed command:\n"
|
@@ -69,7 +69,7 @@ namespace BULLSEYE_SYM do
|
|
69
69
|
desc "Run code coverage for all tests"
|
70
70
|
task :all => [:directories] do
|
71
71
|
@ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_SYM].config)
|
72
|
-
@ceedling[:test_invoker].setup_and_invoke(COLLECTION_ALL_TESTS)
|
72
|
+
@ceedling[:test_invoker].setup_and_invoke(COLLECTION_ALL_TESTS, BULLSEYE_SYM)
|
73
73
|
@ceedling[:configurator].restore_config
|
74
74
|
end
|
75
75
|
|
@@ -92,7 +92,7 @@ namespace BULLSEYE_SYM do
|
|
92
92
|
|
93
93
|
if (matches.size > 0)
|
94
94
|
@ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_SYM].config)
|
95
|
-
@ceedling[:test_invoker].setup_and_invoke(matches, {:force_run => false})
|
95
|
+
@ceedling[:test_invoker].setup_and_invoke(matches, BULLSEYE_SYM, {:force_run => false})
|
96
96
|
@ceedling[:configurator].restore_config
|
97
97
|
else
|
98
98
|
@ceedling[:streaminator].stdout_puts("\nFound no tests matching pattern /#{args.regex}/.")
|
@@ -109,7 +109,7 @@ namespace BULLSEYE_SYM do
|
|
109
109
|
|
110
110
|
if (matches.size > 0)
|
111
111
|
@ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_SYM].config)
|
112
|
-
@ceedling[:test_invoker].setup_and_invoke(matches, {:force_run => false})
|
112
|
+
@ceedling[:test_invoker].setup_and_invoke(matches, BULLSEYE_SYM, {:force_run => false})
|
113
113
|
@ceedling[:configurator].restore_config
|
114
114
|
else
|
115
115
|
@ceedling[:streaminator].stdout_puts("\nFound no tests including the given path or path component.")
|
@@ -119,7 +119,7 @@ namespace BULLSEYE_SYM do
|
|
119
119
|
desc "Run code coverage for changed files"
|
120
120
|
task :delta => [:directories] do
|
121
121
|
@ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_SYM].config)
|
122
|
-
@ceedling[:test_invoker].setup_and_invoke(COLLECTION_ALL_TESTS, {:force_run => false})
|
122
|
+
@ceedling[:test_invoker].setup_and_invoke(COLLECTION_ALL_TESTS, BULLSEYE_SYM, {:force_run => false})
|
123
123
|
@ceedling[:configurator].restore_config
|
124
124
|
end
|
125
125
|
|
@@ -134,10 +134,20 @@ namespace BULLSEYE_SYM do
|
|
134
134
|
]) do |test|
|
135
135
|
@ceedling[:rake_wrapper][:directories].invoke
|
136
136
|
@ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_SYM].config)
|
137
|
-
@ceedling[:test_invoker].setup_and_invoke([test.source])
|
137
|
+
@ceedling[:test_invoker].setup_and_invoke([test.source], BULLSEYE_SYM)
|
138
138
|
@ceedling[:configurator].restore_config
|
139
139
|
end
|
140
|
-
|
140
|
+
|
141
|
+
end
|
142
|
+
|
143
|
+
if PROJECT_USE_AUXILIARY_DEPENDENCIES
|
144
|
+
namespace REFRESH_SYM do
|
145
|
+
task BULLSEYE_SYM do
|
146
|
+
@ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_SYM].config)
|
147
|
+
@ceedling[:test_invoker].refresh_auxiliary_dependencies
|
148
|
+
@ceedling[:configurator].restore_config
|
149
|
+
end
|
150
|
+
end
|
141
151
|
end
|
142
152
|
|
143
153
|
namespace UTILS_SYM do
|
@@ -22,9 +22,11 @@ class Bullseye < Plugin
|
|
22
22
|
@result_list = []
|
23
23
|
|
24
24
|
@config = {
|
25
|
-
:project_test_build_output_path
|
26
|
-
:project_test_results_path
|
27
|
-
:project_test_dependencies_path
|
25
|
+
:project_test_build_output_path => BULLSEYE_BUILD_OUTPUT_PATH,
|
26
|
+
:project_test_results_path => BULLSEYE_RESULTS_PATH,
|
27
|
+
:project_test_dependencies_path => BULLSEYE_DEPENDENCIES_PATH,
|
28
|
+
:defines_test => DEFINES_TEST + ['CODE_COVERAGE'],
|
29
|
+
:collection_defines_test_and_vendor => COLLECTION_DEFINES_TEST_AND_VENDOR + ['CODE_COVERAGE']
|
28
30
|
}
|
29
31
|
|
30
32
|
@environment = [ {:covfile => File.join( BULLSEYE_ARTIFACTS_PATH, 'test.cov' )} ]
|
@@ -1,5 +1,8 @@
|
|
1
1
|
---
|
2
2
|
|
3
|
+
:paths:
|
4
|
+
:bullseye_toolchain_include: []
|
5
|
+
|
3
6
|
:tools:
|
4
7
|
:bullseye_instrumentation:
|
5
8
|
:executable: covc
|
@@ -14,7 +17,7 @@
|
|
14
17
|
- -I"$": COLLECTION_PATHS_TEST_SUPPORT_SOURCE_INCLUDE_VENDOR
|
15
18
|
- -I"$": COLLECTION_PATHS_BULLSEYE_TOOLCHAIN_INCLUDE
|
16
19
|
- -D$: COLLECTION_DEFINES_TEST_AND_VENDOR
|
17
|
-
- -
|
20
|
+
- -DBULLSEYE_COMPILER
|
18
21
|
- -c "${1}"
|
19
22
|
- -o "${2}"
|
20
23
|
:bullseye_linker:
|
@@ -69,7 +69,7 @@ namespace GCOV_SYM do
|
|
69
69
|
desc "Run code coverage for all tests"
|
70
70
|
task :all => [:directories] do
|
71
71
|
@ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_SYM].config)
|
72
|
-
@ceedling[:test_invoker].setup_and_invoke(COLLECTION_ALL_TESTS)
|
72
|
+
@ceedling[:test_invoker].setup_and_invoke(COLLECTION_ALL_TESTS, GCOV_SYM)
|
73
73
|
@ceedling[:configurator].restore_config
|
74
74
|
end
|
75
75
|
|
@@ -92,7 +92,7 @@ namespace GCOV_SYM do
|
|
92
92
|
|
93
93
|
if (matches.size > 0)
|
94
94
|
@ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_SYM].config)
|
95
|
-
@ceedling[:test_invoker].setup_and_invoke(matches, {:force_run => false})
|
95
|
+
@ceedling[:test_invoker].setup_and_invoke(matches, GCOV_SYM, {:force_run => false})
|
96
96
|
@ceedling[:configurator].restore_config
|
97
97
|
else
|
98
98
|
@ceedling[:streaminator].stdout_puts("\nFound no tests matching pattern /#{args.regex}/.")
|
@@ -109,7 +109,7 @@ namespace GCOV_SYM do
|
|
109
109
|
|
110
110
|
if (matches.size > 0)
|
111
111
|
@ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_SYM].config)
|
112
|
-
@ceedling[:test_invoker].setup_and_invoke(matches, {:force_run => false})
|
112
|
+
@ceedling[:test_invoker].setup_and_invoke(matches, GCOV_SYM, {:force_run => false})
|
113
113
|
@ceedling[:configurator].restore_config
|
114
114
|
else
|
115
115
|
@ceedling[:streaminator].stdout_puts("\nFound no tests including the given path or path component.")
|
@@ -119,7 +119,7 @@ namespace GCOV_SYM do
|
|
119
119
|
desc "Run code coverage for changed files"
|
120
120
|
task :delta => [:directories] do
|
121
121
|
@ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_SYM].config)
|
122
|
-
@ceedling[:test_invoker].setup_and_invoke(COLLECTION_ALL_TESTS, {:force_run => false})
|
122
|
+
@ceedling[:test_invoker].setup_and_invoke(COLLECTION_ALL_TESTS, GCOV_SYM, {:force_run => false})
|
123
123
|
@ceedling[:configurator].restore_config
|
124
124
|
end
|
125
125
|
|
@@ -134,13 +134,19 @@ namespace GCOV_SYM do
|
|
134
134
|
]) do |test|
|
135
135
|
@ceedling[:rake_wrapper][:directories].invoke
|
136
136
|
@ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_SYM].config)
|
137
|
-
@ceedling[:test_invoker].setup_and_invoke([test.source])
|
137
|
+
@ceedling[:test_invoker].setup_and_invoke([test.source], GCOV_SYM)
|
138
138
|
@ceedling[:configurator].restore_config
|
139
139
|
end
|
140
140
|
|
141
|
-
|
142
|
-
task :open do
|
143
|
-
sh "start CoverageBrowser.exe #{ENVIRONMENT_COVFILE}"
|
144
|
-
end
|
141
|
+
end
|
145
142
|
|
143
|
+
if PROJECT_USE_AUXILIARY_DEPENDENCIES
|
144
|
+
namespace REFRESH_SYM do
|
145
|
+
task GCOV_SYM do
|
146
|
+
@ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_SYM].config)
|
147
|
+
@ceedling[:test_invoker].refresh_auxiliary_dependencies
|
148
|
+
@ceedling[:configurator].restore_config
|
149
|
+
end
|
150
|
+
end
|
146
151
|
end
|
152
|
+
|
@@ -22,9 +22,11 @@ class Gcov < Plugin
|
|
22
22
|
@result_list = []
|
23
23
|
|
24
24
|
@config = {
|
25
|
-
:project_test_build_output_path
|
26
|
-
:project_test_results_path
|
27
|
-
:project_test_dependencies_path
|
25
|
+
:project_test_build_output_path => GCOV_BUILD_OUTPUT_PATH,
|
26
|
+
:project_test_results_path => GCOV_RESULTS_PATH,
|
27
|
+
:project_test_dependencies_path => GCOV_DEPENDENCIES_PATH,
|
28
|
+
:defines_test => DEFINES_TEST + ['CODE_COVERAGE'],
|
29
|
+
:collection_defines_test_and_vendor => COLLECTION_DEFINES_TEST_AND_VENDOR + ['CODE_COVERAGE']
|
28
30
|
}
|
29
31
|
|
30
32
|
@coverage_template_all = @ceedling[:file_wrapper].read( File.join( PLUGINS_GCOV_PATH, 'template.erb') )
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
196
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
135
|
@@ -134,6 +134,7 @@
|
|
134
134
|
#define TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, __LINE__, NULL)
|
135
135
|
#define TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, __LINE__, NULL)
|
136
136
|
#define TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, __LINE__, NULL)
|
137
|
+
#define TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, __LINE__, NULL)
|
137
138
|
#define TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, __LINE__, NULL)
|
138
139
|
#define TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, __LINE__, NULL)
|
139
140
|
|
@@ -214,6 +215,7 @@
|
|
214
215
|
#define TEST_ASSERT_EQUAL_HEX16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, __LINE__, message)
|
215
216
|
#define TEST_ASSERT_EQUAL_HEX32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, __LINE__, message)
|
216
217
|
#define TEST_ASSERT_EQUAL_HEX64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, __LINE__, message)
|
218
|
+
#define TEST_ASSERT_EQUAL_PTR_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, __LINE__, message)
|
217
219
|
#define TEST_ASSERT_EQUAL_STRING_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, __LINE__, message)
|
218
220
|
#define TEST_ASSERT_EQUAL_MEMORY_ARRAY_MESSAGE(expected, actual, len, num_elements, message) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, __LINE__, message)
|
219
221
|
|
@@ -79,6 +79,9 @@ typedef _US64 _U_SINT;
|
|
79
79
|
typedef _UU32 _UP;
|
80
80
|
#define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX32
|
81
81
|
#elif (UNITY_POINTER_WIDTH == 64)
|
82
|
+
#ifndef UNITY_SUPPORT_64
|
83
|
+
#error "You've Specified 64-bit pointers without enabling 64-bit Support. Define UNITY_SUPPORT_64"
|
84
|
+
#endif
|
82
85
|
typedef _UU64 _UP;
|
83
86
|
#define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX64
|
84
87
|
#elif (UNITY_POINTER_WIDTH == 16)
|
@@ -374,6 +377,7 @@ void UnityAssertEqualDoubleArray(const _UD* expected,
|
|
374
377
|
#define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX8)
|
375
378
|
#define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX16)
|
376
379
|
#define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX32)
|
380
|
+
#define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(_UP*)(expected), (const _U_SINT*)(_UP*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_POINTER)
|
377
381
|
#define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((const char**)(expected), (const char**)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line)
|
378
382
|
#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((void*)(expected), (void*)(actual), (_UU32)(len), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line)
|
379
383
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ceedling
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 5
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 13
|
10
|
+
version: 0.0.13
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Mike Karlesky, Mark VanderVoord
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2011-05-
|
20
|
+
date: 2011-05-15 00:00:00 -04:00
|
21
21
|
default_executable:
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|