ceedling 0.20.3 → 0.21.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -0
- data/Gemfile.lock +1 -0
- data/Rakefile +1 -0
- data/bin/ceedling +79 -26
- data/lib/ceedling/configurator_plugins.rb +0 -18
- data/lib/ceedling/rules_cmock.rake +1 -1
- data/lib/ceedling/tasks_base.rake +5 -1
- data/lib/ceedling/tasks_tests.rake +12 -9
- data/lib/ceedling/version.rb +1 -1
- data/lib/ceedling/version.rb.erb +1 -1
- data/plugins/fake_function_framework/README.md +250 -0
- data/plugins/fake_function_framework/Rakefile +19 -0
- data/plugins/fake_function_framework/examples/fff_example/project.yml +71 -0
- data/plugins/fake_function_framework/examples/fff_example/rakefile.rb +7 -0
- data/plugins/fake_function_framework/examples/fff_example/src/bar.c +1 -0
- data/plugins/fake_function_framework/examples/fff_example/src/bar.h +13 -0
- data/plugins/fake_function_framework/examples/fff_example/src/custom_types.h +6 -0
- data/plugins/fake_function_framework/examples/fff_example/src/display.c +7 -0
- data/plugins/fake_function_framework/examples/fff_example/src/display.h +16 -0
- data/plugins/fake_function_framework/examples/fff_example/src/event_processor.c +92 -0
- data/plugins/fake_function_framework/examples/fff_example/src/event_processor.h +11 -0
- data/plugins/fake_function_framework/examples/fff_example/src/foo.c +16 -0
- data/plugins/fake_function_framework/examples/fff_example/src/foo.h +8 -0
- data/plugins/fake_function_framework/examples/fff_example/src/subfolder/zzz.c +1 -0
- data/plugins/fake_function_framework/examples/fff_example/src/subfolder/zzz.h +6 -0
- data/plugins/fake_function_framework/examples/fff_example/test/test_event_processor.c +155 -0
- data/plugins/fake_function_framework/examples/fff_example/test/test_foo.c +47 -0
- data/plugins/fake_function_framework/lib/fake_function_framework.rb +87 -0
- data/plugins/fake_function_framework/lib/fff_mock_generator.rb +159 -0
- data/plugins/fake_function_framework/spec/fff_mock_generator_spec.rb +464 -0
- data/plugins/fake_function_framework/spec/spec_helper.rb +96 -0
- data/plugins/fake_function_framework/src/fff_unity_helper.h +33 -0
- data/plugins/fake_function_framework/vendor/fff/LICENSE +25 -0
- data/plugins/fake_function_framework/vendor/fff/Makefile +10 -0
- data/plugins/fake_function_framework/vendor/fff/README.md +454 -0
- data/plugins/fake_function_framework/vendor/fff/buildandtest +15 -0
- data/plugins/fake_function_framework/vendor/fff/examples/Makefile +7 -0
- data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/Makefile +64 -0
- data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/driver.c +24 -0
- data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/driver.h +11 -0
- data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/driver.test.cpp +50 -0
- data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/driver.test.fff.cpp +62 -0
- data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/hardware_abstraction.h +15 -0
- data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/registers.h +13 -0
- data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/DISPLAY.h +17 -0
- data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/Kata.txt +25 -0
- data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/Makefile +67 -0
- data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/SYSTEM.h +21 -0
- data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/UI.c +48 -0
- data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/UI.h +12 -0
- data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/UI_test_ansic.c +183 -0
- data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/UI_test_cpp.cpp +136 -0
- data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/test_suite_template.c +34 -0
- data/plugins/fake_function_framework/vendor/fff/fakegen.rb +420 -0
- data/plugins/fake_function_framework/vendor/fff/fff.h +5112 -0
- data/plugins/fake_function_framework/vendor/fff/gtest/Makefile +22 -0
- data/plugins/fake_function_framework/vendor/fff/gtest/gtest-all.cc +9118 -0
- data/plugins/fake_function_framework/vendor/fff/gtest/gtest-main.cc +6 -0
- data/plugins/fake_function_framework/vendor/fff/gtest/gtest.h +19537 -0
- data/plugins/fake_function_framework/vendor/fff/test/Makefile +81 -0
- data/plugins/fake_function_framework/vendor/fff/test/c_test_framework.h +15 -0
- data/plugins/fake_function_framework/vendor/fff/test/fff_test_c.c +108 -0
- data/plugins/fake_function_framework/vendor/fff/test/fff_test_cpp.cpp +45 -0
- data/plugins/fake_function_framework/vendor/fff/test/fff_test_global_c.c +76 -0
- data/plugins/fake_function_framework/vendor/fff/test/fff_test_global_cpp.cpp +23 -0
- data/plugins/fake_function_framework/vendor/fff/test/global_fakes.c +13 -0
- data/plugins/fake_function_framework/vendor/fff/test/global_fakes.h +37 -0
- data/plugins/fake_function_framework/vendor/fff/test/test_cases.include +276 -0
- data/plugins/gcov/README.md +9 -0
- data/plugins/gcov/{template.erb → assets/template.erb} +1 -1
- data/plugins/gcov/{defaults.yml → config/defaults.yml} +10 -1
- data/plugins/gcov/gcov.rake +20 -8
- data/plugins/gcov/{gcov.rb → lib/gcov.rb} +13 -24
- data/plugins/module_generator/module_generator.rake +3 -3
- data/plugins/warnings_report/lib/warnings_report.rb +69 -0
- data/plugins/xml_tests_report/lib/xml_tests_report.rb +108 -0
- data/spec/spec_system_helper.rb +1 -1
- data/vendor/c_exception/lib/CException.h +1 -1
- data/vendor/c_exception/vendor/unity/auto/generate_module.rb +16 -16
- data/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +61 -21
- data/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +5 -1
- data/vendor/c_exception/vendor/unity/auto/unity_to_junit.py +146 -0
- data/vendor/c_exception/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
- data/vendor/c_exception/vendor/unity/docs/UnityAssertionsReference.pdf +0 -0
- data/vendor/c_exception/vendor/unity/docs/UnityConfigurationGuide.pdf +0 -0
- data/vendor/c_exception/vendor/unity/docs/UnityGettingStartedGuide.pdf +0 -0
- data/vendor/c_exception/vendor/unity/docs/UnityHelperScriptsGuide.pdf +0 -0
- data/vendor/c_exception/vendor/unity/examples/example_1/makefile +1 -1
- data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.c +7 -7
- data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +2 -2
- data/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode.c +14 -14
- data/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode2.c +2 -2
- data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +5 -5
- data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +5 -5
- data/vendor/c_exception/vendor/unity/examples/unity_config.h +257 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +9 -8
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +1 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/test/Makefile +28 -8
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +57 -17
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +3 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +2 -3
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +1 -1
- data/vendor/c_exception/vendor/unity/release/version.info +1 -1
- data/vendor/c_exception/vendor/unity/src/unity.c +336 -191
- data/vendor/c_exception/vendor/unity/src/unity.h +73 -69
- data/vendor/c_exception/vendor/unity/src/unity_internals.h +119 -90
- data/vendor/c_exception/vendor/unity/test/Makefile +51 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +5 -5
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +5 -5
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.c +5 -5
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +6 -6
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +6 -6
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.c +6 -6
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +6 -6
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +8 -8
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +6 -6
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +6 -6
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +8 -8
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +7 -7
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +5 -5
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +7 -7
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +5 -5
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +5 -5
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +7 -7
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +6 -6
- data/vendor/c_exception/vendor/unity/test/rakefile +5 -0
- data/vendor/c_exception/vendor/unity/test/rakefile_helper.rb +9 -7
- data/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +1 -0
- data/vendor/c_exception/vendor/unity/test/targets/clang_strict.yml +3 -0
- data/vendor/c_exception/vendor/unity/test/targets/gcc_32.yml +1 -0
- data/vendor/c_exception/vendor/unity/test/targets/gcc_64.yml +1 -0
- data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_limits.yml +1 -0
- data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_sizeof.yml +1 -0
- data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_stdint.yml +1 -0
- data/vendor/c_exception/vendor/unity/test/targets/gcc_manual_math.yml +1 -0
- data/vendor/c_exception/vendor/unity/test/targets/iar_arm_v4.yml +1 -0
- data/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5.yml +1 -0
- data/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5_3.yml +1 -0
- data/vendor/c_exception/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +1 -0
- data/vendor/c_exception/vendor/unity/test/targets/iar_cortexm3_v5.yml +1 -0
- data/vendor/c_exception/vendor/unity/test/targets/iar_msp430.yml +1 -0
- data/vendor/c_exception/vendor/unity/test/targets/iar_sh2a_v6.yml +1 -0
- data/vendor/c_exception/vendor/unity/test/testdata/CException.h +11 -0
- data/vendor/c_exception/vendor/unity/test/testdata/Defs.h +8 -0
- data/vendor/c_exception/vendor/unity/test/testdata/cmock.h +14 -0
- data/vendor/c_exception/vendor/unity/test/testdata/mockMock.h +13 -0
- data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGenerator.c +183 -0
- data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +65 -0
- data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +192 -0
- data/vendor/c_exception/vendor/unity/test/tests/test_generate_test_runner.rb +1221 -71
- data/vendor/c_exception/vendor/unity/test/tests/testparameterized.c +1 -1
- data/vendor/c_exception/vendor/unity/test/tests/testunity.c +127 -5
- data/vendor/cmock/docs/CMock_Summary.md +1 -1
- data/vendor/cmock/lib/cmock_generator.rb +7 -2
- data/vendor/cmock/lib/cmock_header_parser.rb +29 -9
- data/vendor/cmock/scripts/create_mock.rb +1 -1
- data/vendor/cmock/test/system/test_compilation/const.h +15 -0
- data/vendor/cmock/test/unit/cmock_generator_main_test.rb +4 -4
- data/vendor/cmock/test/unit/cmock_header_parser_test.rb +136 -73
- data/vendor/cmock/vendor/c_exception/lib/CException.h +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_module.rb +16 -16
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +61 -21
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +5 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_to_junit.py +146 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityAssertionsReference.pdf +0 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityConfigurationGuide.pdf +0 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityGettingStartedGuide.pdf +0 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityHelperScriptsGuide.pdf +0 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/makefile +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.c +7 -7
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +2 -2
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode.c +14 -14
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode2.c +2 -2
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +5 -5
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +5 -5
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/unity_config.h +257 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +9 -8
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +1 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/Makefile +28 -8
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +57 -17
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +3 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +2 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/release/version.info +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.c +336 -191
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.h +73 -69
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity_internals.h +119 -90
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/Makefile +51 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +5 -5
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +5 -5
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.c +5 -5
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +6 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +6 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.c +6 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +6 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +8 -8
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +6 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +6 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +8 -8
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +7 -7
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +5 -5
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +7 -7
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +5 -5
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +5 -5
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +7 -7
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +6 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/rakefile +5 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/rakefile_helper.rb +9 -7
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +1 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/clang_strict.yml +3 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_32.yml +1 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_64.yml +1 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_limits.yml +1 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_sizeof.yml +1 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_stdint.yml +1 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_manual_math.yml +1 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_arm_v4.yml +1 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5.yml +1 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5_3.yml +1 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +1 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_cortexm3_v5.yml +1 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_msp430.yml +1 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_sh2a_v6.yml +1 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/CException.h +11 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/Defs.h +8 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/cmock.h +14 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/mockMock.h +13 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGenerator.c +183 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +65 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +192 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/test_generate_test_runner.rb +1221 -71
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/testparameterized.c +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/testunity.c +127 -5
- data/vendor/cmock/vendor/unity/auto/generate_module.rb +16 -16
- data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +61 -21
- data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +5 -1
- data/vendor/cmock/vendor/unity/auto/unity_to_junit.py +146 -0
- data/vendor/cmock/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
- data/vendor/cmock/vendor/unity/docs/UnityAssertionsReference.pdf +0 -0
- data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.pdf +0 -0
- data/vendor/cmock/vendor/unity/docs/UnityGettingStartedGuide.pdf +0 -0
- data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.pdf +0 -0
- data/vendor/cmock/vendor/unity/examples/example_1/makefile +1 -1
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.c +7 -7
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.c +2 -2
- data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode.c +14 -14
- data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode2.c +2 -2
- data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +5 -5
- data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +5 -5
- data/vendor/cmock/vendor/unity/examples/unity_config.h +257 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +3 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +5 -2
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +1 -2
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.h +1 -1
- data/vendor/cmock/vendor/unity/src/unity.c +329 -186
- data/vendor/cmock/vendor/unity/src/unity.h +73 -69
- data/vendor/cmock/vendor/unity/src/unity_internals.h +119 -94
- data/vendor/cmock/vendor/unity/test/Makefile +4 -5
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +5 -5
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +5 -5
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.c +5 -5
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_cmd.c +6 -6
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_def.c +6 -6
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_head1.c +6 -6
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new1.c +6 -6
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new2.c +8 -8
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_param.c +6 -6
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run1.c +6 -6
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run2.c +8 -8
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_yaml.c +7 -7
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +5 -5
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +7 -7
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +5 -5
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +5 -5
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +7 -7
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +6 -6
- data/vendor/cmock/vendor/unity/test/rakefile +5 -0
- data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +9 -7
- data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +1 -0
- data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +3 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +1 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +1 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +1 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_sizeof.yml +1 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +1 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_manual_math.yml +1 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v4.yml +1 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5.yml +1 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5_3.yml +1 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +1 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_cortexm3_v5.yml +1 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_msp430.yml +1 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_sh2a_v6.yml +1 -0
- data/vendor/cmock/vendor/unity/test/testdata/CException.h +11 -0
- data/vendor/cmock/vendor/unity/test/testdata/Defs.h +8 -0
- data/vendor/cmock/vendor/unity/test/testdata/cmock.h +14 -0
- data/vendor/cmock/vendor/unity/test/testdata/mockMock.h +13 -0
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGenerator.c +183 -0
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +65 -0
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +192 -0
- data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +1221 -71
- data/vendor/cmock/vendor/unity/test/tests/testparameterized.c +1 -1
- data/vendor/cmock/vendor/unity/test/tests/testunity.c +104 -7
- data/vendor/deep_merge/README +94 -94
- data/vendor/deep_merge/Rakefile +28 -28
- data/vendor/deep_merge/lib/deep_merge.rb +211 -211
- data/vendor/deep_merge/test/test_deep_merge.rb +553 -553
- data/vendor/unity/auto/generate_module.rb +16 -16
- data/vendor/unity/auto/generate_test_runner.rb +61 -21
- data/vendor/unity/auto/stylize_as_junit.rb +5 -1
- data/vendor/unity/auto/unity_to_junit.py +146 -0
- data/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
- data/vendor/unity/docs/UnityAssertionsReference.pdf +0 -0
- data/vendor/unity/docs/UnityConfigurationGuide.pdf +0 -0
- data/vendor/unity/docs/UnityGettingStartedGuide.pdf +0 -0
- data/vendor/unity/docs/UnityHelperScriptsGuide.pdf +0 -0
- data/vendor/unity/examples/example_1/makefile +1 -1
- data/vendor/unity/examples/example_1/src/ProductionCode.c +7 -7
- data/vendor/unity/examples/example_1/src/ProductionCode2.c +2 -2
- data/vendor/unity/examples/example_1/test/TestProductionCode.c +14 -14
- data/vendor/unity/examples/example_1/test/TestProductionCode2.c +2 -2
- data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +5 -5
- data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +5 -5
- data/vendor/unity/examples/unity_config.h +257 -0
- data/vendor/unity/extras/fixture/src/unity_fixture.c +3 -0
- data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +5 -2
- data/vendor/unity/extras/fixture/test/unity_output_Spy.c +1 -2
- data/vendor/unity/extras/fixture/test/unity_output_Spy.h +1 -1
- data/vendor/unity/src/unity.c +329 -186
- data/vendor/unity/src/unity.h +73 -69
- data/vendor/unity/src/unity_internals.h +119 -94
- data/vendor/unity/test/Makefile +4 -5
- data/vendor/unity/test/expectdata/testsample_cmd.c +5 -5
- data/vendor/unity/test/expectdata/testsample_def.c +5 -5
- data/vendor/unity/test/expectdata/testsample_head1.c +5 -5
- data/vendor/unity/test/expectdata/testsample_mock_cmd.c +6 -6
- data/vendor/unity/test/expectdata/testsample_mock_def.c +6 -6
- data/vendor/unity/test/expectdata/testsample_mock_head1.c +6 -6
- data/vendor/unity/test/expectdata/testsample_mock_new1.c +6 -6
- data/vendor/unity/test/expectdata/testsample_mock_new2.c +8 -8
- data/vendor/unity/test/expectdata/testsample_mock_param.c +6 -6
- data/vendor/unity/test/expectdata/testsample_mock_run1.c +6 -6
- data/vendor/unity/test/expectdata/testsample_mock_run2.c +8 -8
- data/vendor/unity/test/expectdata/testsample_mock_yaml.c +7 -7
- data/vendor/unity/test/expectdata/testsample_new1.c +5 -5
- data/vendor/unity/test/expectdata/testsample_new2.c +7 -7
- data/vendor/unity/test/expectdata/testsample_param.c +5 -5
- data/vendor/unity/test/expectdata/testsample_run1.c +5 -5
- data/vendor/unity/test/expectdata/testsample_run2.c +7 -7
- data/vendor/unity/test/expectdata/testsample_yaml.c +6 -6
- data/vendor/unity/test/rakefile +5 -0
- data/vendor/unity/test/rakefile_helper.rb +9 -7
- data/vendor/unity/test/targets/clang_file.yml +1 -0
- data/vendor/unity/test/targets/clang_strict.yml +3 -0
- data/vendor/unity/test/targets/gcc_32.yml +1 -0
- data/vendor/unity/test/targets/gcc_64.yml +1 -0
- data/vendor/unity/test/targets/gcc_auto_limits.yml +1 -0
- data/vendor/unity/test/targets/gcc_auto_sizeof.yml +1 -0
- data/vendor/unity/test/targets/gcc_auto_stdint.yml +1 -0
- data/vendor/unity/test/targets/gcc_manual_math.yml +1 -0
- data/vendor/unity/test/targets/iar_arm_v4.yml +1 -0
- data/vendor/unity/test/targets/iar_arm_v5.yml +1 -0
- data/vendor/unity/test/targets/iar_arm_v5_3.yml +1 -0
- data/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +1 -0
- data/vendor/unity/test/targets/iar_cortexm3_v5.yml +1 -0
- data/vendor/unity/test/targets/iar_msp430.yml +1 -0
- data/vendor/unity/test/targets/iar_sh2a_v6.yml +1 -0
- data/vendor/unity/test/testdata/CException.h +11 -0
- data/vendor/unity/test/testdata/Defs.h +8 -0
- data/vendor/unity/test/testdata/cmock.h +14 -0
- data/vendor/unity/test/testdata/mockMock.h +13 -0
- data/vendor/unity/test/testdata/testRunnerGenerator.c +183 -0
- data/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +65 -0
- data/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +192 -0
- data/vendor/unity/test/tests/test_generate_test_runner.rb +1221 -71
- data/vendor/unity/test/tests/testparameterized.c +1 -1
- data/vendor/unity/test/tests/testunity.c +104 -7
- metadata +124 -32
- data/plugins/gcov/readme.txt +0 -0
- data/plugins/warnings_report/warnings_report.rb +0 -71
- data/plugins/xml_tests_report/xml_tests_report.rb +0 -110
- data/vendor/c_exception/vendor/unity/docs/Unity Summary.odt +0 -0
- data/vendor/c_exception/vendor/unity/docs/Unity Summary.pdf +0 -0
- data/vendor/c_exception/vendor/unity/docs/Unity Summary.txt +0 -224
- data/vendor/c_exception/vendor/unity/test/testdata/mocksample.c +0 -51
- data/vendor/c_exception/vendor/unity/test/testdata/sample.yml +0 -9
- data/vendor/c_exception/vendor/unity/test/testdata/testsample.c +0 -68
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.odt +0 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.pdf +0 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.txt +0 -224
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/mocksample.c +0 -51
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/sample.yml +0 -9
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testsample.c +0 -68
- data/vendor/cmock/vendor/unity/docs/Unity Summary.odt +0 -0
- data/vendor/cmock/vendor/unity/docs/Unity Summary.pdf +0 -0
- data/vendor/cmock/vendor/unity/docs/Unity Summary.txt +0 -224
- data/vendor/cmock/vendor/unity/test/testdata/mocksample.c +0 -51
- data/vendor/cmock/vendor/unity/test/testdata/sample.yml +0 -9
- data/vendor/cmock/vendor/unity/test/testdata/testsample.c +0 -68
- data/vendor/unity/docs/Unity Summary.odt +0 -0
- data/vendor/unity/docs/Unity Summary.pdf +0 -0
- data/vendor/unity/docs/Unity Summary.txt +0 -224
- data/vendor/unity/test/testdata/mocksample.c +0 -51
- data/vendor/unity/test/testdata/sample.yml +0 -9
- data/vendor/unity/test/testdata/testsample.c +0 -68
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
set -e
|
3
|
+
|
4
|
+
cat LICENSE > fff.h
|
5
|
+
ruby fakegen.rb >> fff.h
|
6
|
+
make clean
|
7
|
+
make all
|
8
|
+
build/fff_test_c
|
9
|
+
build/fff_test_cpp --gtest_output=xml:build/test_results.xml
|
10
|
+
build/ui_test_ansic
|
11
|
+
build/ui_test_cpp --gtest_output=xml:build/example_results.xml
|
12
|
+
build/fff_test_glob_c
|
13
|
+
build/fff_test_glob_cpp --gtest_output=xml:build/test_global_results.xml
|
14
|
+
build/driver_testing --gtest_output=xml:build/driver_testing.xml
|
15
|
+
build/driver_testing_fff --gtest_output=xml:build/driver_testing_fff.xml
|
@@ -0,0 +1,64 @@
|
|
1
|
+
$(VERBOSE).SILENT:
|
2
|
+
|
3
|
+
BUILD_DIR = ../../build
|
4
|
+
TEMPLATE_PROGNAME = $(BUILD_DIR)/template
|
5
|
+
CPP_PROGNAME_NOFFF = $(BUILD_DIR)/driver_testing
|
6
|
+
CPP_PROGNAME_FFF = $(BUILD_DIR)/driver_testing_fff
|
7
|
+
CC = gcc
|
8
|
+
CC += -c
|
9
|
+
CPP = g++
|
10
|
+
CPP += -c
|
11
|
+
LD = g++
|
12
|
+
|
13
|
+
GTEST_OBJS = $(BUILD_DIR)/gtest-all.o $(BUILD_DIR)/gtest-main.o
|
14
|
+
C_OBJFILES = $(BUILD_DIR)/driver.o
|
15
|
+
TEMPLATE_OBJFILES = $(BUILD_DIR)/test_suite_template.o
|
16
|
+
FFF_OBJFILES = $(BUILD_DIR)/driver.test.fff.o $(GTEST_OBJS)
|
17
|
+
NOFFF_OBJFILES = $(BUILD_DIR)/driver.test.o $(GTEST_OBJS)
|
18
|
+
CPP_LIBS = -lpthread
|
19
|
+
|
20
|
+
|
21
|
+
all: $(CPP_PROGNAME_NOFFF) $(CPP_PROGNAME_FFF) $(TEMPLATE_PROGNAME)
|
22
|
+
|
23
|
+
.PHONY: clean
|
24
|
+
|
25
|
+
clean:
|
26
|
+
@echo "Cleaning object files"
|
27
|
+
@echo " rm -f $(BUILD_DIR)/*.o"
|
28
|
+
rm -f $(BUILD_DIR)/*.o
|
29
|
+
@echo "Cleaning backups"
|
30
|
+
@echo " rm -f *~"
|
31
|
+
rm -f *~
|
32
|
+
@echo "Removing programs"
|
33
|
+
@echo " rm -f $(CPP_PROGNAME_NOFFF) $(CPP_PROGNAME_FFF) $(TEMPLATE_PROGNAME)"
|
34
|
+
rm -f $(CPP_PROGNAME_NOFFF) $(CPP_PROGNAME_FFF) $(TEMPLATE_PROGNAME)
|
35
|
+
|
36
|
+
|
37
|
+
$(BUILD_DIR)/%.o: %.c
|
38
|
+
@echo "Compiling "$@
|
39
|
+
@echo " CC "$<
|
40
|
+
$(CC) -o $@ $< -DTESTING
|
41
|
+
|
42
|
+
$(BUILD_DIR)/%.o: %.cpp
|
43
|
+
@echo "Compiling "$@
|
44
|
+
@echo " CPP "$<
|
45
|
+
$(CPP) -DGTEST_USE_OWN_TR1_TUPLE=1 -I../.. -o $@ $< -DTESTING
|
46
|
+
|
47
|
+
$(TEMPLATE_PROGNAME): $(TEMPLATE_OBJFILES)
|
48
|
+
@echo "Linking "$@
|
49
|
+
@echo " LD -o "ctemplate" "$(TEMPLATE_OBJFILES)
|
50
|
+
$(LD) -o $(TEMPLATE_PROGNAME) $(TEMPLATE_OBJFILES)
|
51
|
+
|
52
|
+
$(CPP_PROGNAME_FFF): $(FFF_OBJFILES) $(C_OBJFILES)
|
53
|
+
@echo "Linking "$@
|
54
|
+
@echo " LD -o "$(CPP_PROGNAME_FFF)" "$(FFF_OBJFILES)
|
55
|
+
$(LD) -o $(CPP_PROGNAME_FFF) $(FFF_OBJFILES) $(C_OBJFILES) $(CPP_LIBS)
|
56
|
+
|
57
|
+
$(CPP_PROGNAME_NOFFF): $(NOFFF_OBJFILES) $(C_OBJFILES)
|
58
|
+
@echo "Linking "$@
|
59
|
+
@echo " LD -o "$(CPP_PROGNAME_NOFFF)" "$(NOFFF_OBJFILES)
|
60
|
+
$(LD) -o $(CPP_PROGNAME_NOFFF) $(NOFFF_OBJFILES) $(C_OBJFILES) $(CPP_LIBS)
|
61
|
+
|
62
|
+
nothing:
|
63
|
+
@echo "Nothing to do; quitting :("
|
64
|
+
@echo "HINT: Try make all"
|
@@ -0,0 +1,24 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
#include "hardware_abstraction.h"
|
4
|
+
#include "registers.h"
|
5
|
+
|
6
|
+
void driver_write(uint8_t val)
|
7
|
+
{
|
8
|
+
IO_MEM_WR8(DRIVER_OUTPUT_REGISTER, val);
|
9
|
+
}
|
10
|
+
|
11
|
+
uint8_t driver_read()
|
12
|
+
{
|
13
|
+
return IO_MEM_RD8(DRIVER_INPUT_REGISTER);
|
14
|
+
}
|
15
|
+
|
16
|
+
void driver_init_device()
|
17
|
+
{
|
18
|
+
uint8_t hw_version = IO_MEM_RD8(HARDWARE_VERSION_REGISTER);
|
19
|
+
if(HARDWARE_REV_B == hw_version)
|
20
|
+
{
|
21
|
+
IO_MEM_WR8(DRIVER_PERIPHERAL_ENABLE_REG, 1);
|
22
|
+
}
|
23
|
+
IO_MEM_WR8(DRIVER_PERIPHERAL_INITIALIZE_REG, 1);
|
24
|
+
}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
extern "C"
|
2
|
+
{
|
3
|
+
#include "driver.h"
|
4
|
+
#include "registers.h"
|
5
|
+
}
|
6
|
+
#include "../../fff.h"
|
7
|
+
#include <gtest/gtest.h>
|
8
|
+
|
9
|
+
|
10
|
+
extern "C"
|
11
|
+
{
|
12
|
+
static uint8_t readVal;
|
13
|
+
static int readCalled;
|
14
|
+
static uint32_t readRegister;
|
15
|
+
uint8_t IO_MEM_RD8(uint32_t reg)
|
16
|
+
{
|
17
|
+
readRegister = reg;
|
18
|
+
readCalled++;
|
19
|
+
return readVal;
|
20
|
+
}
|
21
|
+
|
22
|
+
static uint32_t writeRegister;
|
23
|
+
static uint8_t writeVal;
|
24
|
+
static int writeCalled;
|
25
|
+
void IO_MEM_WR8(uint32_t reg, uint8_t val)
|
26
|
+
{
|
27
|
+
writeRegister = reg;
|
28
|
+
writeVal = val;
|
29
|
+
writeCalled++;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
TEST(Driver, When_writing_Then_writes_data_to_DRIVER_OUTPUT_REGISTER)
|
34
|
+
{
|
35
|
+
driver_write(0x34);
|
36
|
+
ASSERT_EQ(1u, writeCalled);
|
37
|
+
ASSERT_EQ(0x34u, writeVal);
|
38
|
+
ASSERT_EQ(DRIVER_OUTPUT_REGISTER, writeRegister);
|
39
|
+
}
|
40
|
+
|
41
|
+
|
42
|
+
TEST(Driver, When_reading_data_Then_reads_from_DRIVER_INPUT_REGISTER)
|
43
|
+
{
|
44
|
+
readVal = 0x55;
|
45
|
+
uint8_t returnedValue = driver_read();
|
46
|
+
ASSERT_EQ(1u, readCalled);
|
47
|
+
ASSERT_EQ(0x55u, returnedValue);
|
48
|
+
ASSERT_EQ(readRegister, DRIVER_INPUT_REGISTER);
|
49
|
+
}
|
50
|
+
|
@@ -0,0 +1,62 @@
|
|
1
|
+
extern "C"{
|
2
|
+
#include "driver.h"
|
3
|
+
#include "registers.h"
|
4
|
+
}
|
5
|
+
#include "../../fff.h"
|
6
|
+
#include <gtest/gtest.h>
|
7
|
+
|
8
|
+
DEFINE_FFF_GLOBALS;
|
9
|
+
|
10
|
+
FAKE_VOID_FUNC(IO_MEM_WR8, uint32_t, uint8_t);
|
11
|
+
FAKE_VALUE_FUNC(uint8_t, IO_MEM_RD8, uint32_t);
|
12
|
+
|
13
|
+
class DriverTestFFF : public testing::Test
|
14
|
+
{
|
15
|
+
public:
|
16
|
+
void SetUp()
|
17
|
+
{
|
18
|
+
RESET_FAKE(IO_MEM_WR8);
|
19
|
+
RESET_FAKE(IO_MEM_RD8);
|
20
|
+
FFF_RESET_HISTORY();
|
21
|
+
}
|
22
|
+
|
23
|
+
};
|
24
|
+
|
25
|
+
TEST_F(DriverTestFFF, When_writing_Then_writes_data_to_DRIVER_OUTPUT_REGISTER)
|
26
|
+
{
|
27
|
+
driver_write(0x34);
|
28
|
+
ASSERT_EQ(1u, IO_MEM_WR8_fake.call_count);
|
29
|
+
ASSERT_EQ(0x34u, IO_MEM_WR8_fake.arg1_val);
|
30
|
+
ASSERT_EQ(DRIVER_OUTPUT_REGISTER, IO_MEM_WR8_fake.arg0_val);
|
31
|
+
}
|
32
|
+
|
33
|
+
|
34
|
+
TEST_F(DriverTestFFF, When_reading_data_Then_reads_from_DRIVER_INPUT_REGISTER)
|
35
|
+
{
|
36
|
+
IO_MEM_RD8_fake.return_val = 0x55;
|
37
|
+
uint8_t returnedValue = driver_read();
|
38
|
+
ASSERT_EQ(1u, IO_MEM_RD8_fake.call_count);
|
39
|
+
ASSERT_EQ(0x55u, returnedValue);
|
40
|
+
ASSERT_EQ(IO_MEM_RD8_fake.arg0_val, DRIVER_INPUT_REGISTER);
|
41
|
+
}
|
42
|
+
|
43
|
+
TEST_F(DriverTestFFF, Given_revisionB_device_When_initialize_Then_enable_peripheral_before_initializing_it)
|
44
|
+
{
|
45
|
+
// Given
|
46
|
+
IO_MEM_RD8_fake.return_val = HARDWARE_REV_B;
|
47
|
+
// When
|
48
|
+
driver_init_device();
|
49
|
+
|
50
|
+
//Then
|
51
|
+
// Gets the hardware revision
|
52
|
+
ASSERT_EQ((void*) IO_MEM_RD8, fff.call_history[0]);
|
53
|
+
ASSERT_EQ(HARDWARE_VERSION_REGISTER, IO_MEM_RD8_fake.arg0_history[0]);
|
54
|
+
// Enables Peripheral
|
55
|
+
ASSERT_EQ((void*) IO_MEM_WR8, fff.call_history[1]);
|
56
|
+
ASSERT_EQ(DRIVER_PERIPHERAL_ENABLE_REG, IO_MEM_WR8_fake.arg0_history[0]);
|
57
|
+
ASSERT_EQ(1, IO_MEM_WR8_fake.arg1_history[0]);
|
58
|
+
// Initializes Peripheral
|
59
|
+
ASSERT_EQ((void*) IO_MEM_WR8, fff.call_history[2]);
|
60
|
+
ASSERT_EQ(DRIVER_PERIPHERAL_INITIALIZE_REG,IO_MEM_WR8_fake.arg0_history[1]);
|
61
|
+
ASSERT_EQ(1, IO_MEM_WR8_fake.arg1_history[1]);
|
62
|
+
}
|
data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/hardware_abstraction.h
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
#ifndef HARDWARE_ABSTRACTION
|
2
|
+
#define HARDWARE_ABSTRACTION
|
3
|
+
|
4
|
+
#include <stdint.h>
|
5
|
+
|
6
|
+
#ifndef TESTING
|
7
|
+
#define IO_MEM_RD8(ADDR) (*((volatile uint8_t *)(ADDR)))
|
8
|
+
#define IO_MEM_WR8(ADDR, VAL_8) (*((volatile uint8_t *)(ADDR)) = (VAL_8))
|
9
|
+
#else
|
10
|
+
/* In testing use fake functions to record calls to IO memory */
|
11
|
+
uint8_t IO_MEM_RD8(uint32_t reg);
|
12
|
+
void IO_MEM_WR8(uint32_t reg, uint8_t val);
|
13
|
+
#endif
|
14
|
+
|
15
|
+
#endif /* Include guard */
|
@@ -0,0 +1,13 @@
|
|
1
|
+
#ifndef REGISTERS_H_
|
2
|
+
#define REGISTERS_H_
|
3
|
+
|
4
|
+
#define DRIVER_OUTPUT_REGISTER 0xFFAAu
|
5
|
+
#define DRIVER_INPUT_REGISTER 0XFFABu
|
6
|
+
#define DRIVER_PERIPHERAL_ENABLE_REG 0xFFACu
|
7
|
+
#define DRIVER_PERIPHERAL_INITIALIZE_REG 0xFFACu
|
8
|
+
|
9
|
+
#define HARDWARE_VERSION_REGISTER 0xFF00u
|
10
|
+
#define HARDWARE_REV_A 0x00u
|
11
|
+
#define HARDWARE_REV_B 0x01u
|
12
|
+
|
13
|
+
#endif /* REGISTERS_H_ */
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/*
|
2
|
+
* DISPLAY.h
|
3
|
+
*
|
4
|
+
* Created on: Dec 17, 2010
|
5
|
+
* Author: mlong
|
6
|
+
*/
|
7
|
+
|
8
|
+
#ifndef DISPLAY_H_
|
9
|
+
#define DISPLAY_H_
|
10
|
+
|
11
|
+
void DISPLAY_init();
|
12
|
+
void DISPLAY_clear();
|
13
|
+
unsigned int DISPLAY_get_line_capacity();
|
14
|
+
unsigned int DISPLAY_get_line_insert_index();
|
15
|
+
void DISPLAY_output(char * message);
|
16
|
+
|
17
|
+
#endif /* DISPLAY_H_ */
|
@@ -0,0 +1,25 @@
|
|
1
|
+
|
2
|
+
Problem Definition
|
3
|
+
------------------
|
4
|
+
The task is to write a user interface module for an embedded device.
|
5
|
+
|
6
|
+
Interrupts:
|
7
|
+
* The user interface is responsible for initializing the display.
|
8
|
+
* The user interface will register an interrupt handler for GPIO input 2 (a
|
9
|
+
push button).
|
10
|
+
* It will be possible to register a callback function for button presses.
|
11
|
+
* When there is no callback function set the irq handler will increment a
|
12
|
+
missed irq counter.
|
13
|
+
* When the interrupt occurs the handler will schedule or execute the button
|
14
|
+
press callback if there is one registered.
|
15
|
+
Output:
|
16
|
+
* Tasks can write messages to the user interface to be output on the display.
|
17
|
+
* The display is line oriented; when the last line of the display is written
|
18
|
+
the user interface is responsible for clearing the display.
|
19
|
+
* The display is 26 characters wide. Any string longer than that must be
|
20
|
+
truncated before being sent to the display. The string must be null
|
21
|
+
terminated and thus maximum 27 bytes long.
|
22
|
+
|
23
|
+
* BONUS: Have the display be scrolling, i.e. when the display is full, the
|
24
|
+
previous lines must be shifted up one and the new line written in the bottom
|
25
|
+
line.
|
@@ -0,0 +1,67 @@
|
|
1
|
+
$(VERBOSE).SILENT:
|
2
|
+
|
3
|
+
BUILD_DIR = ../../build
|
4
|
+
TEMPLATE_PROGNAME = $(BUILD_DIR)/template
|
5
|
+
C_PROGNAME = $(BUILD_DIR)/ui_test_ansic
|
6
|
+
CPP_PROGNAME = $(BUILD_DIR)/ui_test_cpp
|
7
|
+
CC = gcc
|
8
|
+
CC += -c
|
9
|
+
CPP = g++
|
10
|
+
CPP += -c
|
11
|
+
LD = g++
|
12
|
+
|
13
|
+
GTEST_OBJS = $(BUILD_DIR)/gtest-all.o $(BUILD_DIR)/gtest-main.o
|
14
|
+
C_OBJFILES = $(BUILD_DIR)/UI_test_ansic.o $(BUILD_DIR)/UI.o
|
15
|
+
TEMPLATE_OBJFILES = $(BUILD_DIR)/test_suite_template.o
|
16
|
+
CPP_OBJFILES = $(BUILD_DIR)/UI_test_cpp.o $(BUILD_DIR)/UI.o $(GTEST_OBJS)
|
17
|
+
CPP_LIBS = -lpthread
|
18
|
+
|
19
|
+
|
20
|
+
all: $(C_PROGNAME) $(CPP_PROGNAME) $(TEMPLATE_PROGNAME)
|
21
|
+
|
22
|
+
.PHONY: clean
|
23
|
+
|
24
|
+
clean:
|
25
|
+
@echo "Cleaning object files"
|
26
|
+
@echo " rm -f $(BUILD_DIR)/*.o"
|
27
|
+
rm -f $(BUILD_DIR)/*.o
|
28
|
+
@echo "Cleaning backups"
|
29
|
+
@echo " rm -f *~"
|
30
|
+
rm -f *~
|
31
|
+
@echo "Removing programs"
|
32
|
+
@echo " rm -f "$(C_PROGNAME)
|
33
|
+
rm -f $(C_PROGNAME)
|
34
|
+
@echo " rm -f "$(CPP_PROGNAME) $(TEMPLATE_PROGNAME)
|
35
|
+
rm -f $(CPP_PROGNAME) $(TEMPLATE_PROGNAME)
|
36
|
+
|
37
|
+
|
38
|
+
$(BUILD_DIR)/%.o: %.c
|
39
|
+
@echo "Compiling "$@
|
40
|
+
@echo " CC "$<
|
41
|
+
$(CC) -o $@ $<
|
42
|
+
|
43
|
+
$(BUILD_DIR)/%.o: %.cpp
|
44
|
+
@echo "Compiling "$@
|
45
|
+
@echo " CPP "$<
|
46
|
+
$(CPP) -DGTEST_USE_OWN_TR1_TUPLE=1 -I../.. -o $@ $<
|
47
|
+
|
48
|
+
$(TEMPLATE_PROGNAME): $(TEMPLATE_OBJFILES)
|
49
|
+
@echo "Linking "$@
|
50
|
+
@echo " LD -o "ctemplate" "$(TEMPLATE_OBJFILES)
|
51
|
+
$(LD) -o $(TEMPLATE_PROGNAME) $(TEMPLATE_OBJFILES)
|
52
|
+
|
53
|
+
$(C_PROGNAME): $(C_OBJFILES)
|
54
|
+
@echo "Linking "$@
|
55
|
+
@echo " LD -o "$(C_PROGNAME)" "$(C_OBJFILES)
|
56
|
+
$(LD) -o $(C_PROGNAME) $(C_OBJFILES)
|
57
|
+
|
58
|
+
$(CPP_PROGNAME): $(CPP_OBJFILES) $(C_OBJFILES)
|
59
|
+
@echo "Linking "$@
|
60
|
+
@echo " LD -o "$(CPP_PROGNAME)" "$(CPP_OBJFILES)
|
61
|
+
$(LD) -o $(CPP_PROGNAME) $(CPP_OBJFILES) $(CPP_LIBS)
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
nothing:
|
66
|
+
@echo "Nothing to do; quitting :("
|
67
|
+
@echo "HINT: Try make all"
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/*
|
2
|
+
* DISPLAY.h
|
3
|
+
*
|
4
|
+
* Created on: Dec 17, 2010
|
5
|
+
* Author: mlong
|
6
|
+
*/
|
7
|
+
|
8
|
+
#ifndef SYSTEM_H_
|
9
|
+
#define SYSTEM_H_
|
10
|
+
|
11
|
+
typedef void (*irq_func_t)(void);
|
12
|
+
|
13
|
+
#define IRQ_GPIO_0 0x70
|
14
|
+
#define IRQ_GPIO_1 0x71
|
15
|
+
#define IRQ_GPIO_2 0x72
|
16
|
+
#define IRQ_GPIO_3 0x73
|
17
|
+
|
18
|
+
|
19
|
+
void SYSTEM_register_irq(irq_func_t, unsigned int irq);
|
20
|
+
|
21
|
+
#endif /* SYSTEM_H_ */
|
@@ -0,0 +1,48 @@
|
|
1
|
+
#include "UI.h"
|
2
|
+
#include "DISPLAY.h"
|
3
|
+
#include "SYSTEM.h"
|
4
|
+
#include <string.h>
|
5
|
+
|
6
|
+
static unsigned int missed_irq_counter;
|
7
|
+
button_cbk_t button_cbk;
|
8
|
+
|
9
|
+
|
10
|
+
void UI_init()
|
11
|
+
{
|
12
|
+
DISPLAY_init();
|
13
|
+
SYSTEM_register_irq(UI_button_irq_handler, IRQ_GPIO_2);
|
14
|
+
button_cbk = 0;
|
15
|
+
missed_irq_counter = 0;
|
16
|
+
}
|
17
|
+
|
18
|
+
unsigned int UI_get_missed_irqs()
|
19
|
+
{
|
20
|
+
return missed_irq_counter;
|
21
|
+
}
|
22
|
+
|
23
|
+
void UI_button_irq_handler()
|
24
|
+
{
|
25
|
+
if(button_cbk)
|
26
|
+
{
|
27
|
+
button_cbk();
|
28
|
+
}
|
29
|
+
else
|
30
|
+
{
|
31
|
+
missed_irq_counter++;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
void UI_register_button_cbk(button_cbk_t cbk)
|
36
|
+
{
|
37
|
+
button_cbk = cbk;
|
38
|
+
}
|
39
|
+
|
40
|
+
void UI_write_line(char *line)
|
41
|
+
{
|
42
|
+
static char out[27];
|
43
|
+
strncpy(out, line, 26);
|
44
|
+
out[26] = '\0';
|
45
|
+
if(DISPLAY_get_line_capacity() == DISPLAY_get_line_insert_index())
|
46
|
+
DISPLAY_clear();
|
47
|
+
DISPLAY_output(out);
|
48
|
+
}
|