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
@@ -10,33 +10,33 @@ $QUICK_RUBY_VERSION = RUBY_VERSION.split('.').inject(0){|vv,v| vv * 100 + v.to_i
10
10
  require File.expand_path(File.dirname(__FILE__)) + "/../test_helper"
11
11
  require 'cmock_header_parser'
12
12
 
13
- class CMockHeaderParserTest < Test::Unit::TestCase
13
+ describe CMockHeaderParser, "Verify CMockHeaderParser Module" do
14
14
 
15
- def setup
15
+ before do
16
16
  create_mocks :config
17
17
  @test_name = 'test_file.h'
18
- @config.expect.strippables.returns(["STRIPPABLE"])
19
- @config.expect.attributes.returns(['__ramfunc', 'funky_attrib', 'SQLITE_API'])
20
- @config.expect.c_calling_conventions.returns(['__stdcall'])
21
- @config.expect.treat_as_void.returns(['MY_FUNKY_VOID'])
22
- @config.expect.treat_as.returns({ "BANJOS" => "INT", "TUBAS" => "HEX16"} )
23
- @config.expect.when_no_prototypes.returns(:error)
24
- @config.expect.verbosity.returns(1)
25
- @config.expect.treat_externs.returns(:exclude)
18
+ @config.expect :strippables, ["STRIPPABLE"]
19
+ @config.expect :attributes, ['__ramfunc', 'funky_attrib', 'SQLITE_API']
20
+ @config.expect :c_calling_conventions, ['__stdcall']
21
+ @config.expect :treat_as_void, ['MY_FUNKY_VOID']
22
+ @config.expect :treat_as, { "BANJOS" => "INT", "TUBAS" => "HEX16"}
23
+ @config.expect :when_no_prototypes, :error
24
+ @config.expect :verbosity, 1
25
+ @config.expect :treat_externs, :exclude
26
26
 
27
27
  @parser = CMockHeaderParser.new(@config)
28
28
  end
29
29
 
30
- def teardown
30
+ after do
31
31
  end
32
32
 
33
- should "create and initialize variables to defaults appropriately" do
33
+ it "create and initialize variables to defaults appropriately" do
34
34
  assert_equal([], @parser.funcs)
35
35
  assert_equal(['const', '__ramfunc', 'funky_attrib', 'SQLITE_API'], @parser.c_attributes)
36
36
  assert_equal(['void','MY_FUNKY_VOID'], @parser.treat_as_void)
37
37
  end
38
38
 
39
- should "strip out line comments" do
39
+ it "strip out line comments" do
40
40
  source =
41
41
  " abcd;\n" +
42
42
  "// hello;\n" +
@@ -51,7 +51,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
51
51
  assert_equal(expected, @parser.import_source(source).map!{|s|s.strip})
52
52
  end
53
53
 
54
- should "remove block comments" do
54
+ it "remove block comments" do
55
55
  source =
56
56
  " no_comments;\n" +
57
57
  "// basic_line_comment;\n" +
@@ -84,7 +84,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
84
84
  assert_equal(expected, @parser.import_source(source).map!{|s|s.strip})
85
85
  end
86
86
 
87
- should "remove strippables from the beginning or end of function declarations" do
87
+ it "remove strippables from the beginning or end of function declarations" do
88
88
  source =
89
89
  "void* my_calloc(size_t, size_t) STRIPPABLE;\n" +
90
90
  "void\n" +
@@ -104,7 +104,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
104
104
  assert_equal(expected, @parser.import_source(source))
105
105
  end
106
106
 
107
- should "remove gcc's function __attribute__'s" do
107
+ it "remove gcc's function __attribute__'s" do
108
108
  source =
109
109
  "void* my_calloc(size_t, size_t) __attribute__((alloc_size(1,2)));\n" +
110
110
  "void\n" +
@@ -124,7 +124,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
124
124
  assert_equal(expected, @parser.import_source(source))
125
125
  end
126
126
 
127
- should "remove preprocessor directives" do
127
+ it "remove preprocessor directives" do
128
128
  source =
129
129
  "#when stuff_happens\n" +
130
130
  "#ifdef _TEST\n" +
@@ -136,7 +136,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
136
136
  end
137
137
 
138
138
 
139
- should "remove assembler pragma sections" do
139
+ it "remove assembler pragma sections" do
140
140
  source =
141
141
  " #pragma\tasm\n" +
142
142
  " .foo\n" +
@@ -151,7 +151,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
151
151
  end
152
152
 
153
153
 
154
- should "smush lines together that contain continuation characters" do
154
+ it "smush lines together that contain continuation characters" do
155
155
  source =
156
156
  "hoo hah \\\n" +
157
157
  "when \\ \n"
@@ -165,7 +165,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
165
165
  end
166
166
 
167
167
 
168
- should "remove C macro definitions" do
168
+ it "remove C macro definitions" do
169
169
  source =
170
170
  "#define this is the first line\\\n" +
171
171
  "and the second\\\n" +
@@ -178,7 +178,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
178
178
  end
179
179
 
180
180
 
181
- should "remove typedef statements" do
181
+ it "remove typedef statements" do
182
182
  source =
183
183
  "typedef uint32 (unsigned int);\n" +
184
184
  "const typedef int INT;\n" +
@@ -212,7 +212,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
212
212
  end
213
213
 
214
214
 
215
- should "remove enum statements" do
215
+ it "remove enum statements" do
216
216
  source =
217
217
  "enum _NamedEnum {\n" +
218
218
  " THING1 = (0x0001),\n" +
@@ -230,7 +230,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
230
230
  end
231
231
 
232
232
 
233
- should "remove union statements" do
233
+ it "remove union statements" do
234
234
  source =
235
235
  "union _NamedDoohicky {\n" +
236
236
  " unsigned int a;\n" +
@@ -248,7 +248,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
248
248
  end
249
249
 
250
250
 
251
- should "remove struct statements" do
251
+ it "remove struct statements" do
252
252
  source =
253
253
  "struct _NamedStruct1 {\n" +
254
254
  " unsigned int a;\n" +
@@ -270,7 +270,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
270
270
  @parser.import_source(source).map!{|s|s.strip})
