ceedling 0.17.0 → 0.18.0

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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/ceedling.gemspec +1 -1
  3. data/lib/ceedling/version.rb +2 -2
  4. data/lib/ceedling/version.rb.erb +1 -2
  5. data/test_graveyard/unit/busted/generator_test_runner_test.rb +2 -5
  6. data/vendor/cmock/Gemfile +1 -3
  7. data/vendor/cmock/Rakefile +10 -17
  8. data/vendor/cmock/docs/license.txt +18 -30
  9. data/vendor/cmock/examples/gcc.yml +2 -2
  10. data/vendor/cmock/examples/iar_v4.yml +3 -3
  11. data/vendor/cmock/examples/iar_v5.yml +3 -3
  12. data/vendor/cmock/examples/rakefile_helper.rb +35 -35
  13. data/vendor/cmock/lib/cmock_generator.rb +17 -5
  14. data/vendor/cmock/lib/cmock_generator_plugin_array.rb +9 -3
  15. data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +1 -1
  16. data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +1 -1
  17. data/vendor/cmock/lib/cmock_header_parser.rb +7 -3
  18. data/vendor/cmock/release/version.info +1 -1
  19. data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +1 -2
  20. data/vendor/cmock/test/c/TestCMockC_Runner.c +1 -1
  21. data/vendor/cmock/test/system/systest_generator.rb +6 -2
  22. data/vendor/cmock/test/system/test_compilation/const.h +3 -1
  23. data/vendor/cmock/test/test_helper.rb +38 -40
  24. data/vendor/cmock/test/unit/cmock_config_test.rb +26 -29
  25. data/vendor/cmock/test/unit/cmock_file_writer_test.rb +8 -11
  26. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +82 -80
  27. data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +62 -43
  28. data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +44 -45
  29. data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +30 -31
  30. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +15 -16
  31. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_test.rb +76 -77
  32. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +19 -19
  33. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +17 -18
  34. data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +17 -17
  35. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +74 -65
  36. data/vendor/cmock/test/unit/cmock_header_parser_test.rb +103 -76
  37. data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +46 -36
  38. data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +85 -85
  39. data/vendor/unity/auto/generate_test_runner.rb +4 -3
  40. data/vendor/unity/auto/type_sanitizer.rb +8 -0
  41. data/vendor/unity/auto/unity_test_summary.py +135 -0
  42. data/vendor/unity/examples/example_1/makefile +16 -0
  43. data/vendor/unity/examples/example_1/src/ProductionCode2.c +2 -0
  44. data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +0 -13
  45. data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +0 -13
  46. data/vendor/unity/examples/example_2/makefile +20 -1
  47. data/vendor/unity/examples/example_2/src/ProductionCode2.c +2 -0
  48. data/vendor/unity/examples/example_2/test/test_runners/all_tests.c +2 -2
  49. data/vendor/unity/examples/example_3/makefile +16 -0
  50. data/vendor/unity/examples/example_3/src/ProductionCode2.c +2 -0
  51. data/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode2_Runner.c +0 -13
  52. data/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode_Runner.c +0 -13
  53. data/vendor/unity/extras/fixture/rakefile.rb +14 -3
  54. data/vendor/unity/extras/fixture/src/unity_fixture.c +21 -11
  55. data/vendor/unity/extras/fixture/src/unity_fixture.h +8 -4
  56. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +1 -1
  57. data/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +5 -0
  58. data/vendor/unity/extras/fixture/test/main/AllTests.c +2 -2
  59. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +8 -8
  60. data/vendor/unity/extras/fixture/test/unity_output_Spy.c +2 -2
  61. data/vendor/unity/extras/fixture/test/unity_output_Spy.h +2 -2
  62. data/vendor/unity/release/version.info +1 -1
  63. data/vendor/unity/src/unity.c +26 -19
  64. data/vendor/unity/src/unity_internals.h +9 -12
  65. data/vendor/unity/test/targets/gcc_auto_stdint.yml +13 -0
  66. metadata +4 -5
  67. data/vendor/cmock/test/spec/cmock_file_writer_spec.rb +0 -45
  68. data/vendor/cmock/test/spec/cmock_generator_plugin_array_spec.rb +0 -52
  69. data/vendor/cmock/test/spec/spec_helper.rb +0 -12
@@ -2,51 +2,50 @@
2
2
  # CMock Project - Automatic Mock Generation for C
3
3
  # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
4
4
  # [Released under MIT License. Please refer to license.txt for details]
5
- # ==========================================
5
+ # ==========================================
6
6
 
7
7
  require File.expand_path(File.dirname(__FILE__)) + "/../test_helper"
8
8
  require 'cmock_generator_plugin_callback'
9
9
 
10
- class CMockGeneratorPluginCallbackTest < Test::Unit::TestCase
11
- def setup
10
+ describe CMockGeneratorPluginCallback, "Verify CMockGeneratorPluginCallback Module" do
11
+
12
+ before do
12
13
  create_mocks :config, :utils
13
-
14
- @config.expect.callback_include_count.returns(true)
15
- @config.expect.callback_after_arg_check.returns(false)
16
-
14
+
15
+ @config.expect :callback_include_count, true
16
+ @config.expect :callback_after_arg_check, false
17
+
17
18
  @cmock_generator_plugin_callback = CMockGeneratorPluginCallback.new(@config, @utils)
18
19
  end
19
20
 
20
- def teardown
21
+ after do
21
22
  end
