ceedling 0.0.7 → 0.0.8

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/.gitignore CHANGED
@@ -4,3 +4,11 @@ Gemfile.lock
4
4
  pkg/*
5
5
  doc
6
6
  .yardoc
7
+
8
+ new_project_template/vendor/ceedling/docs/CeedlingPacket.pdf
9
+ new_project_template/vendor/ceedling/vendor/unity/auto/colour_prompt.rb
10
+ new_project_template/vendor/ceedling/vendor/unity/auto/colour_reporter.rb
11
+ new_project_template/vendor/ceedling/vendor/unity/auto/generate_config.yml
12
+ new_project_template/vendor/ceedling/vendor/unity/auto/generate_module.rb
13
+ new_project_template/vendor/ceedling/vendor/unity/auto/test_file_filter.rb
14
+ new_project_template/vendor/ceedling/vendor/unity/auto/unity_test_summary.rb
@@ -2,14 +2,14 @@
2
2
  module Ceedling
3
3
  module Version
4
4
  # @private
5
- GEM = "0.0.7"
5
+ GEM = "0.0.8"
6
6
 
7
7
  # @private
8
- CEEDLING = "0.9.185"
8
+ CEEDLING = "0.9.186"
9
9
  # @private
10
10
  CEXCEPTION = "1.2.16"
11
11
  # @private
12
- CMOCK = "2.0.209"
12
+ CMOCK = "2.0.212"
13
13
  # @private
14
14
  UNITY = "2.0.118"
15
15
  end
@@ -2,7 +2,7 @@
2
2
  module Ceedling
3
3
  module Version
4
4
  # @private
5
- GEM = "0.0.6"
5
+ GEM = "0.0.8"
6
6
 
7
7
  # @private
8
8
  CEEDLING = "<%= versions["CEEDLING"] %>"
@@ -21,7 +21,7 @@ class GeneratorHelper
21
21
  # mirror style of generic tool_executor failure output
22
22
  notice = "\n" +
23
23
  "ERROR: Test executable \"#{File.basename(executable)}\" failed.\n" +
24
- "> Produced no test results in $stdout:\n" +
24
+ "> Produced no final test result counts in $stdout:\n" +
25
25
  "#{shell_result[:output].strip}\n"
26
26
  end
27
27
 
@@ -63,10 +63,10 @@ class TestInvoker
63
63
  end
64
64
 
65
65
  # post-process collected mock list
66
- @mocks.uniq!
66
+ @mocks.uniq!.freeze
67
67
 
68
68
  # post-process collected sources list
69
- @sources.uniq!
69
+ @sources.uniq!.freeze
70
70
  end
71
71
 
72
72
  end
@@ -17,15 +17,15 @@ rule(/#{BULLSEYE_BUILD_OUTPUT_PATH}\/#{'.+\\'+EXTENSION_OBJECT}$/ => [
17
17
  end
18
18
  ]) do |object|
19
19
 
20
- if (File.basename(object.source) =~ /^(#{PROJECT_TEST_FILE_PREFIX}|#{CMOCK_MOCK_PREFIX}|unity|cmock|cexception)/i)
20
+ if (File.basename(object.source) =~ /^(#{PROJECT_TEST_FILE_PREFIX}|#{CMOCK_MOCK_PREFIX}|#{BULLSEYE_IGNORE_SOURCES.join('|')})/i)
21
21
  @ceedling[:generator].generate_object_file(
22
22
  TOOLS_BULLSEYE_COMPILER,
23
- BULLSEYE_CONTEXT,
23
+ BULLSEYE_SYM,
24
24
  object.source,
25
25
  object.name,
26
26
  @ceedling[:file_path_utils].form_test_build_list_filepath( object.name ) )
27
27
  else
28
- @ceedling[BULLSEYE_CONTEXT].generate_coverage_object_file(object.source, object.name)
28
+ @ceedling[BULLSEYE_SYM].generate_coverage_object_file(object.source, object.name)
29
29
  end
30
30
 
31
31
  end
@@ -33,7 +33,7 @@ end
33
33
  rule(/#{BULLSEYE_BUILD_OUTPUT_PATH}\/#{'.+\\'+EXTENSION_EXECUTABLE}$/) do |bin_file|
34
34
  @ceedling[:generator].generate_executable_file(
35
35
  TOOLS_BULLSEYE_LINKER,
36
- BULLSEYE_CONTEXT,
36
+ BULLSEYE_SYM,
37
37
  bin_file.prerequisites,
38
38
  bin_file.name,
39
39
  @ceedling[:file_path_utils].form_test_build_map_filepath(bin_file.name))
@@ -44,7 +44,7 @@ rule(/#{BULLSEYE_RESULTS_PATH}\/#{'.+\\'+EXTENSION_TESTPASS}$/ => [
44
44
  @ceedling[:file_path_utils].form_test_executable_filepath(task_name)
45
45
  end
46
46
  ]) do |test_result|
47
- @ceedling[:generator].generate_test_results(TOOLS_BULLSEYE_FIXTURE, BULLSEYE_CONTEXT, test_result.source, test_result.name)
47
+ @ceedling[:generator].generate_test_results(TOOLS_BULLSEYE_FIXTURE, BULLSEYE_SYM, test_result.source, test_result.name)
48
48
  end
49
49
 
50
50
  rule(/#{BULLSEYE_DEPENDENCIES_PATH}\/#{'.+\\'+EXTENSION_DEPENDENCIES}$/ => [
@@ -54,7 +54,7 @@ rule(/#{BULLSEYE_DEPENDENCIES_PATH}\/#{'.+\\'+EXTENSION_DEPENDENCIES}$/ => [
54
54
  ]) do |dep|
55
55
  @ceedling[:generator].generate_dependencies_file(
56
56
  TOOLS_TEST_DEPENDENCIES_GENERATOR,
57
- BULLSEYE_CONTEXT,
57
+ BULLSEYE_SYM,
58
58
  dep.source,
59
59
  File.join(BULLSEYE_BUILD_OUTPUT_PATH, File.basename(dep.source).ext(EXTENSION_OBJECT) ),
60
60
  dep.name)
@@ -62,13 +62,13 @@ end
62
62
 
63
63
  task :directories => [BULLSEYE_BUILD_OUTPUT_PATH, BULLSEYE_RESULTS_PATH, BULLSEYE_DEPENDENCIES_PATH, BULLSEYE_ARTIFACTS_PATH]
64
64
 
65
- namespace BULLSEYE_CONTEXT do
65
+ namespace BULLSEYE_SYM do
66
66
 
67
67
  task :source_coverage => COLLECTION_ALL_SOURCE.pathmap("#{BULLSEYE_BUILD_OUTPUT_PATH}/%n#{@ceedling[:configurator].extension_object}")
68
68
 
69
69
  desc "Run code coverage for all tests"
70
70
  task :all => [:directories] do
71
- @ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_CONTEXT].config)
71
+ @ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_SYM].config)
72
72
  @ceedling[:test_invoker].setup_and_invoke(COLLECTION_ALL_TESTS)
73
73
  @ceedling[:configurator].restore_config
74
74
  end
@@ -91,7 +91,7 @@ namespace BULLSEYE_CONTEXT do
91
91
  end
92
92
 
93
93
  if (matches.size > 0)
94
- @ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_CONTEXT].config)
94
+ @ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_SYM].config)
95
95
  @ceedling[:test_invoker].setup_and_invoke(matches, {:force_run => false})
96
96
  @ceedling[:configurator].restore_config
97
97
  else
@@ -108,7 +108,7 @@ namespace BULLSEYE_CONTEXT do
108
108
  end
109
109
 
110
110
  if (matches.size > 0)
111
- @ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_CONTEXT].config)
111
+ @ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_SYM].config)
112
112
  @ceedling[:test_invoker].setup_and_invoke(matches, {:force_run => false})
113
113
  @ceedling[:configurator].restore_config
114
114
  else
@@ -118,7 +118,7 @@ namespace BULLSEYE_CONTEXT do
118
118
 
119
119
  desc "Run code coverage for changed files"
120
120
  task :delta => [:directories] do
121
- @ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_CONTEXT].config)
121
+ @ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_SYM].config)
122
122
  @ceedling[:test_invoker].setup_and_invoke(COLLECTION_ALL_TESTS, {:force_run => false})
123
123
  @ceedling[:configurator].restore_config
124
124
  end
@@ -133,7 +133,7 @@ namespace BULLSEYE_CONTEXT do
133
133
  end
134
134
  ]) do |test|
135
135
  @ceedling[:rake_wrapper][:directories].invoke
136
- @ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_CONTEXT].config)
136
+ @ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_SYM].config)
137
137
  @ceedling[:test_invoker].setup_and_invoke([test.source])
138
138
  @ceedling[:configurator].restore_config
139
139
  end
@@ -143,7 +143,7 @@ end
143
143
  namespace UTILS_SYM do
144
144
 
145
145
  desc "Open Bullseye code coverage browser"
146
- task BULLSEYE_CONTEXT do
146
+ task BULLSEYE_SYM do
147
147
  command = @ceedling[:tool_executor].build_command_line(TOOLS_BULLSEYE_BROWSER)
148
148
  @ceedling[:tool_executor].exec(command[:line], command[:options])
149
149
  end
@@ -3,7 +3,7 @@ require 'constants'
3
3
 
4
4
  BULLSEYE_ROOT_NAME = 'bullseye'
5
5
  BULLSEYE_TASK_ROOT = BULLSEYE_ROOT_NAME + ':'
6
- BULLSEYE_CONTEXT = BULLSEYE_ROOT_NAME.to_sym
6
+ BULLSEYE_SYM = BULLSEYE_ROOT_NAME.to_sym
7
7
 
8
8
  BULLSEYE_BUILD_PATH = "#{PROJECT_BUILD_ROOT}/#{BULLSEYE_ROOT_NAME}"
9
9
  BULLSEYE_BUILD_OUTPUT_PATH = "#{BULLSEYE_BUILD_PATH}/out"
@@ -11,6 +11,8 @@ BULLSEYE_RESULTS_PATH = "#{BULLSEYE_BUILD_PATH}/results"
11
11
  BULLSEYE_DEPENDENCIES_PATH = "#{BULLSEYE_BUILD_PATH}/dependencies"
12
12
  BULLSEYE_ARTIFACTS_PATH = "#{PROJECT_BUILD_ARTIFACTS_ROOT}/#{BULLSEYE_ROOT_NAME}"
13
13
 
14
+ BULLSEYE_IGNORE_SOURCES = ['unity', 'cmock', 'cexception']
15
+
14
16
 
15
17
  class Bullseye < Plugin
16
18
 
@@ -31,7 +33,7 @@ class Bullseye < Plugin
31
33
  end
32
34
 
33
35
  def generate_coverage_object_file(source, object)
34
- arg_hash = {:tool => TOOLS_BULLSEYE_INSTRUMENTATION, :context => BULLSEYE_CONTEXT, :source => source, :object => object}
36
+ arg_hash = {:tool => TOOLS_BULLSEYE_INSTRUMENTATION, :context => BULLSEYE_SYM, :source => source, :object => object}
35
37
  @ceedling[:plugin_manager].pre_compile_execute(arg_hash)
36
38
 
37
39
  @ceedling[:streaminator].stdout_puts("Compiling #{File.basename(source)} with coverage...")
@@ -126,7 +128,11 @@ class Bullseye < Plugin
126
128
  banner = @ceedling[:plugin_reportinator].generate_banner "#{BULLSEYE_ROOT_NAME.upcase}: CODE COVERAGE SUMMARY"
127
129
  @ceedling[:streaminator].stdout_puts "\n" + banner
128
130
 
129
- sources.each do |source|
131
+ coverage_sources = sources.clone
132
+ coverage_sources.delete_if {|item| item =~ /#{CMOCK_MOCK_PREFIX}.+#{EXTENSION_SOURCE}$/}
133
+ coverage_sources.delete_if {|item| item =~ /#{BULLSEYE_IGNORE_SOURCES.join('|')}#{EXTENSION_SOURCE}$/}
134
+
135
+ coverage_sources.each do |source|
130
136
  command = @ceedling[:tool_executor].build_command_line(TOOLS_BULLSEYE_REPORT_COVFN, source)
131
137
  shell_results = @ceedling[:tool_executor].exec(command[:line], command[:options])
132
138
  coverage_results = shell_results[:output].deep_clone
@@ -5,6 +5,7 @@
5
5
  :executable: covc
6
6
  :arguments:
7
7
  - '--file $': ENVIRONMENT_COVFILE
8
+ - -q
8
9
  - ${1}
9
10
  :bullseye_compiler:
10
11
  :executable: gcc
@@ -17,15 +17,15 @@ rule(/#{GCOV_BUILD_OUTPUT_PATH}\/#{'.+\\'+EXTENSION_OBJECT}$/ => [
17
17
  end
18
18
  ]) do |object|
19
19
 
20
- if (File.basename(object.source) =~ /^(#{PROJECT_TEST_FILE_PREFIX}|#{CMOCK_MOCK_PREFIX}|unity|cmock|cexception)/i)
20
+ if (File.basename(object.source) =~ /^(#{PROJECT_TEST_FILE_PREFIX}|#{CMOCK_MOCK_PREFIX}|#{GCOV_IGNORE_SOURCES.join('|')})/i)
21
21
  @ceedling[:generator].generate_object_file(
22
22
  TOOLS_GCOV_COMPILER,
23
- GCOV_CONTEXT,
23
+ GCOV_SYM,
24
24
  object.source,
25
25
  object.name,
26
26
  @ceedling[:file_path_utils].form_test_build_list_filepath( object.name ) )
27
27
  else
28
- @ceedling[GCOV_CONTEXT].generate_coverage_object_file(object.source, object.name)
28
+ @ceedling[GCOV_SYM].generate_coverage_object_file(object.source, object.name)
29
29
  end
30
30
 
31
31
  end
@@ -33,7 +33,7 @@ end
33
33
  rule(/#{GCOV_BUILD_OUTPUT_PATH}\/#{'.+\\'+EXTENSION_EXECUTABLE}$/) do |bin_file|
34
34
  @ceedling[:generator].generate_executable_file(
35
35
  TOOLS_GCOV_LINKER,
36
- GCOV_CONTEXT,
36
+ GCOV_SYM,
37
37
  bin_file.prerequisites,
38
38
  bin_file.name,
39
39
  @ceedling[:file_path_utils].form_test_build_map_filepath(bin_file.name))
@@ -44,7 +44,7 @@ rule(/#{GCOV_RESULTS_PATH}\/#{'.+\\'+EXTENSION_TESTPASS}$/ => [
44
44
  @ceedling[:file_path_utils].form_test_executable_filepath(task_name)
45
45
  end
46
46
  ]) do |test_result|
47
- @ceedling[:generator].generate_test_results(TOOLS_GCOV_FIXTURE, GCOV_CONTEXT, test_result.source, test_result.name)
47
+ @ceedling[:generator].generate_test_results(TOOLS_GCOV_FIXTURE, GCOV_SYM, test_result.source, test_result.name)
48
48
  end
49
49
 
50
50
  rule(/#{GCOV_DEPENDENCIES_PATH}\/#{'.+\\'+EXTENSION_DEPENDENCIES}$/ => [
@@ -54,7 +54,7 @@ rule(/#{GCOV_DEPENDENCIES_PATH}\/#{'.+\\'+EXTENSION_DEPENDENCIES}$/ => [
54
54
  ]) do |dep|
55
55
  @ceedling[:generator].generate_dependencies_file(
56
56
  TOOLS_TEST_DEPENDENCIES_GENERATOR,
57
- GCOV_CONTEXT,
57
+ GCOV_SYM,
58
58
  dep.source,
59
59
  File.join(GCOV_BUILD_OUTPUT_PATH, File.basename(dep.source).ext(EXTENSION_OBJECT) ),
60
60
  dep.name)
@@ -62,13 +62,13 @@ end
62
62
 
63
63
  task :directories => [GCOV_BUILD_OUTPUT_PATH, GCOV_RESULTS_PATH, GCOV_DEPENDENCIES_PATH, GCOV_ARTIFACTS_PATH]
64
64
 
65
- namespace GCOV_CONTEXT do
65
+ namespace GCOV_SYM do
66
66
 
67
67
  task :source_coverage => COLLECTION_ALL_SOURCE.pathmap("#{GCOV_BUILD_OUTPUT_PATH}/%n#{@ceedling[:configurator].extension_object}")
68
68
 
69
69
  desc "Run code coverage for all tests"
70
70
  task :all => [:directories] do
71
- @ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_CONTEXT].config)
71
+ @ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_SYM].config)
72
72
  @ceedling[:test_invoker].setup_and_invoke(COLLECTION_ALL_TESTS)
73
73
  @ceedling[:configurator].restore_config
74
74
  end
@@ -91,7 +91,7 @@ namespace GCOV_CONTEXT do
91
91
  end
92
92
 
93
93
  if (matches.size > 0)
94
- @ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_CONTEXT].config)
94
+ @ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_SYM].config)
95
95
  @ceedling[:test_invoker].setup_and_invoke(matches, {:force_run => false})
96
96
  @ceedling[:configurator].restore_config
97
97
  else
@@ -108,7 +108,7 @@ namespace GCOV_CONTEXT do
108
108
  end
109
109
 
110
110
  if (matches.size > 0)
111
- @ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_CONTEXT].config)
111
+ @ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_SYM].config)
112
112
  @ceedling[:test_invoker].setup_and_invoke(matches, {:force_run => false})
113
113
  @ceedling[:configurator].restore_config
114
114
  else
@@ -118,7 +118,7 @@ namespace GCOV_CONTEXT do
118
118
 
119
119
  desc "Run code coverage for changed files"
120
120
  task :delta => [:directories] do
121
- @ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_CONTEXT].config)
121
+ @ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_SYM].config)
122
122
  @ceedling[:test_invoker].setup_and_invoke(COLLECTION_ALL_TESTS, {:force_run => false})
123
123
  @ceedling[:configurator].restore_config
124
124
  end
@@ -133,7 +133,7 @@ namespace GCOV_CONTEXT do
133
133
  end
134
134
  ]) do |test|
135
135
  @ceedling[:rake_wrapper][:directories].invoke
136
- @ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_CONTEXT].config)
136
+ @ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_SYM].config)
137
137
  @ceedling[:test_invoker].setup_and_invoke([test.source])
138
138
  @ceedling[:configurator].restore_config
139
139
  end
@@ -3,7 +3,7 @@ require 'constants'
3
3
 
4
4
  GCOV_ROOT_NAME = 'gcov'
5
5
  GCOV_TASK_ROOT = GCOV_ROOT_NAME + ':'
6
- GCOV_CONTEXT = GCOV_ROOT_NAME.to_sym
6
+ GCOV_SYM = GCOV_ROOT_NAME.to_sym
7
7
 
8
8
  GCOV_BUILD_PATH = "#{PROJECT_BUILD_ROOT}/#{GCOV_ROOT_NAME}"
9
9
  GCOV_BUILD_OUTPUT_PATH = "#{GCOV_BUILD_PATH}/out"
@@ -11,6 +11,8 @@ GCOV_RESULTS_PATH = "#{GCOV_BUILD_PATH}/results"
11
11
  GCOV_DEPENDENCIES_PATH = "#{GCOV_BUILD_PATH}/dependencies"
12
12
  GCOV_ARTIFACTS_PATH = "#{PROJECT_BUILD_ARTIFACTS_ROOT}/#{GCOV_ROOT_NAME}"
13
13
 
14
+ GCOV_IGNORE_SOURCES = ['unity', 'cmock', 'cexception']
15
+
14
16
 
15
17
  class Gcov < Plugin
16
18
 
@@ -98,7 +100,11 @@ class Gcov < Plugin
98
100
  banner = @ceedling[:plugin_reportinator].generate_banner "#{GCOV_ROOT_NAME.upcase}: CODE COVERAGE SUMMARY"
99
101
  @ceedling[:streaminator].stdout_puts "\n" + banner
100
102
 
101
- sources.each do |source|
103
+ coverage_sources = sources.clone
104
+ coverage_sources.delete_if {|item| item =~ /#{CMOCK_MOCK_PREFIX}.+#{EXTENSION_SOURCE}$/}
105
+ coverage_sources.delete_if {|item| item =~ /#{GCOV_IGNORE_SOURCES.join('|')}#{EXTENSION_SOURCE}$/}
106
+
107
+ coverage_sources.each do |source|
102
108
  basename = File.basename(source)
103
109
  command = @ceedling[:tool_executor].build_command_line(TOOLS_GCOV_REPORT, basename)
104
110
  shell_results = @ceedling[:tool_executor].exec(command[:line], command[:options])
@@ -1,2 +1,2 @@
1
- 185
1
+ 186
2
2
 
@@ -57,7 +57,11 @@ class CMockConfig
57
57
  options[:plugins].compact!
58
58
  options[:plugins].map! {|p| p.to_sym}
59
59
  @options = options
60
- @options[:treat_as].merge!(standard_treat_as_map)
60
+
61
+ treat_as_map = standard_treat_as_map().clone
62
+ treat_as_map.merge!(@options[:treat_as])
63
+ @options[:treat_as] = treat_as_map
64
+
61
65
  @options.each_key { |key| eval("def #{key.to_s}() return @options[:#{key.to_s}] end") }
62
66
  end
63
67
 
@@ -179,9 +179,9 @@ class CMockGenerator
179
179
  file << " cmock_line = cmock_call_instance->LineNumber;\n"
180
180
  if (@ordered)
181
181
  file << " if (cmock_call_instance->CallOrder > ++GlobalVerifyOrder)\n"
182
- file << " UNITY_TEST_FAIL(cmock_line, \"Function '#{function[:name]}' called earlier than expected.\");"
182
+ file << " UNITY_TEST_FAIL(cmock_line, \"Function '#{function[:name]}' called earlier than expected.\");\n"
183
183
  file << " if (cmock_call_instance->CallOrder < GlobalVerifyOrder)\n"
184
- file << " UNITY_TEST_FAIL(cmock_line, \"Function '#{function[:name]}' called later than expected.\");"
184
+ file << " UNITY_TEST_FAIL(cmock_line, \"Function '#{function[:name]}' called later than expected.\");\n"
185
185
  # file << " UNITY_TEST_ASSERT((cmock_call_instance->CallOrder == ++GlobalVerifyOrder), cmock_line, \"Out of order function calls. Function '#{function[:name]}'\");\n"
186
186
  end
187
187
  file << @plugins.run(:mock_implementation, function)
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: 17
4
+ hash: 15
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 7
10
- version: 0.0.7
9
+ - 8
10
+ version: 0.0.8
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-04-21 00:00:00 -04:00
20
+ date: 2011-04-22 00:00:00 -04:00
21
21
  default_executable:
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency