ceedling 0.27.0 → 0.28.1

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