271
271
  end
272
272
 
273
- should "remove externed and inline functions" do
273
+ it "remove externed and inline functions" do
274
274
  source =
275
275
  " extern uint32 foobar(unsigned int);\n" +
276
276
  "uint32 extern_name_func(unsigned int);\n" +
@@ -289,26 +289,29 @@ class CMockHeaderParserTest < Test::Unit::TestCase
289
289
  assert_equal(expected, @parser.import_source(source).map!{|s|s.strip})
290
290
  end
291
291
 
292
- should "remove function definitions but keep function declarations" do
292
+ it "remove function definitions but keep function declarations" do
293
293
  source =
294
294
  "uint32 func_with_decl_a(unsigned int);\n" +
295
295
  "uint32 func_with_decl_a(unsigned int a) { return a; }\n" +
296
296
  "uint32 func_with_decl_b(unsigned int);\n" +
297
- "uint32 func_with_decl_b(unsigned int)\n" +
297
+ "uint32 func_with_decl_b(unsigned int a)\n" +
298
298
  "{\n" +
299
- " bar(unsigned int);\n" +
299
+ " bar((unsigned int) a);\n" +
300
+ " stripme(a);\n" +
300
301
  "}\n"
301
302
 
302
303
  expected =
303
304
  [
304
305
  "uint32 func_with_decl_a(unsigned int)",
305
- "uint32 func_with_decl_b(unsigned int)"
306
+ "uint32 func_with_decl_a", #okay. it's not going to be interpretted as another function
307
+ "uint32 func_with_decl_b(unsigned int)",
308
+ "uint32 func_with_decl_b", #okay. it's not going to be interpretted as another function
306
309
  ]
307
310
 
308
311
  assert_equal(expected, @parser.import_source(source).map!{|s|s.strip})
309
312
  end
310
313
 
311
- should "remove a fully defined inline function" do
314
+ it "remove a fully defined inline function" do
312
315
  source =
313
316
  "inline void foo(unsigned int a) { oranges = a; }\n" +
314
317
  "inline void bar(unsigned int a) { apples = a; };\n" +
@@ -318,7 +321,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
318
321
  "}"
