ceedling 0.17.0 → 0.18.0

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