22
-
23
- should "have set up internal accessors correctly on init" do
24
- assert_equal(@config, @cmock_generator_plugin_callback.config)
25
- assert_equal(@utils, @cmock_generator_plugin_callback.utils)
26
- assert_equal(6, @cmock_generator_plugin_callback.priority)
23
+
24
+ it "have set up internal priority" do
25
+ assert_equal(6, @cmock_generator_plugin_callback.priority)
27
26
  end
28
-
29
- should "not include any additional include files" do
27
+
28
+ it "not include any additional include files" do
30
29
  assert(!@cmock_generator_plugin_callback.respond_to?(:include_files))
31
30
  end
32
-
33
- should "add to instance structure" do
31
+
32
+ it "add to instance structure" do
34
33
  function = {:name => "Oak", :args => [:type => "int*", :name => "blah", :ptr? => true], :return => test_return[:int_ptr]}
35
34
  expected = " CMOCK_Oak_CALLBACK Oak_CallbackFunctionPointer;\n" +
36
35
  " int Oak_CallbackCalls;\n"
37
36
  returned = @cmock_generator_plugin_callback.instance_structure(function)
38
37
  assert_equal(expected, returned)
39
38
  end
40
-
41
- should "add mock function declaration for function without arguments" do
39
+
40
+ it "add mock function declaration for function without arguments" do
42
41
  function = {:name => "Maple", :args_string => "void", :args => [], :return => test_return[:void]}
43
42
  expected = [ "typedef void (* CMOCK_Maple_CALLBACK)(int cmock_num_calls);\n",
44
43
  "void Maple_StubWithCallback(CMOCK_Maple_CALLBACK Callback);\n" ].join
45
44
  returned = @cmock_generator_plugin_callback.mock_function_declarations(function)
46
45
  assert_equal(expected, returned)
47
46
  end
48
-
49
- should "add mock function declaration for function without arguments when count is also turned off" do
47
+
48
+ it "add mock function declaration for function without arguments when count is also turned off" do
50
49
  function = {:name => "Maple", :args_string => "void", :args => [], :return => test_return[:void]}
51
50
  expected = [ "typedef void (* CMOCK_Maple_CALLBACK)(void);\n",
52
51
  "void Maple_StubWithCallback(CMOCK_Maple_CALLBACK Callback);\n" ].join
@@ -54,24 +53,24 @@ class CMockGeneratorPluginCallbackTest < Test::Unit::TestCase
54
53
  returned = @cmock_generator_plugin_callback.mock_function_declarations(function)
55
54
  assert_equal(expected, returned)
56
55
  end
57
-
58
- should "add mock function declaration for function with arguments" do
56
+
57
+ it "add mock function declaration for function with arguments" do
59
58
  function = {:name => "Maple", :args_string => "int* tofu", :args => [1], :return => test_return[:void]}
60
59
  expected = [ "typedef void (* CMOCK_Maple_CALLBACK)(int* tofu, int cmock_num_calls);\n",
61
60
  "void Maple_StubWithCallback(CMOCK_Maple_CALLBACK Callback);\n" ].join
62
61
  returned = @cmock_generator_plugin_callback.mock_function_declarations(function)
63
62
  assert_equal(expected, returned)
64
63
  end
65
-
66
- should "add mock function declaration for function with return values" do
64
+
65
+ it "add mock function declaration for function with return values" do
67
66
  function = {:name => "Maple", :args_string => "int* tofu", :args => [1], :return => test_return[:string]}
68
67
  expected = [ "typedef const char* (* CMOCK_Maple_CALLBACK)(int* tofu, int cmock_num_calls);\n",
69
68
  "void Maple_StubWithCallback(CMOCK_Maple_CALLBACK Callback);\n" ].join
70
69
  returned = @cmock_generator_plugin_callback.mock_function_declarations(function)
71
70
  assert_equal(expected, returned)
72
71
  end
73
-
74
- should "add mock function declaration for function with return values and count is turned off" do
72
+
73
+ it "add mock function declaration for function with return values and count is turned off" do
75
74
  function = {:name => "Maple", :args_string => "int* tofu", :args => [1], :return => test_return[:string]}
76
75
  expected = [ "typedef const char* (* CMOCK_Maple_CALLBACK)(int* tofu);\n",
77
76
  "void Maple_StubWithCallback(CMOCK_Maple_CALLBACK Callback);\n" ].join
@@ -80,7 +79,7 @@ class CMockGeneratorPluginCallbackTest < Test::Unit::TestCase
80
79
  assert_equal(expected, returned)
81
80
  end
82
81
 
83
- should "add mock function implementation for functions of style 'void func(void)'" do
82
+ it "add mock function implementation for functions of style 'void func(void)'" do
84
83
  function = {:name => "Apple", :args => [], :args_string => "void", :return => test_return[:void]}
