ceedling 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
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