319
322
 
320
323
  # ensure it's expected type of exception
321
- assert_raise RuntimeError do
324
+ assert_raises RuntimeError do
322
325
  @parser.parse("module", source)
323
326
  end
324
327
 
@@ -332,7 +335,31 @@ class CMockHeaderParserTest < Test::Unit::TestCase
332
335
  end
333
336
  end
334
337
 
335
- should "remove just inline functions if externs to be included" do
338
+ it "remove a fully defined inline function that is multiple lines" do
339
+ source =
340
+ "inline void bar(unsigned int a)\n" +
341
+ "{" +
342
+ " bananas = a;\n" +
343
+ " grapes = a;\n" +
344
+ " apples(bananas, grapes);\n" +
345
+ "}"
346
+
347
+ # ensure it's expected type of exception
348
+ assert_raises RuntimeError do
349
+ @parser.parse("module", source)
350
+ end
351
+
352
+ assert_equal([], @parser.funcs)
353
+
354
+ # verify exception message
355
+ begin
356
+ @parser.parse("module", source)
357
+ rescue RuntimeError => e
358
+ assert_equal("ERROR: No function prototypes found!", e.message)
359
+ end
360
+ end
361
+
362
+ it "remove just inline functions if externs to be included" do
336
363
  source =
337
364
  " extern uint32 foobar(unsigned int);\n" +
338
365
  "uint32 extern_name_func(unsigned int);\n" +
@@ -355,7 +382,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
355
382
  end
356
383
 
357
384
 
358
- should "remove defines" do
385
+ it "remove defines" do
359
386
  source =
360
387
  "#define whatever you feel like defining\n" +
361
388
  "void hello(void);\n" +
@@ -372,7 +399,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
372
399
  end
373
400
 
374
401
 
375
- should "remove keywords that would keep things from going smoothly in the future" do
402
+ it "remove keywords that would keep things from going smoothly in the future" do
376
403
  source =
377
404
  "const int TheMatrix(register int Trinity, unsigned int *restrict Neo)"
378
405
 
@@ -387,7 +414,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
387
414
 
388
415
  # some code actually typedef's void even though it's not ANSI C and is, frankly, weird
389
416
  # since cmock treats void specially, we can't let void be obfuscated
390
- should "handle odd case of typedef'd void returned" do
417
+ it "handle odd case of typedef'd void returned" do
391
418
  source = "MY_FUNKY_VOID FunkyVoidReturned(int a)"
392
419
  expected = { :var_arg=>nil,
393
420
  :name=>"FunkyVoidReturned",
@@ -406,7 +433,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
406
433
  assert_equal(expected, @parser.parse_declaration(source))
407
434
  end
408
435
 
409
- should "handle odd case of typedef'd void as arg" do
436
+ it "handle odd case of typedef'd void as arg" do
410
437
  source = "int FunkyVoidAsArg(MY_FUNKY_VOID)"
411
438
  expected = { :var_arg=>nil,
412
439
  :name=>"FunkyVoidAsArg",
@@ -425,7 +452,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
425
452
  assert_equal(expected, @parser.parse_declaration(source))
426
453
  end
427
454
 
428
- should "handle odd case of typedef'd void as arg pointer" do
455
+ it "handle odd case of typedef'd void as arg pointer" do
429
456
  source = "char FunkyVoidPointer(MY_FUNKY_VOID* bluh)"
430
457
  expected = { :var_arg=>nil,
431
458
  :name=>"FunkyVoidPointer",
@@ -445,7 +472,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
445
472
  end
446
473
 
447
474
 
448
- should "strip default values from function parameter lists" do
475
+ it "strip default values from function parameter lists" do
449
476
  source =
450
477
  "void Foo(int a = 57, float b=37.52, char c= 'd', char* e=\"junk\");\n"
451
478
 
@@ -458,11 +485,11 @@ class CMockHeaderParserTest < Test::Unit::TestCase
458
485
  end
459
486
 
460
487
 
461
- should "raise upon empty file" do
488
+ it "raise upon empty file" do
462
489
  source = ''
463
490
 
464
491
  # ensure it's expected type of exception
465
- assert_raise RuntimeError do
492
+ assert_raises RuntimeError do
466
493
  @parser.parse("module", source)
467
494
  end
468
495
 
@@ -476,14 +503,14 @@ class CMockHeaderParserTest < Test::Unit::TestCase
476
503
  end
477
504
  end
478
505
 
479
- should "clean up module names that contain spaces, dashes, and such" do
506
+ it "clean up module names that contain spaces, dashes, and such" do
480
507
  source = 'void meh(int (*func)(int));'
481
508
 
482
509
  retval = @parser.parse("C:\Ugly Module-Name", source)
483
510
  assert (retval[:typedefs][0] =~ /CUglyModuleName/)
484
511
  end
485
512
 
486
- should "raise upon no function prototypes found in file" do
513
+ it "raise upon no function prototypes found in file" do
487
514
  source =
488
515
  "typedef void SILLY_VOID_TYPE1;\n" +
489
516
  "typedef (void) SILLY_VOID_TYPE2 ;\n" +
@@ -491,7 +518,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
491
518
  "#define get_foo() \\\n ((Thing)foo.bar)"
492
519
 
493
520
  # ensure it's expected type of exception
494
- assert_raise(RuntimeError) do
521
+ assert_raises(RuntimeError) do
495
522
  @parser.parse("module", source)
496
523
  end
497
524
 
@@ -506,11 +533,11 @@ class CMockHeaderParserTest < Test::Unit::TestCase
506
533
  end
507
534
 
508
535
 
509
- should "raise upon prototype parsing failure" do
536
+ it "raise upon prototype parsing failure" do
510
537
  source = "void (int, )"
511
538
 
512
539
  # ensure it's expected type of exception
513
- assert_raise(RuntimeError) do
540
+ assert_raises(RuntimeError) do
514
541
  @parser.parse("module", source)
515
542
  end
516
543
 
@@ -522,7 +549,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
522
549
  end
523
550
  end
524
551
 
525
- should "extract and return function declarations with retval and args" do
552
+ it "extract and return function declarations with retval and args" do
526
553
 
527
554
  source = "int Foo(int a, unsigned int b)"
528
555
  expected = { :var_arg=>nil,
@@ -544,7 +571,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
544
571
  assert_equal(expected, @parser.parse_declaration(source))
545
572
  end
546
573
 
547
- should "extract and return function declarations with no retval" do
574
+ it "extract and return function declarations with no retval" do
548
575
 
549
576
  source = "void FunkyChicken( uint la, int de, bool da)"
550
577
  expected = { :var_arg=>nil,
@@ -567,7 +594,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
567
594
  assert_equal(expected, @parser.parse_declaration(source))
568
595
  end
569
596
 
570
- should "extract and return function declarations with implied voids" do
597
+ it "extract and return function declarations with implied voids" do
571
598
 
572
599
  source = "void tat()"
573
600
  expected = { :var_arg=>nil,
@@ -587,7 +614,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
587
614
  assert_equal(expected, @parser.parse_declaration(source))
588
615
  end
589
616
 
590
- should "extract modifiers properly" do
617
+ it "extract modifiers properly" do
591
618
 
592
619
  source = "const int TheMatrix(int Trinity, unsigned int * Neo)"
593
620
  expected = { :var_arg=>nil,
@@ -609,7 +636,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
609
636
  assert_equal(expected, @parser.parse_declaration(source))
610
637
  end
611
638
 
612
- should "extract c calling conventions properly" do
639
+ it "extract c calling conventions properly" do
613
640
 
614
641
  source = "const int __stdcall TheMatrix(int Trinity, unsigned int * Neo)"
615
642
  expected = { :var_arg=>nil,
@@ -632,7 +659,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
632
659
  assert_equal(expected, @parser.parse_declaration(source))
633
660
  end
634
661
 
635
- should "fully parse multiple prototypes" do
662
+ it "fully parse multiple prototypes" do
636
663
 
637
664
  source = "const int TheMatrix(int Trinity, unsigned int * Neo);\n" +
638
665
  "int Morpheus(int, unsigned int*);\n"
@@ -673,7 +700,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
673
700
  assert_equal(expected, @parser.parse("module", source)[:functions])
674
701
  end
675
702
 
676
- should "not extract for mocking multiply defined prototypes" do
703
+ it "not extract for mocking multiply defined prototypes" do
677
704
 
678
705
  source = "const int TheMatrix(int Trinity, unsigned int * Neo);\n" +
679
706
  "const int TheMatrix(int, unsigned int*);\n"
@@ -698,7 +725,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
698
725
  assert_equal(expected, @parser.parse("module", source)[:functions])
699
726
  end
700
727
 
701
- should "properly detect typedef'd variants of void and use those" do
728
+ it "properly detect typedef'd variants of void and use those" do
702
729
 
703
730
  source = "typedef (void) FUNKY_VOID_T;\n" +
704
731
  "typedef void CHUNKY_VOID_T;\n" +
@@ -738,7 +765,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
738
765
  assert_equal(expected, @parser.parse("module", source)[:functions])
739
766
  end
740
767
 
741
- should "be ok with structs inside of function declarations" do
768
+ it "be ok with structs inside of function declarations" do
742
769
 
743
770
  source = "int DrHorrible(struct SingAlong Blog);\n" +
744
771
  "void Penny(struct const _KeepYourHeadUp_ * const BillyBuddy);\n" +
@@ -792,7 +819,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
792
819
  assert_equal(expected, @parser.parse("module", source)[:functions])
793
820
  end
794
821
 
795
- should "extract functions containing unions with union specifier" do
822
+ it "extract functions containing unions with union specifier" do
796
823
  source = "void OrangePeel(union STARS_AND_STRIPES * a, union AFL_CIO b)"
797
824
  expected = [{ :var_arg=>nil,
798
825
  :return=>{ :type => "void",
@@ -814,7 +841,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
814
841
  assert_equal(expected, result[:functions])
815
842
  end
816
843
 
817
- should "not be thwarted by variables named with primitive types as part of the name" do
844
+ it "not be thwarted by variables named with primitive types as part of the name" do
818
845
  source = "void ApplePeel(const unsigned int const_param, int int_param, int integer, char character, int* const constant)"
819
846
  expected = [{ :var_arg=>nil,
820
847
  :return=>{ :type => "void",
@@ -839,7 +866,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
839
866
  assert_equal(expected, result[:functions])
840
867
  end
841
868
 
842
- should "not be thwarted by custom types named similarly to primitive types" do
869
+ it "not be thwarted by custom types named similarly to primitive types" do
843
870
  source = "void LemonPeel(integer param, character thing, longint * junk, constant value, int32_t const number)"
844
871
  expected = [{:var_arg=>nil,
845
872
  :return=>{ :type => "void",
@@ -864,7 +891,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
864
891
  assert_equal(expected, result[:functions])
865
892
  end
866
893
 
867
- should "handle some of those chains of C name specifiers naturally" do
894
+ it "handle some of those chains of C name specifiers naturally" do
868
895
  source = "void CoinOperated(signed char abc, const unsigned long int xyz_123, unsigned int const abc_123, long long arm_of_the_law)"
869
896
  expected = [{:var_arg=>nil,
870
897
  :return=>{ :type => "void",
@@ -888,7 +915,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
888
915
  assert_equal(expected, result[:functions])
889
916
  end
890
917
 
891
- should "handle custom types of various formats" do
918
+ it "handle custom types of various formats" do
892
919
  source = "void CardOperated(CUSTOM_TYPE abc, CUSTOM_TYPE* xyz_123, CUSTOM_TYPE const abcxyz, struct CUSTOM_TYPE const * const abc123)"
893
920
  expected = [{:var_arg=>nil,
894
921
  :return=>{ :type => "void",
@@ -912,7 +939,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
912
939
  assert_equal(expected, result[:functions])
913
940
  end
914
941
 
915
- should "handle arrays and treat them as pointers" do
942
+ it "handle arrays and treat them as pointers" do
916
943
  source = "void KeyOperated(CUSTOM_TYPE thing1[], int thing2 [ ], char thing3 [][2 ][ 3], int* thing4[4])"
917
944
  expected = [{:var_arg=>nil,
918
945
  :return=>{ :type => "void",
@@ -936,7 +963,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
936
963
  assert_equal(expected, result[:functions])
937
964
  end
938
965
 
939
- should "give a reasonable guess when dealing with weird combinations of custom types and modifiers" do
966
+ it "give a reasonable guess when dealing with weird combinations of custom types and modifiers" do
940
967
  source = "void Cheese(unsigned CUSTOM_TYPE abc, unsigned xyz, CUSTOM_TYPE1 CUSTOM_TYPE2 pdq)"
941
968
  expected = [{:var_arg=>nil,
942
969
  :return=>{ :type => "void",
@@ -959,7 +986,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
959
986
  assert_equal(expected, result[:functions])
960
987
  end
961
988
 
962
- should "extract functions containing a function pointer" do
989
+ it "extract functions containing a function pointer" do
963
990
  source = "void FunkyTurkey(unsigned int (*func_ptr)(int, char))"
964
991
  expected = [{ :var_arg=>nil,
965
992
  :return=>{ :type => "void",
@@ -982,7 +1009,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
982
1009
  assert_equal(typedefs, result[:typedefs])
983
1010
  end
984
1011
 
985
- should "extract functions containing a function pointer with an implied void" do
1012
+ it "extract functions containing a function pointer with an implied void" do
986
1013
  source = "void FunkyTurkey(unsigned int (*func_ptr)())"
987
1014
  expected = [{ :var_arg=>nil,
988
1015
  :return=>{ :type => "void",
@@ -1005,7 +1032,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
1005
1032
  assert_equal(typedefs, result[:typedefs])
1006
1033
  end
1007
1034
 
1008
- should "extract functions containing a constant function pointer and a pointer in the nested arg list" do
1035
+ it "extract functions containing a constant function pointer and a pointer in the nested arg list" do
1009
1036
  source = "void FunkyChicken(unsigned int (* const func_ptr)(unsigned long int * , char))"
1010
1037
  expected = [{ :var_arg=>nil,
1011
1038
  :return=>{ :type => "void",
@@ -1028,7 +1055,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
1028
1055
  assert_equal(typedefs, result[:typedefs])
1029
1056
  end
1030
1057
 
1031
- # should "extract functions containing a function pointer taking a vararg" do
1058
+ # it "extract functions containing a function pointer taking a vararg" do
1032
1059
  # source = "void FunkyParrot(unsigned int (*func_ptr)(int, char, ...))"
1033
1060
  # expected = [{ :var_arg=>nil,
1034
1061
  # :return=>{ :type => "void",
@@ -1051,7 +1078,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
1051
1078
  # assert_equal(typedefs, result[:typedefs])
1052
1079
  # end
1053
1080
 
1054
- should "extract functions containing a function pointer with extra parenthesis and two sets" do
1081
+ it "extract functions containing a function pointer with extra parenthesis and two sets" do
1055
1082
  source = "void FunkyBudgie(int (((* func_ptr1)(int, char))), void (*func_ptr2)(void))"
1056
1083
  expected = [{ :var_arg=>nil,
1057
1084
  :return=>{ :type => "void",
@@ -1075,7 +1102,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
1075
1102
  assert_equal(typedefs, result[:typedefs])
1076
1103
  end
1077
1104
 
1078
- should "extract functions containing a function pointers, structs and other things" do
1105
+ it "extract functions containing a function pointers, structs and other things" do
1079
1106
  source = "struct mytype *FunkyRobin(uint16_t num1, uint16_t num2, void (*func_ptr1)(uint16_t num3, struct mytype2 *s));"
1080
1107
  expected = [{ :var_arg=>nil,
1081
1108
  :return=>{ :type => "struct mytype*",
@@ -1100,7 +1127,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
1100
1127
  assert_equal(typedefs, result[:typedefs])
1101
1128
  end
1102
1129
 
1103
- should "extract functions containing an anonymous function pointer" do
1130
+ it "extract functions containing an anonymous function pointer" do
1104
1131
  source = "void FunkyFowl(unsigned int (* const)(int, char))"
1105
1132
  expected = [{ :var_arg=>nil,
1106
1133
  :return=>{ :type => "void",
@@ -1123,7 +1150,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
1123
1150
  assert_equal(typedefs, result[:typedefs])
1124
1151
  end
1125
1152
 
1126
- should "extract functions returning a function pointer" do
1153
+ it "extract functions returning a function pointer" do
1127
1154
  source = "unsigned short (*FunkyPidgeon( const char op_code ))( int, long int )"
1128
1155
  expected = [{ :var_arg=>nil,
1129
1156
  :return=>{ :type => "cmock_module_func_ptr1",
@@ -1146,7 +1173,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
1146
1173
  assert_equal(typedefs, result[:typedefs])
1147
1174
  end
1148
1175
 
1149
- should "extract functions returning a function pointer with implied void" do
1176
+ it "extract functions returning a function pointer with implied void" do
1150
1177
  source = "unsigned short (*FunkyTweetie())()"
1151
1178
  expected = [{ :var_arg=>nil,
1152
1179
  :return=>{ :type => "cmock_module_func_ptr1",
@@ -1168,7 +1195,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
1168
1195
  assert_equal(typedefs, result[:typedefs])
1169
1196
  end
1170
1197
 
1171
- should "extract functions returning a function pointer where everything is a void" do
1198
+ it "extract functions returning a function pointer where everything is a void" do
1172
1199
  source = "void (* FunkySeaGull(void))(void)"
1173
1200
  expected = [{ :var_arg=>nil,
1174
1201
  :return=>{ :type => "cmock_module_func_ptr1",
@@ -1190,7 +1217,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
1190
1217
  assert_equal(typedefs, result[:typedefs])
1191
1218
  end
1192
1219
 
1193
- should "extract functions returning a function pointer with some pointer nonsense" do
1220
+ it "extract functions returning a function pointer with some pointer nonsense" do
1194
1221
  source = "unsigned int * (* FunkyMacaw(double* foo, THING *bar))(unsigned int)"
1195
1222
  expected = [{ :var_arg=>nil,
1196
1223
  :return=>{ :type => "cmock_module_func_ptr1",
@@ -1214,7 +1241,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
1214
1241
  assert_equal(typedefs, result[:typedefs])
1215
1242
  end
1216
1243
 
1217
- should "extract this SQLite3 function with an anonymous function pointer arg (regression test)" do
1244
+ it "extract this SQLite3 function with an anonymous function pointer arg (regression test)" do
1218
1245
  source = "SQLITE_API int sqlite3_bind_text(sqlite3_stmt*, int, const char*, int n, void(*)(void*))"
1219
1246
  expected = [{ :var_arg=>nil,
1220
1247
  :return=>{ :type => "int",
@@ -1241,7 +1268,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
1241
1268
  assert_equal(typedefs, result[:typedefs])
1242
1269
  end
1243
1270
 
1244
- should "extract functions with varargs" do
1271
+ it "extract functions with varargs" do
1245
1272
  source = "int XFiles(int Scully, int Mulder, ...);\n"
1246
1273
  expected = [{ :var_arg=>"...",
1247
1274
  :return=> { :type => "int",
@@ -1263,7 +1290,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
1263
1290
  assert_equal(expected, @parser.parse("module", source)[:functions])
1264
1291
  end
1265
1292
 
1266
- should "extract functions with strippable confusing junk like gcc attributes" do
1293
+ it "extract functions with strippable confusing junk like gcc attributes" do
1267
1294
  source = "int LaverneAndShirley(int Lenny, int Squiggy) __attribute__((weak)) __attribute__ ((deprecated));\n"
1268
1295
  expected = [{ :var_arg=>nil,
1269
1296
  :return=> { :type => "int",
@@ -1285,7 +1312,7 @@ class CMockHeaderParserTest < Test::Unit::TestCase
1285
1312
  assert_equal(expected, @parser.parse("module", source)[:functions])
1286
1313
  end
1287
1314
 
1288
- should "extract functions with strippable confusing junk like gcc attributes with parenthesis" do
1315
+ it "extract functions with strippable confusing junk like gcc attributes with parenthesis" do
1289
1316
  source = "int TheCosbyShow(int Cliff, int Claire) __attribute__((weak, alias (\"__f\"));\n"
1290
1317
  expected = [{ :var_arg=>nil,
1291
1318
  :return=> { :type => "int",