85
84
  expected = [" if (Mock.Apple_CallbackFunctionPointer != NULL)\n",
86
85
  " {\n",
@@ -92,7 +91,7 @@ class CMockGeneratorPluginCallbackTest < Test::Unit::TestCase
92
91
  assert_equal(expected, returned)
93
92
  end
94
93
 
95
- should "add mock function implementation for functions of style 'void func(void)' when count turned off" do
94
+ it "add mock function implementation for functions of style 'void func(void)' when count turned off" do
96
95
  function = {:name => "Apple", :args => [], :args_string => "void", :return => test_return[:void]}
97
96
  expected = [" if (Mock.Apple_CallbackFunctionPointer != NULL)\n",
98
97
  " {\n",
@@ -105,7 +104,7 @@ class CMockGeneratorPluginCallbackTest < Test::Unit::TestCase
105
104
  assert_equal(expected, returned)
106
105
  end
107
106
 
108
- should "add mock function implementation for functions of style 'int func(void)'" do
107
+ it "add mock function implementation for functions of style 'int func(void)'" do
109
108
  function = {:name => "Apple", :args => [], :args_string => "void", :return => test_return[:int]}
110
109
  expected = [" if (Mock.Apple_CallbackFunctionPointer != NULL)\n",
111
110
  " {\n",
@@ -116,10 +115,10 @@ class CMockGeneratorPluginCallbackTest < Test::Unit::TestCase
116
115
  assert_equal(expected, returned)
117
116
  end
118
117
 
119
- should "add mock function implementation for functions of style 'void func(int* steak, uint8_t flag)'" do
120
- function = {:name => "Apple",
118
+ it "add mock function implementation for functions of style 'void func(int* steak, uint8_t flag)'" do
119
+ function = {:name => "Apple",
121
120
  :args => [ { :type => 'int*', :name => 'steak', :ptr? => true},
122
- { :type => 'uint8_t', :name => 'flag', :ptr? => false} ],
121
+ { :type => 'uint8_t', :name => 'flag', :ptr? => false} ],
123
122
  :args_string => "int* steak, uint8_t flag",
124
123
  :return=> test_return[:void]}
125
124
  expected = [" if (Mock.Apple_CallbackFunctionPointer != NULL)\n",
@@ -132,10 +131,10 @@ class CMockGeneratorPluginCallbackTest < Test::Unit::TestCase
132
131
  assert_equal(expected, returned)
133
132
  end
134
133
 
135
- should "add mock function implementation for functions of style 'void func(int* steak, uint8_t flag)' when count turned off" do
136
- function = {:name => "Apple",
134
+ it "add mock function implementation for functions of style 'void func(int* steak, uint8_t flag)' when count turned off" do
135
+ function = {:name => "Apple",
137
136
  :args => [ { :type => 'int*', :name => 'steak', :ptr? => true},
138
- { :type => 'uint8_t', :name => 'flag', :ptr? => false} ],
137
+ { :type => 'uint8_t', :name => 'flag', :ptr? => false} ],
139
138
  :args_string => "int* steak, uint8_t flag",
140
139
  :return=> test_return[:void]}
141
140
  expected = [" if (Mock.Apple_CallbackFunctionPointer != NULL)\n",
@@ -149,11 +148,11 @@ class CMockGeneratorPluginCallbackTest < Test::Unit::TestCase
149
148
  assert_equal(expected, returned)
150
149
  end
151
150
 
152
- should "add mock function implementation for functions of style 'int16_t func(int* steak, uint8_t flag)'" do
153
- function = {:name => "Apple",
151
+ it "add mock function implementation for functions of style 'int16_t func(int* steak, uint8_t flag)'" do
152
+ function = {:name => "Apple",
154
153
  :args => [ { :type => 'int*', :name => 'steak', :ptr? => true},
155
154
  { :type => 'uint8_t', :name => 'flag', :ptr? => false} ],
156
- :args_string => "int* steak, uint8_t flag",
155
+ :args_string => "int* steak, uint8_t flag",
157
156
  :return => test_return[:int]}
158
157
  expected = [" if (Mock.Apple_CallbackFunctionPointer != NULL)\n",
159
158
  " {\n",
@@ -163,14 +162,14 @@ class CMockGeneratorPluginCallbackTest < Test::Unit::TestCase
163
162
  returned = @cmock_generator_plugin_callback.mock_implementation_precheck(function)
164
163
  assert_equal(expected, returned)
165
164
  end
166
-
167
- should "add mock interfaces for functions " do
168
- function = {:name => "Lemon",
169
- :args => [{ :type => "char*", :name => "pescado"}],
165
+
166
+ it "add mock interfaces for functions " do
167
+ function = {:name => "Lemon",
168
+ :args => [{ :type => "char*", :name => "pescado"}],
170
169
  :args_string => "char* pescado",
171
170
  :return => test_return[:int]
172
171
  }
173
-
172
+
174
173
  expected = ["void Lemon_StubWithCallback(CMOCK_Lemon_CALLBACK Callback)\n",
175
174
  "{\n",
176
175
  " Mock.Lemon_CallbackFunctionPointer = Callback;\n",
@@ -180,7 +179,7 @@ class CMockGeneratorPluginCallbackTest < Test::Unit::TestCase
180
179
  assert_equal(expected, returned)
181
180
  end
182
181
 
183
- should "add mock destroy for functions" do
182
+ it "add mock destroy for functions" do
184
183
  function = {:name => "Peach", :args => [], :return => test_return[:void] }
185
184
  expected = " Mock.Peach_CallbackFunctionPointer = NULL;\n" +
186
185
  " Mock.Peach_CallbackCalls = 0;\n"
@@ -2,68 +2,67 @@
2
2
  # CMock Project - Automatic Mock Generation for C
3
3
  # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
4
4
  # [Released under MIT License. Please refer to license.txt for details]
5
- # ==========================================
5
+ # ==========================================
6
6
 
7
7
  require File.expand_path(File.dirname(__FILE__)) + "/../test_helper"
8
8
  require 'cmock_generator_plugin_cexception'
9
9
 
10
- class CMockGeneratorPluginCexceptionTest < Test::Unit::TestCase
11
- def setup
10
+ describe CMockGeneratorPluginCexception, "Verify CMockGeneratorPluginCexception Module" do
11
+
12
+ before do
12
13
  create_mocks :config, :utils
13
14
  @cmock_generator_plugin_cexception = CMockGeneratorPluginCexception.new(@config, @utils)
14
15
  end
15
16
 
16
- def teardown
17
+ after do
17
18
  end
18
-
19
- should "have set up internal accessors correctly on init" do
20
- assert_equal(@config, @cmock_generator_plugin_cexception.config)
21
- assert_equal(@utils, @cmock_generator_plugin_cexception.utils)
22
- assert_equal(7, @cmock_generator_plugin_cexception.priority)
19
+
20
+ it "have set up internal priority" do
21
+ assert_equal(7, @cmock_generator_plugin_cexception.priority)
23
22
  end
24
-
25
- should "include the cexception library" do
23
+
24
+ it "include the cexception library" do
26
25
  expected = "#include \"CException.h\"\n"
27
26
  returned = @cmock_generator_plugin_cexception.include_files
28
27
  assert_equal(expected, returned)
29
28
  end
30
-
31
- should "add to typedef structure mock needs" do
29
+
30
+ it "add to typedef structure mock needs" do
32
31
  function = { :name => "Oak", :args => [], :return => test_return[:void] }
33
32
  expected = " CEXCEPTION_T ExceptionToThrow;\n"
34
33
  returned = @cmock_generator_plugin_cexception.instance_typedefs(function)
35
34
  assert_equal(expected, returned)
36
35
  end
37
-
38
- should "add mock function declarations for functions without arguments" do
36
+
37
+ it "add mock function declarations for functions without arguments" do
39
38
  function = { :name => "Spruce", :args_string => "void", :return => test_return[:void] }
40
39
  expected = "#define Spruce_ExpectAndThrow(cmock_to_throw) Spruce_CMockExpectAndThrow(__LINE__, cmock_to_throw)\n"+
41
40
  "void Spruce_CMockExpectAndThrow(UNITY_LINE_TYPE cmock_line, CEXCEPTION_T cmock_to_throw);\n"
42
41
  returned = @cmock_generator_plugin_cexception.mock_function_declarations(function)
43
42
  assert_equal(expected, returned)
44
43
  end
45
-
46
- should "add mock function declarations for functions with arguments" do
44
+
45
+ it "add mock function declarations for functions with arguments" do
47
46
  function = { :name => "Spruce", :args_string => "const char* Petunia, uint32_t Lily", :args_call => "Petunia, Lily", :return => test_return[:void] }
48
47
  expected = "#define Spruce_ExpectAndThrow(Petunia, Lily, cmock_to_throw) Spruce_CMockExpectAndThrow(__LINE__, Petunia, Lily, cmock_to_throw)\n" +
49
48
  "void Spruce_CMockExpectAndThrow(UNITY_LINE_TYPE cmock_line, const char* Petunia, uint32_t Lily, CEXCEPTION_T cmock_to_throw);\n"
50
49
  returned = @cmock_generator_plugin_cexception.mock_function_declarations(function)
51
50
  assert_equal(expected, returned)
52
51
  end
53
-
54
- should "add a mock implementation" do
52
+
53
+ it "add a mock implementation" do
55
54
  function = {:name => "Cherry", :args => [], :return => test_return[:void]}
56
- expected = " if (cmock_call_instance->ExceptionToThrow != CEXCEPTION_NONE)\n {\n" +
55
+ expected = " if (cmock_call_instance->ExceptionToThrow != CEXCEPTION_NONE)\n {\n" +
57
56
  " Throw(cmock_call_instance->ExceptionToThrow);\n }\n"
58
57
  returned = @cmock_generator_plugin_cexception.mock_implementation(function)
59
58
  assert_equal(expected, returned)
60
59
  end
61
-
62
- should "add mock interfaces for functions without arguments" do
60
+
61
+ it "add mock interfaces for functions without arguments" do
63
62
  function = {:name => "Pear", :args_string => "void", :args => [], :return => test_return[:void]}
64
- @utils.expect.code_add_base_expectation("Pear").returns("mock_retval_0")
65
- @utils.expect.code_call_argument_loader(function).returns("")
66
-
63
+ @utils.expect :code_add_base_expectation, "mock_retval_0", ["Pear"]
64
+ @utils.expect :code_call_argument_loader, "", [function]
65
+
67
66
  expected = ["void Pear_CMockExpectAndThrow(UNITY_LINE_TYPE cmock_line, CEXCEPTION_T cmock_to_throw)\n",
68
67
  "{\n",
69
68
  "mock_retval_0",
@@ -74,12 +73,12 @@ class CMockGeneratorPluginCexceptionTest < Test::Unit::TestCase
74
73
  returned = @cmock_generator_plugin_cexception.mock_interfaces(function)
75
74
  assert_equal(expected, returned)
76
75
  end
77
-
78
- should "add a mock interfaces for functions with arguments" do
76
+
77
+ it "add a mock interfaces for functions with arguments" do
79
78
  function = {:name => "Pear", :args_string => "int blah", :args => [{ :type => "int", :name => "blah" }], :return => test_return[:void]}
80
- @utils.expect.code_add_base_expectation("Pear").returns("mock_retval_0")
81
- @utils.expect.code_call_argument_loader(function).returns("mock_return_1")
82
-
79
+ @utils.expect :code_add_base_expectation, "mock_retval_0", ["Pear"]
80
+ @utils.expect :code_call_argument_loader, "mock_return_1", [function]
81
+
83
82
  expected = ["void Pear_CMockExpectAndThrow(UNITY_LINE_TYPE cmock_line, int blah, CEXCEPTION_T cmock_to_throw)\n",
84
83
  "{\n",
85
84
  "mock_retval_0",
@@ -90,5 +89,5 @@ class CMockGeneratorPluginCexceptionTest < Test::Unit::TestCase
90
89
  returned = @cmock_generator_plugin_cexception.mock_interfaces(function)
91
90
  assert_equal(expected, returned)
92
91
  end
93
-
92
+
94
93
  end
@@ -7,34 +7,33 @@
7
7
  require File.expand_path(File.dirname(__FILE__)) + "/../test_helper"
8
8
  require 'cmock_generator_plugin_expect_any_args.rb'
9
9
 
10
- class CMockGeneratorPluginExpectAnyArgsTest < Test::Unit::TestCase
11
- def setup
10
+ describe CMockGeneratorPluginExpectAnyArgs, "Verify CMockGeneratorPluginExpectAnyArgs Module" do
11
+
12
+ before do
12
13
  create_mocks :config, :utils
13
- @config.stubs!(:respond_to?).returns(true)
14
+ @config = create_stub(:respond_to? => true)
14
15
  @cmock_generator_plugin_expect_any_args = CMockGeneratorPluginExpectAnyArgs.new(@config, @utils)
15
16
  end
16
17
 
17
- def teardown
18
+ after do
18
19
  end
19
20
 
20
- should "have set up internal accessors correctly on init" do
21
- assert_equal(@config, @cmock_generator_plugin_expect_any_args.config)
22
- assert_equal(@utils, @cmock_generator_plugin_expect_any_args.utils)
23
- assert_equal(3, @cmock_generator_plugin_expect_any_args.priority)
21
+ it "have set up internal priority" do
22
+ assert_equal(3, @cmock_generator_plugin_expect_any_args.priority)
24
23
  end
25
24
 
26
- should "not have any additional include file requirements" do
25
+ it "not have any additional include file requirements" do
27
26
  assert(!@cmock_generator_plugin_expect_any_args.respond_to?(:include_files))
28
27
  end
29
28
 
30
- should "handle function declarations for functions without return values" do
29
+ it "handle function declarations for functions without return values" do
31
30
  function = {:name => "Mold", :args_string => "void", :return => test_return[:void]}
32
31
  expected = "#define Mold_ExpectAnyArgs() Mold_CMockExpectAnyArgs(__LINE__)\nvoid Mold_CMockExpectAnyArgs(UNITY_LINE_TYPE cmock_line);\n"
33
32
  returned = @cmock_generator_plugin_expect_any_args.mock_function_declarations(function)
34
33
  assert_equal(expected, returned)
35
34
  end
36
35
 
37
- should "handle function declarations for functions that returns something" do
36
+ it "handle function declarations for functions that returns something" do
38
37
  function = {:name => "Fungus", :args_string => "void", :return => test_return[:string]}
39
38
  expected = "#define Fungus_ExpectAnyArgsAndReturn(cmock_retval) Fungus_CMockExpectAnyArgsAndReturn(__LINE__, cmock_retval)\n"+
40
39
  "void Fungus_CMockExpectAnyArgsAndReturn(UNITY_LINE_TYPE cmock_line, const char* cmock_to_return);\n"
@@ -42,7 +41,7 @@ class CMockGeneratorPluginExpectAnyArgsTest < Test::Unit::TestCase
42
41
  assert_equal(expected, returned)
43
42
  end
44
43
 
45
- should "add required code to implementation with void function" do
44
+ it "add required code to implementation with void function" do
46
45
  function = {:name => "Mold", :args_string => "void", :return => test_return[:void]}
47
46
  expected = [" if (cmock_call_instance->IgnoreMode == CMOCK_ARG_NONE)\n",
48
47
  " {\n",
@@ -53,10 +52,10 @@ class CMockGeneratorPluginExpectAnyArgsTest < Test::Unit::TestCase
53
52
  assert_equal(expected, returned)
54
53
  end
55
54
 
56
- should "add required code to implementation with return functions" do
55
+ it "add required code to implementation with return functions" do
57
56
  function = {:name => "Fungus", :args_string => "void", :return => test_return[:int]}
58
57
  retval = test_return[:int].merge({ :name => "cmock_call_instance->ReturnVal"})
59
- @utils.expect.code_assign_argument_quickly("Mock.Fungus_FinalReturn", retval).returns(' mock_retval_0')
58
+ @utils.expect :code_assign_argument_quickly, ' mock_retval_0', ["Mock.Fungus_FinalReturn", retval]
60
59
  expected = [" if (cmock_call_instance->IgnoreMode == CMOCK_ARG_NONE)\n",
61
60
  " {\n",
62
61
  " mock_retval_0",
@@ -67,7 +66,7 @@ class CMockGeneratorPluginExpectAnyArgsTest < Test::Unit::TestCase
67
66
  assert_equal(expected, returned)
68
67
  end
69
68
 
70
- should "add a new mock interface for ignoring when function had no return value" do
69
+ it "add a new mock interface for ignoring when function had no return value" do
71
70
  function = {:name => "Slime", :args => [], :args_string => "void", :return => test_return[:void]}
72
71
  expected = ["void Slime_CMockExpectAnyArgs(UNITY_LINE_TYPE cmock_line)\n",
73
72
  "{\n",
@@ -75,7 +74,7 @@ class CMockGeneratorPluginExpectAnyArgsTest < Test::Unit::TestCase
75
74
  " cmock_call_instance->IgnoreMode = CMOCK_ARG_NONE;\n",
76
75
  "}\n\n"
77
76
  ].join
78
- @utils.expect.code_add_base_expectation("Slime", true).returns("mock_return_1")
77
+ @utils.expect :code_add_base_expectation, "mock_return_1", ["Slime", true]
79
78
  returned = @cmock_generator_plugin_expect_any_args.mock_interfaces(function)
80
79
  assert_equal(expected, returned)
81
80
  end
@@ -2,143 +2,142 @@
2
2
  # CMock Project - Automatic Mock Generation for C
3
3
  # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
4
4
  # [Released under MIT License. Please refer to license.txt for details]
5
- # ==========================================
5
+ # ==========================================
6
6
 
7
7
  require File.expand_path(File.dirname(__FILE__)) + "/../test_helper"
8
8
  require 'cmock_generator_plugin_expect'
9
9
 
10
- class CMockGeneratorPluginExpectTest < Test::Unit::TestCase
11
- def setup
10
+ describe CMockGeneratorPluginExpect, "Verify CMockGeneratorPluginExpect Module" do
11
+
12
+ before do
12
13
  create_mocks :config, :utils
13
-
14
- #no strict ordering and args_and_calls
15
- @config.expect.when_ptr.returns(:compare_data)
16
- @config.expect.enforce_strict_ordering.returns(false)
17
- @config.stubs!(:respond_to?).returns(true)
18
- # @config.expect.ignore.returns(:args_and_calls)
19
- @utils.expect.helpers.returns({})
14
+
15
+ @config = create_stub(
16
+ :when_ptr => :compare_data,
17
+ :enforce_strict_ordering => false,
18
+ :respond_to? => true )
19
+
20
+ @utils.expect :helpers, {}
20
21
  @cmock_generator_plugin_expect = CMockGeneratorPluginExpect.new(@config, @utils)
21
-
22
- #strict ordering and args_only
23
- @config.expect.when_ptr.returns(:compare_data)
24
- @config.expect.enforce_strict_ordering.returns(true)
25
- @config.stubs!(:respond_to?).returns(true)
26
- # @config.expect.ignore.returns(:args_only)
27
- @utils.expect.helpers.returns({})
28
- @cmock_generator_plugin_expect_strict = CMockGeneratorPluginExpect.new(@config, @utils)
29
- end
30
-
31
- def teardown
32
- end
33
-
34
- should "have set up internal accessors correctly on init" do
35
- assert_equal(@config, @cmock_generator_plugin_expect.config)
36
- assert_equal(@utils, @cmock_generator_plugin_expect.utils)
22
+
23
+ @config_strict = create_stub(
24
+ :when_ptr => :compare_data,
25
+ :enforce_strict_ordering => true,
26
+ :respond_to? => true )
27
+
28
+ @utils.expect :helpers, {}
29
+ @cmock_generator_plugin_expect_strict = CMockGeneratorPluginExpect.new(@config_strict, @utils)
30
+ end
31
+
32
+ after do
33
+ end
34
+
35
+ it "have set up internal priority on init" do
37
36
  assert_equal(nil, @cmock_generator_plugin_expect.unity_helper)
38
37
  assert_equal(5, @cmock_generator_plugin_expect.priority)
39
38
  end
40
-
41
- should "not include any additional include files" do
39
+
40
+ it "not include any additional include files" do
42
41
  assert(!@cmock_generator_plugin_expect.respond_to?(:include_files))
43
42
  end
44
-
45
- should "add to typedef structure mock needs of functions of style 'void func(void)'" do
43
+
44
+ it "add to typedef structure mock needs of functions of style 'void func(void)'" do
46
45
  function = {:name => "Oak", :args => [], :return => test_return[:void]}
47
46
  expected = ""
48
47
  returned = @cmock_generator_plugin_expect.instance_typedefs(function)
49
48
  assert_equal(expected, returned)
50
49
  end
51
-
52
- should "add to typedef structure mock needs of functions of style 'int func(void)'" do
50
+
51
+ it "add to typedef structure mock needs of functions of style 'int func(void)'" do
53
52
  function = {:name => "Elm", :args => [], :return => test_return[:int]}
54
53
  expected = " int ReturnVal;\n"
55
54
  returned = @cmock_generator_plugin_expect.instance_typedefs(function)
56
55
  assert_equal(expected, returned)
57
56
  end
58
-
59
- should "add to typedef structure mock needs of functions of style 'void func(int chicken, char* pork)'" do
57
+
58
+ it "add to typedef structure mock needs of functions of style 'void func(int chicken, char* pork)'" do
60
59
  function = {:name => "Cedar", :args => [{ :name => "chicken", :type => "int"}, { :name => "pork", :type => "char*"}], :return => test_return[:void]}
61
60
  expected = " int Expected_chicken;\n char* Expected_pork;\n"
62
61
  returned = @cmock_generator_plugin_expect.instance_typedefs(function)
63
62
  assert_equal(expected, returned)
64
63
  end
65
-
66
- should "add to typedef structure mock needs of functions of style 'int func(float beef)'" do
64
+
65
+ it "add to typedef structure mock needs of functions of style 'int func(float beef)'" do
67
66
  function = {:name => "Birch", :args => [{ :name => "beef", :type => "float"}], :return => test_return[:int]}
68
67
  expected = " int ReturnVal;\n float Expected_beef;\n"
69
68
  returned = @cmock_generator_plugin_expect.instance_typedefs(function)
70
69
  assert_equal(expected, returned)
71
70
  end
72
-
73
- should "add to typedef structure mock needs of functions of style 'void func(void)' and global ordering" do
71
+
72
+ it "add to typedef structure mock needs of functions of style 'void func(void)' and global ordering" do
74
73
  function = {:name => "Oak", :args => [], :return => test_return[:void]}
75
74
  expected = " int CallOrder;\n"
76
75
  returned = @cmock_generator_plugin_expect_strict.instance_typedefs(function)
77
76
  assert_equal(expected, returned)
78
77
  end
79
-
80
- should "add mock function declaration for functions of style 'void func(void)'" do
78
+
79
+ it "add mock function declaration for functions of style 'void func(void)'" do
81
80
  function = {:name => "Maple", :args => [], :return => test_return[:void]}
82
81
  expected = "#define Maple_Expect() Maple_CMockExpect(__LINE__)\n" +
83
82
  "void Maple_CMockExpect(UNITY_LINE_TYPE cmock_line);\n"
84
83
  returned = @cmock_generator_plugin_expect.mock_function_declarations(function)
85
84
  assert_equal(expected, returned)
86
85
  end
87
-
88
- should "add mock function declaration for functions of style 'int func(void)'" do
86
+
87
+ it "add mock function declaration for functions of style 'int func(void)'" do
89
88
  function = {:name => "Spruce", :args => [], :return => test_return[:int]}
90
89
  expected = "#define Spruce_ExpectAndReturn(cmock_retval) Spruce_CMockExpectAndReturn(__LINE__, cmock_retval)\n" +
91
90
  "void Spruce_CMockExpectAndReturn(UNITY_LINE_TYPE cmock_line, int cmock_to_return);\n"
92
91
  returned = @cmock_generator_plugin_expect.mock_function_declarations(function)
93
92
  assert_equal(expected, returned)
94
93
  end
95
-
96
- should "add mock function declaration for functions of style 'const char* func(int tofu)'" do
94
+
95
+ it "add mock function declaration for functions of style 'const char* func(int tofu)'" do
97
96
  function = {:name => "Pine", :args => ["int tofu"], :args_string => "int tofu", :args_call => 'tofu', :return => test_return[:string]}
98
97
  expected = "#define Pine_ExpectAndReturn(tofu, cmock_retval) Pine_CMockExpectAndReturn(__LINE__, tofu, cmock_retval)\n" +
99
98
  "void Pine_CMockExpectAndReturn(UNITY_LINE_TYPE cmock_line, int tofu, const char* cmock_to_return);\n"
100
99
  returned = @cmock_generator_plugin_expect.mock_function_declarations(function)
101
100
  assert_equal(expected, returned)
102
101
  end
103
-
104
- should "add mock function implementation for functions of style 'void func(void)'" do
102
+
103
+ it "add mock function implementation for functions of style 'void func(void)'" do
105
104
  function = {:name => "Apple", :args => [], :return => test_return[:void]}
106
105
  expected = ""
107
106
  returned = @cmock_generator_plugin_expect.mock_implementation(function)
108
107
  assert_equal(expected, returned)
109
108
  end
110
-
111
- should "add mock function implementation for functions of style 'int func(int veal, unsigned int sushi)'" do
109
+
110
+ it "add mock function implementation for functions of style 'int func(int veal, unsigned int sushi)'" do
112
111
  function = {:name => "Cherry", :args => [ { :type => "int", :name => "veal" }, { :type => "unsigned int", :name => "sushi" } ], :return => test_return[:int]}
113
-
114
- @utils.expect.code_verify_an_arg_expectation(function, function[:args][0]).returns(" mocked_retval_1")
115
- @utils.expect.code_verify_an_arg_expectation(function, function[:args][1]).returns(" mocked_retval_2")
112
+
113
+ @utils.expect :code_verify_an_arg_expectation, " mocked_retval_1", [function, function[:args][0]]
114
+ @utils.expect :code_verify_an_arg_expectation, " mocked_retval_2", [function, function[:args][1]]
116
115
  expected = " mocked_retval_1 mocked_retval_2"
117
116
  returned = @cmock_generator_plugin_expect.mock_implementation(function)
118
117
  assert_equal(expected, returned)
119
118
  end
120
-
121
- should "add mock function implementation using ordering if needed" do
119
+
120
+ it "add mock function implementation using ordering if needed" do
122
121
  function = {:name => "Apple", :args => [], :return => test_return[:void]}
123
122
  expected = ""
124
123
  @cmock_generator_plugin_expect.ordered = true
125
124
  returned = @cmock_generator_plugin_expect.mock_implementation(function)
126
125
  assert_equal(expected, returned)
127
126
  end
128
-
129
- should "add mock function implementation for functions of style 'void func(int worm)' and strict ordering" do
127
+
128
+ it "add mock function implementation for functions of style 'void func(int worm)' and strict ordering" do
130
129
  function = {:name => "Apple", :args => [{ :type => "int", :name => "worm" }], :return => test_return[:void]}
131
- @utils.expect.code_verify_an_arg_expectation(function, function[:args][0]).returns("mocked_retval_0")
130
+ @utils.expect :code_verify_an_arg_expectation, "mocked_retval_0", [function, function[:args][0]]
132
131
  expected = "mocked_retval_0"
133
132
  @cmock_generator_plugin_expect.ordered = true
134
133
  returned = @cmock_generator_plugin_expect_strict.mock_implementation(function)
135
134
  assert_equal(expected, returned)
136
135
  end
137
-
138
- should "add mock interfaces for functions of style 'void func(void)'" do
136
+
137
+ it "add mock interfaces for functions of style 'void func(void)'" do
139
138
  function = {:name => "Pear", :args => [], :args_string => "void", :return => test_return[:void]}
140
- @utils.expect.code_add_base_expectation("Pear").returns("mock_retval_0 ")
141
- @utils.expect.code_call_argument_loader(function).returns("mock_retval_1 ")
139
+ @utils.expect :code_add_base_expectation, "mock_retval_0 ", ["Pear"]
140
+ @utils.expect :code_call_argument_loader, "mock_retval_1 ", [function]
142
141
  expected = ["void Pear_CMockExpect(UNITY_LINE_TYPE cmock_line)\n",
143
142
  "{\n",
144
143
  "mock_retval_0 ",
@@ -148,12 +147,12 @@ class CMockGeneratorPluginExpectTest < Test::Unit::TestCase
148
147
  returned = @cmock_generator_plugin_expect.mock_interfaces(function)
149
148
  assert_equal(expected, returned)
150
149
  end
151
-
152
- should "add mock interfaces for functions of style 'int func(void)'" do
150
+
151
+ it "add mock interfaces for functions of style 'int func(void)'" do
153
152
  function = {:name => "Orange", :args => [], :args_string => "void", :return => test_return[:int]}
154
- @utils.expect.code_add_base_expectation("Orange").returns("mock_retval_0 ")
155
- @utils.expect.code_call_argument_loader(function).returns("mock_retval_1 ")
156
- @utils.expect.code_assign_argument_quickly("cmock_call_instance->ReturnVal", function[:return]).returns("mock_retval_2")
153
+ @utils.expect :code_add_base_expectation, "mock_retval_0 ", ["Orange"]
154
+ @utils.expect :code_call_argument_loader, "mock_retval_1 ", [function]
155
+ @utils.expect :code_assign_argument_quickly, "mock_retval_2", ["cmock_call_instance->ReturnVal", function[:return]]
157
156
  expected = ["void Orange_CMockExpectAndReturn(UNITY_LINE_TYPE cmock_line, int cmock_to_return)\n",
158
157
  "{\n",
159
158
  "mock_retval_0 ",
@@ -164,12 +163,12 @@ class CMockGeneratorPluginExpectTest < Test::Unit::TestCase
164
163
  returned = @cmock_generator_plugin_expect.mock_interfaces(function)
165
164
  assert_equal(expected, returned)
166
165
  end
167
-
168
- should "add mock interfaces for functions of style 'int func(char* pescado)'" do
166
+
167
+ it "add mock interfaces for functions of style 'int func(char* pescado)'" do
169
168
  function = {:name => "Lemon", :args => [{ :type => "char*", :name => "pescado"}], :args_string => "char* pescado", :return => test_return[:int]}
170
- @utils.expect.code_add_base_expectation("Lemon").returns("mock_retval_0 ")
171
- @utils.expect.code_call_argument_loader(function).returns("mock_retval_1 ")
172
- @utils.expect.code_assign_argument_quickly("cmock_call_instance->ReturnVal", function[:return]).returns("mock_retval_2")
169
+ @utils.expect :code_add_base_expectation, "mock_retval_0 ", ["Lemon"]
170
+ @utils.expect :code_call_argument_loader, "mock_retval_1 ", [function]
171
+ @utils.expect :code_assign_argument_quickly, "mock_retval_2", ["cmock_call_instance->ReturnVal", function[:return]]
173
172
  expected = ["void Lemon_CMockExpectAndReturn(UNITY_LINE_TYPE cmock_line, char* pescado, int cmock_to_return)\n",
174
173
  "{\n",
175
174
  "mock_retval_0 ",
@@ -180,11 +179,11 @@ class CMockGeneratorPluginExpectTest < Test::Unit::TestCase
180
179
  returned = @cmock_generator_plugin_expect.mock_interfaces(function)
181
180
  assert_equal(expected, returned)
182
181
  end
183
-
184
- should "add mock interfaces for functions when using ordering" do
182
+
183
+ it "add mock interfaces for functions when using ordering" do
185
184
  function = {:name => "Pear", :args => [], :args_string => "void", :return => test_return[:void]}
186
- @utils.expect.code_add_base_expectation("Pear").returns("mock_retval_0 ")
187
- @utils.expect.code_call_argument_loader(function).returns("mock_retval_1 ")
185
+ @utils.expect :code_add_base_expectation, "mock_retval_0 ", ["Pear"]
186
+ @utils.expect :code_call_argument_loader, "mock_retval_1 ", [function]
188
187
  expected = ["void Pear_CMockExpect(UNITY_LINE_TYPE cmock_line)\n",
189
188
  "{\n",
190
189
  "mock_retval_0 ",
@@ -195,12 +194,12 @@ class CMockGeneratorPluginExpectTest < Test::Unit::TestCase
195
194
  returned = @cmock_generator_plugin_expect.mock_interfaces(function)
196
195
  assert_equal(expected, returned)
197
196
  end
198
-
199
- should "add mock verify lines" do
197
+
198
+ it "add mock verify lines" do
200
199
  function = {:name => "Banana" }
201
200
  expected = " UNITY_TEST_ASSERT(CMOCK_GUTS_NONE == Mock.Banana_CallInstance, cmock_line, \"Function 'Banana' called less times than expected.\");\n"
202
201
  returned = @cmock_generator_plugin_expect.mock_verify(function)
203
202
  assert_equal(expected, returned)
204
203
  end
205
-
204
+
206
205
  end