ceedling 0.27.0 → 0.28.1

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 (78) hide show
  1. checksums.yaml +4 -4
  2. data/assets/project_as_gem.yml +6 -0
  3. data/assets/project_with_guts.yml +6 -0
  4. data/assets/project_with_guts_gcov.yml +88 -0
  5. data/assets/test_example_file_boom.c +13 -0
  6. data/assets/test_example_file_success.c +14 -0
  7. data/bin/ceedling +57 -113
  8. data/ceedling.gemspec +1 -1
  9. data/config/test_environment.rb +0 -1
  10. data/examples/blinky/project.yml +1 -1
  11. data/examples/temp_sensor/project.yml +7 -1
  12. data/examples/temp_sensor/rakefile.rb +3 -1
  13. data/lib/ceedling/build_invoker_utils.rb +14 -2
  14. data/lib/ceedling/configurator.rb +3 -1
  15. data/lib/ceedling/configurator_builder.rb +6 -4
  16. data/lib/ceedling/configurator_setup.rb +5 -1
  17. data/lib/ceedling/defaults.rb +5 -2
  18. data/lib/ceedling/dependinator.rb +1 -1
  19. data/lib/ceedling/file_path_utils.rb +1 -2
  20. data/lib/ceedling/generator_test_results.rb +3 -2
  21. data/lib/ceedling/generator_test_results_sanity_checker.rb +4 -3
  22. data/lib/ceedling/project_file_loader.rb +26 -9
  23. data/lib/ceedling/rakefile.rb +9 -2
  24. data/lib/ceedling/release_invoker.rb +1 -1
  25. data/lib/ceedling/reportinator.rb +18 -1
  26. data/lib/ceedling/system_utils.rb +6 -1
  27. data/lib/ceedling/system_wrapper.rb +2 -1
  28. data/lib/ceedling/target_loader.rb +2 -2
  29. data/lib/ceedling/tasks_filesystem.rake +8 -2
  30. data/lib/ceedling/tool_executor_helper.rb +71 -22
  31. data/lib/ceedling/version.rb +1 -1
  32. data/license.txt +1 -1
  33. data/out.fail +21 -0
  34. data/plugins/command_hooks/lib/command_hooks.rb +2 -1
  35. data/plugins/gcov/config/defaults.yml +22 -0
  36. data/plugins/gcov/gcov.rake +79 -65
  37. data/plugins/gcov/lib/gcov.rb +25 -38
  38. data/plugins/gcov/lib/gcov_constants.rb +16 -0
  39. data/spec/build_invoker_utils_spec.rb +54 -0
  40. data/spec/file_finder_helper_spec.rb +53 -0
  41. data/spec/gcov/gcov_deployment_spec.rb +70 -0
  42. data/spec/gcov/gcov_test_cases_spec.rb +91 -0
  43. data/spec/generator_test_results_sanity_checker_spec.rb +88 -0
  44. data/spec/generator_test_results_spec.rb +102 -0
  45. data/spec/reportinator_spec.rb +19 -0
  46. data/spec/spec_system_helper.rb +67 -5
  47. data/spec/support/other_target.yml +0 -0
  48. data/spec/support/target.yml +0 -0
  49. data/spec/support/test_example.fail +21 -0
  50. data/spec/support/test_example.pass +21 -0
  51. data/spec/support/test_example_empty.pass +13 -0
  52. data/spec/support/test_example_ignore.pass +21 -0
  53. data/spec/support/test_example_mangled.pass +19 -0
  54. data/spec/system/deployment_spec.rb +25 -5
  55. data/spec/system_utils_spec.rb +56 -0
  56. data/spec/target_loader_spec.rb +30 -0
  57. data/spec/tool_executor_helper_spec.rb +310 -0
  58. data/vendor/cmock/scripts/create_makefile.rb +35 -12
  59. data/vendor/unity/src/unity_internals.h +3 -3
  60. metadata +62 -27
  61. data/assets/rakefile_as_gem.rb +0 -3
  62. data/assets/rakefile_with_guts.rb +0 -6
  63. data/vendor/constructor/History.rdoc +0 -19
  64. data/vendor/constructor/README.rdoc +0 -72
  65. data/vendor/constructor/Rakefile +0 -33
  66. data/vendor/constructor/homepage/Notes.txt +0 -27
  67. data/vendor/constructor/homepage/Rakefile +0 -15
  68. data/vendor/constructor/homepage/index.erb +0 -27
  69. data/vendor/constructor/homepage/index.html +0 -36
  70. data/vendor/constructor/homepage/page_header.graffle +0 -0
  71. data/vendor/constructor/homepage/page_header.html +0 -9
  72. data/vendor/constructor/homepage/page_header.png +0 -0
  73. data/vendor/constructor/homepage/sample_code.png +0 -0
  74. data/vendor/constructor/homepage/sample_code.rb +0 -12
  75. data/vendor/constructor/lib/constructor.rb +0 -127
  76. data/vendor/constructor/lib/constructor_struct.rb +0 -33
  77. data/vendor/constructor/specs/constructor_spec.rb +0 -407
  78. data/vendor/constructor/specs/constructor_struct_spec.rb +0 -84
@@ -1,84 +0,0 @@
1
- require File.dirname(__FILE__) + '/../lib/constructor_struct'
2
-
3
- describe ConstructorStruct, "#new" do
4
- def struct(*accessors)
5
- ConstructorStruct.new(*accessors)
6
- end
7
-
8
- def instance_of(clazz, args=nil)
9
- args = [args] || []
10
- clazz.new(*args)
11
- end
12
-
13
- before do
14
- AClass = struct(:hello, :world) unless defined?(AClass)
15
- end
16
-
17
- it "creates a new class with accessors given a set of symbols or strings" do
18
- instance_of(AClass, {:hello => "foo", :world => "bar"}).hello.should == "foo"
19
- instance_of(AClass, {:hello => "foo", :world => "bar"}).world.should == "bar"
20
- end
21
-
22
- it "creates a real class" do
23
- instance_of(AClass).class.should == AClass
24
- end
25
-
26
- it "has the option of creating a strict accessors" do
27
- lambda { instance_of(struct(:foo, :strict => true)) }.should raise_error
28
- end
29
-
30
- it "does not have the option of not creating accessors" do
31
- instance_of(struct(:foo, :accessors => false), :foo => "bar").foo.should == "bar"
32
- end
33
-
34
- describe "equivalence" do
35
- before do
36
- @hello = "Hello"
37
- @world = "World"
38
- @args = { :hello => @hello, :world => @world }
39
- @target = AClass.new(@args)
40
- end
41
-
42
- it "uses all accessors" do
43
- [ nil, :hello, :world ].each do |field_to_alter|
44
- alt = AClass.new(:hello => @hello, :world => @world)
45
-
46
- unless field_to_alter
47
- # Base case: they should be equal
48
- @target.should == alt
49
- @target.eql?(alt).should be_true #should eql(alt)
50
- else
51
- # Change 1 field and see not equal
52
- alt.send("#{field_to_alter}=", "other data")
53
- @target.should_not == alt
54
- @target.should_not eql(alt)
55
- end
56
- end
57
- end
58
-
59
- it "will not compare to another class with same fields" do
60
- BClass = ConstructorStruct.new(:hello, :world)
61
- alt = BClass.new(:hello => @hello, :world => @world)
62
- @target.should_not == alt
63
- @target.should_not eql(alt)
64
- end
65
- end
66
-
67
- describe "extra method definitions" do
68
- NightTrain = ConstructorStruct.new(:beer, :conductor) do
69
- def setup
70
- @conductor ||= "Bill"
71
- end
72
- end
73
-
74
- it "lets you declare instance methods within a block" do
75
- night_train = NightTrain.new(:beer => "Founders")
76
- night_train.beer.should == "Founders"
77
- night_train.conductor.should == "Bill"
78
-
79
- other_train = NightTrain.new(:beer => "Bells", :conductor => "Dave")
80
- other_train.conductor.should == "Dave"
81
- end
82
- end
83
-
84
- end