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.
Files changed (24) hide show
  1. data/lib/ceedling/version.rb +3 -3
  2. data/lib/ceedling/version.rb.erb +1 -1
  3. data/new_project_template/vendor/ceedling/lib/build_invoker_helper.rb +14 -3
  4. data/new_project_template/vendor/ceedling/lib/configurator.rb +3 -2
  5. data/new_project_template/vendor/ceedling/lib/constants.rb +4 -0
  6. data/new_project_template/vendor/ceedling/lib/objects.yml +2 -1
  7. data/new_project_template/vendor/ceedling/lib/release_invoker.rb +18 -4
  8. data/new_project_template/vendor/ceedling/lib/tasks_filesystem.rake +1 -0
  9. data/new_project_template/vendor/ceedling/lib/tasks_release.rake +8 -0
  10. data/new_project_template/vendor/ceedling/lib/tasks_tests.rake +12 -4
  11. data/new_project_template/vendor/ceedling/lib/test_invoker.rb +19 -5
  12. data/new_project_template/vendor/ceedling/lib/test_invoker_helper.rb +2 -5
  13. data/new_project_template/vendor/ceedling/lib/tool_executor_helper.rb +2 -2
  14. data/new_project_template/vendor/ceedling/plugins/bullseye/bullseye.rake +16 -6
  15. data/new_project_template/vendor/ceedling/plugins/bullseye/bullseye.rb +5 -3
  16. data/new_project_template/vendor/ceedling/plugins/bullseye/defaults.yml +4 -1
  17. data/new_project_template/vendor/ceedling/plugins/gcov/defaults.yml +1 -1
  18. data/new_project_template/vendor/ceedling/plugins/gcov/gcov.rake +15 -9
  19. data/new_project_template/vendor/ceedling/plugins/gcov/gcov.rb +5 -3
  20. data/new_project_template/vendor/ceedling/release/build.info +1 -1
  21. data/new_project_template/vendor/ceedling/vendor/unity/release/build.info +1 -1
  22. data/new_project_template/vendor/ceedling/vendor/unity/src/unity.h +2 -0
  23. data/new_project_template/vendor/ceedling/vendor/unity/src/unity_internals.h +4 -0
  24. metadata +4 -4
@@ -2,15 +2,15 @@
2
2
  module Ceedling
3
3
  module Version
4
4
  # @private
5
- GEM = "0.0.12"
5
+ GEM = "0.0.13"
6
6
 
7
7
  # @private
8
- CEEDLING = "0.9.193"
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.134"
14
+ UNITY = "2.0.135"
15
15
  end
16
16
  end
@@ -2,7 +2,7 @@
2
2
  module Ceedling
3
3
  module Version
4
4
  # @private
5
- GEM = "0.0.12"
5
+ GEM = "0.0.13"
6
6
 
7
7
  # @private
8
8
  CEEDLING = "<%= versions["CEEDLING"] %>"
@@ -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
- @streaminator.stderr_puts("ERROR: Rake could not find file referenced in source or test: '#{$1}'.")
9
- @streaminator.stderr_puts("Possible stale dependency due to a file name change, etc. Maybe 'clean' task and try again.") if (@configurator.project_use_auxiliary_dependencies)
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[('tools_' + name.to_s).to_sym]
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 = ('tool_' + name.to_s).to_sym
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 = ( @file_path_utils.form_release_build_c_objects_filelist( c_files ) )
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, :dependinator, :test_includes_extractor, :file_finder, :file_path_utils, :file_wrapper
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
- @dependinator.load_test_object_deep_dependencies( dependencies_list )
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 => BULLSEYE_BUILD_OUTPUT_PATH,
26
- :project_test_results_path => BULLSEYE_RESULTS_PATH,
27
- :project_test_dependencies_path => BULLSEYE_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
- - -DCODE_COVERAGE
20
+ - -DBULLSEYE_COMPILER
18
21
  - -c "${1}"
19
22
  - -o "${2}"
20
23
  :bullseye_linker:
@@ -10,7 +10,7 @@
10
10
  - -I"$": COLLECTION_PATHS_TEST_SUPPORT_SOURCE_INCLUDE_VENDOR
11
11
  - -I"$": COLLECTION_PATHS_TEST_TOOLCHAIN_INCLUDE
12
12
  - -D$: COLLECTION_DEFINES_TEST_AND_VENDOR
13
- - -DCODE_COVERAGE
13
+ - -DGCOV_COMPILER
14
14
  - -c "${1}"
15
15
  - -o "${2}"
16
16
  :gcov_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
- desc "Open code coverage browser"
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 => GCOV_BUILD_OUTPUT_PATH,
26
- :project_test_results_path => GCOV_RESULTS_PATH,
27
- :project_test_dependencies_path => GCOV_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
- 193
1
+ 196
@@ -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: 7
4
+ hash: 5
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 12
10
- version: 0.0.12
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-07 00:00:00 -04:00
20
+ date: 2011-05-15 00:00:00 -04:00
21
21
  default_executable:
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency