ceedling 0.25.0 → 0.27.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/assets/project_as_gem.yml +13 -0
- data/assets/project_with_guts.yml +13 -0
- data/bin/ceedling +91 -67
- data/docs/CeedlingPacket.md +61 -23
- data/docs/CeedlingPacket.odt +0 -0
- data/docs/CeedlingPacket.pdf +0 -0
- data/docs/ThrowTheSwitchCodingStandard.md +207 -0
- data/examples/temp_sensor/test/TestTemperatureCalculator.c +4 -1
- data/lib/ceedling/configurator.rb +14 -1
- data/lib/ceedling/configurator_builder.rb +2 -1
- data/lib/ceedling/configurator_validator.rb +12 -3
- data/lib/ceedling/constants.rb +3 -1
- data/lib/ceedling/defaults.rb +12 -1
- data/lib/ceedling/file_finder.rb +3 -0
- data/lib/ceedling/file_path_utils.rb +1 -1
- data/lib/ceedling/file_wrapper.rb +4 -4
- data/lib/ceedling/generator.rb +12 -3
- data/lib/ceedling/preprocessinator_helper.rb +5 -5
- data/lib/ceedling/preprocessinator_includes_handler.rb +10 -1
- data/lib/ceedling/project_config_manager.rb +1 -2
- data/lib/ceedling/project_file_loader.rb +27 -9
- data/lib/ceedling/rakefile.rb +6 -6
- data/lib/ceedling/release_invoker.rb +21 -6
- data/lib/ceedling/rules_release.rake +9 -5
- data/lib/ceedling/rules_tests.rake +6 -1
- data/lib/ceedling/setupinator.rb +1 -0
- data/lib/ceedling/tasks_base.rake +3 -0
- data/lib/ceedling/tasks_filesystem.rake +10 -7
- data/lib/ceedling/tasks_release.rake +3 -1
- data/lib/ceedling/test_includes_extractor.rb +16 -12
- data/lib/ceedling/test_invoker.rb +40 -0
- data/lib/ceedling/version.rb +3 -3
- data/lib/ceedling/version.rb.erb +1 -1
- data/plugins/command_hooks/lib/command_hooks.rb +1 -1
- data/plugins/fake_function_framework/examples/fff_example/src/bar.h +1 -0
- data/plugins/fake_function_framework/examples/fff_example/src/event_processor.c +1 -0
- data/plugins/fake_function_framework/lib/fff_mock_generator.rb +4 -0
- data/plugins/fake_function_framework/spec/{fff_mock_generator_spec.rb → fff_mock_header_generator_spec.rb} +34 -194
- data/plugins/fake_function_framework/spec/fff_mock_source_generator_spec.rb +149 -0
- data/plugins/fake_function_framework/spec/header_generator.rb +51 -0
- data/plugins/junit_tests_report/lib/junit_tests_report.rb +115 -0
- data/plugins/subprojects/README.md +63 -0
- data/plugins/subprojects/config/defaults.yml +33 -0
- data/plugins/subprojects/lib/subprojects.rb +92 -0
- data/plugins/subprojects/subprojects.rake +78 -0
- data/spec/preprocessinator_includes_handler_spec.rb +15 -5
- data/spec/spec_helper.rb +2 -2
- data/spec/spec_system_helper.rb +49 -1
- data/spec/system/deployment_spec.rb +29 -0
- data/vendor/c_exception/README.md +8 -2
- data/vendor/c_exception/docs/{readme.txt → CException.md} +133 -102
- data/vendor/c_exception/docs/ThrowTheSwitchCodingStandard.md +207 -0
- data/vendor/c_exception/vendor/unity/README.md +19 -10
- data/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +67 -64
- data/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +20 -20
- data/vendor/c_exception/vendor/unity/auto/generate_module.rb +149 -142
- data/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +234 -232
- data/vendor/c_exception/vendor/unity/auto/parse_output.rb +220 -0
- data/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +108 -120
- data/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +11 -9
- data/vendor/c_exception/vendor/unity/auto/type_sanitizer.rb +1 -3
- data/vendor/c_exception/vendor/unity/auto/unity_test_summary.py +6 -2
- data/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +45 -57
- data/vendor/c_exception/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +207 -0
- data/vendor/c_exception/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
- data/vendor/c_exception/vendor/unity/docs/UnityAssertionsReference.md +716 -0
- data/vendor/c_exception/vendor/unity/docs/UnityConfigurationGuide.md +398 -0
- data/vendor/c_exception/vendor/unity/docs/UnityGettingStartedGuide.md +191 -0
- data/vendor/c_exception/vendor/unity/docs/UnityHelperScriptsGuide.md +242 -0
- data/vendor/c_exception/vendor/unity/examples/example_1/makefile +22 -17
- data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +1 -1
- data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +1 -1
- data/vendor/c_exception/vendor/unity/examples/example_2/makefile +16 -17
- data/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +15 -15
- data/vendor/c_exception/vendor/unity/examples/example_3/rakefile_helper.rb +93 -100
- data/vendor/c_exception/vendor/unity/examples/example_3/readme.txt +4 -10
- data/vendor/c_exception/vendor/unity/examples/unity_config.h +14 -26
- data/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +12 -12
- data/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +87 -88
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +15 -8
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +6 -1
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +3 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +1 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +1 -1
- data/vendor/c_exception/vendor/unity/src/unity.c +396 -330
- data/vendor/c_exception/vendor/unity/src/unity.h +50 -4
- data/vendor/c_exception/vendor/unity/src/unity_internals.h +119 -84
- data/vendor/c_exception/vendor/unity/test/Makefile +17 -17
- data/vendor/c_exception/vendor/unity/test/rakefile +63 -3
- data/vendor/c_exception/vendor/unity/test/rakefile_helper.rb +108 -105
- data/vendor/c_exception/vendor/unity/test/spec/generate_module_existing_file_spec.rb +158 -0
- data/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +0 -6
- data/vendor/c_exception/vendor/unity/test/targets/clang_strict.yml +1 -9
- data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +2 -0
- data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +2 -2
- data/vendor/c_exception/vendor/unity/test/tests/test_generate_test_runner.rb +5 -5
- data/vendor/c_exception/vendor/unity/test/tests/testunity.c +1338 -151
- data/vendor/cmock/README.md +10 -1
- data/vendor/cmock/config/test_environment.rb +7 -7
- data/vendor/cmock/docs/CMock_Summary.md +325 -128
- data/vendor/cmock/docs/ThrowTheSwitchCodingStandard.md +207 -0
- data/vendor/cmock/examples/make_example/Makefile +2 -2
- data/vendor/cmock/examples/temp_sensor/gcc.yml +5 -4
- data/vendor/cmock/examples/temp_sensor/iar_v4.yml +5 -4
- data/vendor/cmock/examples/temp_sensor/iar_v5.yml +5 -4
- data/vendor/cmock/examples/temp_sensor/rakefile.rb +11 -1
- data/vendor/cmock/examples/temp_sensor/rakefile_helper.rb +12 -10
- data/vendor/cmock/lib/cmock.rb +0 -3
- data/vendor/cmock/lib/cmock_generator_plugin_callback.rb +6 -2
- data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +2 -1
- data/vendor/cmock/lib/cmock_header_parser.rb +5 -6
- data/vendor/cmock/release/version.info +1 -1
- data/vendor/cmock/scripts/create_makefile.rb +4 -2
- data/vendor/cmock/scripts/test_summary.rb +17 -9
- data/vendor/cmock/src/cmock.c +1 -0
- data/vendor/cmock/src/cmock.h +1 -1
- data/vendor/cmock/src/cmock_internals.h +14 -1
- data/vendor/cmock/test/c/TestCMockC.yml +4 -4
- data/vendor/cmock/test/c/TestCMockCDynamic.yml +4 -4
- data/vendor/cmock/{iar → test/iar}/iar_v4/Resource/SAM7_FLASH.mac +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/Resource/SAM7_RAM.mac +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/Resource/SAM7_SIM.mac +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/Resource/at91SAM7X256_FLASH.xcl +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/Resource/at91SAM7X256_RAM.xcl +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/Resource/ioat91sam7x256.ddf +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/cmock_demo.dep +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/cmock_demo.ewd +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/cmock_demo.ewp +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/cmock_demo.eww +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/incIAR/AT91SAM7X-EK.h +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/incIAR/AT91SAM7X256.inc +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/incIAR/AT91SAM7X256.rdf +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/incIAR/AT91SAM7X256.tcl +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/incIAR/AT91SAM7X256_inc.h +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/incIAR/ioat91sam7x256.h +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/incIAR/lib_AT91SAM7X256.h +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/settings/cmock_demo.cspy.bat +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/settings/cmock_demo.dbgdt +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/settings/cmock_demo.dni +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/settings/cmock_demo.wsdt +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/srcIAR/Cstartup.s79 +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v4/srcIAR/Cstartup_SAM7.c +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/Resource/SAM7_FLASH.mac +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/Resource/SAM7_RAM.mac +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/Resource/SAM7_SIM.mac +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/Resource/at91SAM7X256_FLASH.icf +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/Resource/at91SAM7X256_RAM.icf +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/cmock_demo.dep +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/cmock_demo.ewd +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/cmock_demo.ewp +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/cmock_demo.eww +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/incIAR/AT91SAM7X-EK.h +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/incIAR/AT91SAM7X256_inc.h +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/incIAR/lib_AT91SAM7X256.h +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/incIAR/project.h +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/settings/BasicInterrupt_SAM7X.cspy.bat +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/settings/BasicInterrupt_SAM7X.dbgdt +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/settings/BasicInterrupt_SAM7X.dni +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/settings/BasicInterrupt_SAM7X.wsdt +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/settings/BasicInterrupt_SAM7X_FLASH_Debug.jlink +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/settings/cmock_demo.cspy.bat +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/settings/cmock_demo.dbgdt +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/settings/cmock_demo.dni +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/settings/cmock_demo.wsdt +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/settings/cmock_demo_Binary.jlink +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/settings/cmock_demo_FLASH_Debug.jlink +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/settings/cmock_demo_RAM_Debug.jlink +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/srcIAR/Cstartup.s +0 -0
- data/vendor/cmock/{iar → test/iar}/iar_v5/srcIAR/Cstartup_SAM7.c +0 -0
- data/vendor/cmock/{Rakefile → test/rakefile} +9 -9
- data/vendor/cmock/{rakefile_helper.rb → test/rakefile_helper.rb} +13 -13
- data/vendor/cmock/test/system/test_compilation/config.yml +4 -4
- data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +2 -0
- data/vendor/cmock/{targets → test/targets}/clang_strict.yml +11 -11
- data/vendor/cmock/{targets → test/targets}/gcc.yml +9 -9
- data/vendor/cmock/{targets → test/targets}/gcc_64.yml +9 -9
- data/vendor/cmock/{targets → test/targets}/gcc_tiny.yml +9 -9
- data/vendor/cmock/{targets → test/targets}/iar_arm_v4.yml +9 -9
- data/vendor/cmock/{targets → test/targets}/iar_arm_v5.yml +10 -10
- data/vendor/cmock/test/test_helper.rb +4 -8
- data/vendor/cmock/test/unit/cmock_config_test.rb +1 -1
- data/vendor/cmock/test/unit/cmock_file_writer_test.rb +1 -1
- data/vendor/cmock/test/unit/cmock_generator_main_test.rb +1 -1
- data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +1 -1
- data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +3 -1
- data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +1 -1
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_a_test.rb +1 -1
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +1 -1
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_b_test.rb +1 -1
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +1 -1
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +1 -1
- data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +1 -1
- data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +1 -1
- data/vendor/cmock/test/unit/cmock_header_parser_test.rb +15 -2
- data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +6 -10
- data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +1 -1
- data/vendor/cmock/vendor/c_exception/README.md +8 -2
- data/vendor/cmock/vendor/c_exception/docs/{readme.txt → CException.md} +133 -102
- data/vendor/cmock/vendor/c_exception/docs/ThrowTheSwitchCodingStandard.md +207 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/README.md +19 -10
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +67 -64
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +20 -20
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_module.rb +149 -142
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +234 -232
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/parse_output.rb +220 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +108 -120
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +11 -9
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/type_sanitizer.rb +1 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.py +6 -2
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +45 -57
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +207 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityAssertionsReference.md +716 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityConfigurationGuide.md +398 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityGettingStartedGuide.md +191 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityHelperScriptsGuide.md +242 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/makefile +22 -17
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/makefile +16 -17
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +15 -15
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile_helper.rb +93 -100
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/readme.txt +4 -10
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/unity_config.h +14 -26
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +12 -12
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +87 -88
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +15 -8
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +6 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +3 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +1 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.c +396 -330
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.h +50 -4
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity_internals.h +119 -84
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/Makefile +17 -17
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/rakefile +63 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/rakefile_helper.rb +108 -105
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/spec/generate_module_existing_file_spec.rb +158 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +0 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/clang_strict.yml +1 -9
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +2 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +2 -2
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/test_generate_test_runner.rb +5 -5
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/testunity.c +1338 -151
- data/vendor/cmock/vendor/unity/README.md +19 -10
- data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +67 -64
- data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +20 -20
- data/vendor/cmock/vendor/unity/auto/generate_module.rb +149 -142
- data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +234 -232
- data/vendor/cmock/vendor/unity/auto/parse_output.rb +220 -0
- data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +108 -120
- data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +11 -9
- data/vendor/cmock/vendor/unity/auto/type_sanitizer.rb +1 -3
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.py +6 -2
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +45 -57
- data/vendor/cmock/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +207 -0
- data/vendor/cmock/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
- data/vendor/cmock/vendor/unity/docs/UnityAssertionsReference.md +716 -0
- data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.md +398 -0
- data/vendor/cmock/vendor/unity/docs/UnityGettingStartedGuide.md +191 -0
- data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.md +242 -0
- data/vendor/cmock/vendor/unity/examples/example_1/makefile +22 -17
- data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/makefile +16 -17
- data/vendor/cmock/vendor/unity/examples/example_3/rakefile.rb +15 -15
- data/vendor/cmock/vendor/unity/examples/example_3/rakefile_helper.rb +93 -100
- data/vendor/cmock/vendor/unity/examples/example_3/readme.txt +4 -10
- data/vendor/cmock/vendor/unity/examples/unity_config.h +14 -26
- data/vendor/cmock/vendor/unity/extras/fixture/rakefile.rb +12 -12
- data/vendor/cmock/vendor/unity/extras/fixture/rakefile_helper.rb +87 -88
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +15 -8
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +6 -1
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +3 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +1 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +1 -1
- data/vendor/cmock/vendor/unity/release/version.info +1 -1
- data/vendor/cmock/vendor/unity/src/unity.c +396 -330
- data/vendor/cmock/vendor/unity/src/unity.h +50 -4
- data/vendor/cmock/vendor/unity/src/unity_internals.h +119 -84
- data/vendor/cmock/vendor/unity/test/Makefile +17 -17
- data/vendor/cmock/vendor/unity/test/rakefile +63 -3
- data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +108 -105
- data/vendor/cmock/vendor/unity/test/spec/generate_module_existing_file_spec.rb +158 -0
- data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +0 -6
- data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +1 -9
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +2 -0
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +2 -2
- data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +5 -5
- data/vendor/cmock/vendor/unity/test/tests/testunity.c +1338 -151
- data/vendor/deep_merge/Rakefile +1 -1
- data/vendor/unity/README.md +19 -10
- data/vendor/unity/auto/colour_prompt.rb +67 -64
- data/vendor/unity/auto/colour_reporter.rb +20 -20
- data/vendor/unity/auto/generate_module.rb +149 -142
- data/vendor/unity/auto/generate_test_runner.rb +234 -232
- data/vendor/unity/auto/parse_output.rb +220 -0
- data/vendor/unity/auto/stylize_as_junit.rb +108 -120
- data/vendor/unity/auto/test_file_filter.rb +11 -9
- data/vendor/unity/auto/type_sanitizer.rb +1 -3
- data/vendor/unity/auto/unity_test_summary.py +6 -2
- data/vendor/unity/auto/unity_test_summary.rb +45 -57
- data/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +207 -0
- data/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
- data/vendor/unity/docs/UnityAssertionsReference.md +716 -0
- data/vendor/unity/docs/UnityConfigurationGuide.md +398 -0
- data/vendor/unity/docs/UnityGettingStartedGuide.md +191 -0
- data/vendor/unity/docs/UnityHelperScriptsGuide.md +242 -0
- data/vendor/unity/examples/example_1/makefile +22 -17
- data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +1 -1
- data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +1 -1
- data/vendor/unity/examples/example_2/makefile +16 -17
- data/vendor/unity/examples/example_3/rakefile.rb +15 -15
- data/vendor/unity/examples/example_3/rakefile_helper.rb +93 -100
- data/vendor/unity/examples/example_3/readme.txt +4 -10
- data/vendor/unity/examples/unity_config.h +14 -26
- data/vendor/unity/extras/fixture/rakefile.rb +12 -12
- data/vendor/unity/extras/fixture/rakefile_helper.rb +87 -88
- data/vendor/unity/extras/fixture/src/unity_fixture.c +15 -8
- data/vendor/unity/extras/fixture/src/unity_fixture.h +6 -1
- data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +3 -0
- data/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +1 -0
- data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +1 -1
- data/vendor/unity/release/version.info +1 -1
- data/vendor/unity/src/unity.c +396 -330
- data/vendor/unity/src/unity.h +50 -4
- data/vendor/unity/src/unity_internals.h +119 -84
- data/vendor/unity/test/Makefile +17 -17
- data/vendor/unity/test/rakefile +63 -3
- data/vendor/unity/test/rakefile_helper.rb +108 -105
- data/vendor/unity/test/spec/generate_module_existing_file_spec.rb +158 -0
- data/vendor/unity/test/targets/clang_file.yml +0 -6
- data/vendor/unity/test/targets/clang_strict.yml +1 -9
- data/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +2 -0
- data/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +2 -2
- data/vendor/unity/test/tests/test_generate_test_runner.rb +5 -5
- data/vendor/unity/test/tests/testunity.c +1338 -151
- metadata +102 -157
- data/test_graveyard/integration/paths.yml +0 -17
- data/test_graveyard/integration/paths_test.rb +0 -80
- data/test_graveyard/integration/rake_rules_aux_dependencies_test.rb +0 -75
- data/test_graveyard/integration/rake_rules_cmock_test.rb +0 -74
- data/test_graveyard/integration/rake_rules_preprocess_test.rb +0 -178
- data/test_graveyard/integration/rake_rules_test.rb +0 -268
- data/test_graveyard/integration/rake_tasks_test.rb +0 -103
- data/test_graveyard/integration_test_helper.rb +0 -34
- data/test_graveyard/rakefile_rules.rb +0 -10
- data/test_graveyard/rakefile_rules_aux_dependencies.rb +0 -10
- data/test_graveyard/rakefile_rules_cmock.rb +0 -10
- data/test_graveyard/rakefile_rules_preprocess.rb +0 -10
- data/test_graveyard/rakefile_tasks.rb +0 -10
- data/test_graveyard/system/file_system_dependencies.yml +0 -20
- data/test_graveyard/system/file_system_kitchen_sink.yml +0 -20
- data/test_graveyard/system/file_system_mocks.yml +0 -20
- data/test_graveyard/system/file_system_preprocess.yml +0 -20
- data/test_graveyard/system/file_system_simple.yml +0 -20
- data/test_graveyard/system/file_system_test.rb +0 -78
- data/test_graveyard/system/mocks/include/a_file.h +0 -2
- data/test_graveyard/system/mocks/include/other_stuff.h +0 -2
- data/test_graveyard/system/mocks/include/stuff.h +0 -3
- data/test_graveyard/system/mocks/source/a_file.c +0 -9
- data/test_graveyard/system/mocks/test/test_a_file.c +0 -41
- data/test_graveyard/system/mocks/test/test_no_file.c +0 -14
- data/test_graveyard/system/project_mocks.yml +0 -43
- data/test_graveyard/system/project_mocks_test.rb +0 -38
- data/test_graveyard/system/project_simple.yml +0 -36
- data/test_graveyard/system/project_simple_test.rb +0 -39
- data/test_graveyard/system/rule_mocks_test.rb +0 -44
- data/test_graveyard/system/rule_runners_test.rb +0 -44
- data/test_graveyard/system/simple/include/other_stuff.h +0 -2
- data/test_graveyard/system/simple/include/stuff.h +0 -3
- data/test_graveyard/system/simple/source/other_stuff.c +0 -6
- data/test_graveyard/system/simple/source/stuff.c +0 -7
- data/test_graveyard/system/simple/test/test_other_stuff.c +0 -30
- data/test_graveyard/system/simple/test/test_stuff.c +0 -51
- data/test_graveyard/system_test_helper.rb +0 -73
- data/test_graveyard/test_helper.rb +0 -93
- data/test_graveyard/unit/busted/configurator_builder_test.rb +0 -569
- data/test_graveyard/unit/busted/configurator_helper_test.rb +0 -234
- data/test_graveyard/unit/busted/configurator_test.rb +0 -232
- data/test_graveyard/unit/busted/configurator_validator_test.rb +0 -169
- data/test_graveyard/unit/busted/deep_merge_fix_test.rb +0 -55
- data/test_graveyard/unit/busted/dependinator_test.rb +0 -129
- data/test_graveyard/unit/busted/file_finder_helper_test.rb +0 -45
- data/test_graveyard/unit/busted/file_finder_test.rb +0 -114
- data/test_graveyard/unit/busted/file_path_utils_test.rb +0 -97
- data/test_graveyard/unit/busted/file_system_utils_test.rb +0 -21
- data/test_graveyard/unit/busted/generator_test.rb +0 -187
- data/test_graveyard/unit/busted/generator_test_results_test.rb +0 -129
- data/test_graveyard/unit/busted/generator_test_runner_test.rb +0 -475
- data/test_graveyard/unit/busted/preprocessinator_file_handler_test.rb +0 -39
- data/test_graveyard/unit/busted/preprocessinator_helper_test.rb +0 -156
- data/test_graveyard/unit/busted/preprocessinator_includes_handler_test.rb +0 -93
- data/test_graveyard/unit/busted/preprocessinator_test.rb +0 -57
- data/test_graveyard/unit/busted/project_file_loader_test.rb +0 -142
- data/test_graveyard/unit/busted/setupinator_test.rb +0 -45
- data/test_graveyard/unit/busted/streaminator_test.rb +0 -49
- data/test_graveyard/unit/busted/task_invoker_test.rb +0 -69
- data/test_graveyard/unit/busted/test_includes_extractor_test.rb +0 -111
- data/test_graveyard/unit/busted/test_invoker_helper_test.rb +0 -62
- data/test_graveyard/unit/busted/test_invoker_test.rb +0 -47
- data/test_graveyard/unit/busted/tool_executor_helper_test.rb +0 -100
- data/test_graveyard/unit/busted/tool_executor_test.rb +0 -351
- data/test_graveyard/unit/busted/verbosinator_test.rb +0 -65
- data/test_graveyard/unit/preprocessinator_extractor_test.rb +0 -731
- data/test_graveyard/unit_test_helper.rb +0 -16
- data/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
- data/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
- data/vendor/c_exception/vendor/unity/auto/parseOutput.rb +0 -191
- 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/cmock/docs/CMock Summary.odt +0 -0
- data/vendor/cmock/docs/CMock Summary.pdf +0 -0
- data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
- data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/parseOutput.rb +0 -191
- 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/unity/auto/parseOutput.rb +0 -191
- 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/unity/auto/parseOutput.rb +0 -191
- 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
@@ -0,0 +1,207 @@
|
|
1
|
+
# ThrowTheSwitch.org Coding Standard
|
2
|
+
|
3
|
+
Hi. Welcome to the coding standard for ThrowTheSwitch.org. For the most part,
|
4
|
+
we try to follow these standards to unify our contributors' code into a cohesive
|
5
|
+
unit (puns intended). You might find places where these standards aren't
|
6
|
+
followed. We're not perfect. Please be polite where you notice these discrepancies
|
7
|
+
and we'll try to be polite when we notice yours.
|
8
|
+
|
9
|
+
;)
|
10
|
+
|
11
|
+
|
12
|
+
## Why Have A Coding Standard?
|
13
|
+
|
14
|
+
Being consistent makes code easier to understand. We've made an attempt to keep
|
15
|
+
our standard simple because we also believe that we can only expect someone to
|
16
|
+
follow something that is understandable. Please do your best.
|
17
|
+
|
18
|
+
|
19
|
+
## Our Philosophy
|
20
|
+
|
21
|
+
Before we get into details on syntax, let's take a moment to talk about our
|
22
|
+
vision for these tools. We're C developers and embedded software developers.
|
23
|
+
These tools are great to test any C code, but catering to embedded software has
|
24
|
+
made us more tolerant of compiler quirks. There are a LOT of quirky compilers
|
25
|
+
out there. By quirky I mean "doesn't follow standards because they feel like
|
26
|
+
they have a license to do as they wish."
|
27
|
+
|
28
|
+
Our philosophy is "support every compiler we can". Most often, this means that
|
29
|
+
we aim for writing C code that is standards compliant (often C89... that seems
|
30
|
+
to be a sweet spot that is almost always compatible). But it also means these
|
31
|
+
tools are tolerant of things that aren't common. Some that aren't even
|
32
|
+
compliant. There are configuration options to override the size of standard
|
33
|
+
types. There are configuration options to force Unity to not use certain
|
34
|
+
standard library functions. A lot of Unity is configurable and we have worked
|
35
|
+
hard to make it not TOO ugly in the process.
|
36
|
+
|
37
|
+
Similarly, our tools that parse C do their best. They aren't full C parsers
|
38
|
+
(yet) and, even if they were, they would still have to accept non-standard
|
39
|
+
additions like gcc extensions or specifying `@0x1000` to force a variable to
|
40
|
+
compile to a particular location. It's just what we do, because we like
|
41
|
+
everything to Just Work™.
|
42
|
+
|
43
|
+
Speaking of having things Just Work™, that's our second philosophy. By that, we
|
44
|
+
mean that we do our best to have EVERY configuration option have a logical
|
45
|
+
default. We believe that if you're working with a simple compiler and target,
|
46
|
+
you shouldn't need to configure very much... we try to make the tools guess as
|
47
|
+
much as they can, but give the user the power to override it when it's wrong.
|
48
|
+
|
49
|
+
|
50
|
+
## Naming Things
|
51
|
+
|
52
|
+
Let's talk about naming things. Programming is all about naming things. We name
|
53
|
+
files, functions, variables, and so much more. While we're not always going to
|
54
|
+
find the best name for something, we actually put quite a bit of effort into
|
55
|
+
finding *What Something WANTS to be Called*™.
|
56
|
+
|
57
|
+
When naming things, we more or less follow this hierarchy, the first being the
|
58
|
+
most important to us (but we do all four whenever possible):
|
59
|
+
1. Readable
|
60
|
+
2. Descriptive
|
61
|
+
3. Consistent
|
62
|
+
4. Memorable
|
63
|
+
|
64
|
+
|
65
|
+
#### Readable
|
66
|
+
|
67
|
+
We want to read our code. This means we like names and flow that are more
|
68
|
+
naturally read. We try to avoid double negatives. We try to avoid cryptic
|
69
|
+
abbreviations (sticking to ones we feel are common).
|
70
|
+
|
71
|
+
|
72
|
+
#### Descriptive
|
73
|
+
|
74
|
+
We like descriptive names for things, especially functions and variables.
|
75
|
+
Finding the right name for something is an important endeavor. You might notice
|
76
|
+
from poking around our code that this often results in names that are a little
|
77
|
+
longer than the average. Guilty. We're okay with a tiny bit more typing if it
|
78
|
+
means our code is easier to understand.
|
79
|
+
|
80
|
+
There are two exceptions to this rule that we also stick to as religiously as
|
81
|
+
possible:
|
82
|
+
|
83
|
+
First, while we realize hungarian notation (and similar systems for encoding
|
84
|
+
type information into variable names) is providing a more descriptive name, we
|
85
|
+
feel that (for the average developer) it takes away from readability and
|
86
|
+
therefore is to be avoided.
|
87
|
+
|
88
|
+
Second, loop counters and other local throw-away variables often have a purpose
|
89
|
+
which is obvious. There's no need, therefore, to get carried away with complex
|
90
|
+
naming. We find i, j, and k are better loop counters than loopCounterVar or
|
91
|
+
whatnot. We only break this rule when we see that more description could improve
|
92
|
+
understanding of an algorithm.
|
93
|
+
|
94
|
+
|
95
|
+
#### Consistent
|
96
|
+
|
97
|
+
We like consistency, but we're not really obsessed with it. We try to name our
|
98
|
+
configuration macros in a consistent fashion... you'll notice a repeated use of
|
99
|
+
UNITY_EXCLUDE_BLAH or UNITY_USES_BLAH macros. This helps users avoid having to
|
100
|
+
remember each macro's details.
|
101
|
+
|
102
|
+
|
103
|
+
#### Memorable
|
104
|
+
|
105
|
+
Where ever it doesn't violate the above principles, we try to apply memorable
|
106
|
+
names. Sometimes this means using something that is simply descriptive, but
|
107
|
+
often we strive for descriptive AND unique... we like quirky names that stand
|
108
|
+
out in our memory and are easier to search for. Take a look through the file
|
109
|
+
names in Ceedling and you'll get a good idea of what we are talking about here.
|
110
|
+
Why use preprocess when you can use preprocessinator? Or what better describes a
|
111
|
+
module in charge of invoking tasks during releases than release_invoker? Don't
|
112
|
+
get carried away. The names are still descriptive and fulfill the above
|
113
|
+
requirements, but they don't feel stale.
|
114
|
+
|
115
|
+
|
116
|
+
## C and C++ Details
|
117
|
+
|
118
|
+
We don't really want to add to the style battles out there. Tabs or spaces?
|
119
|
+
How many spaces? Where do the braces go? These are age-old questions that will
|
120
|
+
never be answered... or at least not answered in a way that will make everyone
|
121
|
+
happy.
|
122
|
+
|
123
|
+
We've decided on our own style preferences. If you'd like to contribute to these
|
124
|
+
projects (and we hope that you do), then we ask if you do your best to follow
|
125
|
+
the same. It will only hurt a little. We promise.
|
126
|
+
|
127
|
+
|
128
|
+
#### Whitespace
|
129
|
+
|
130
|
+
Our C-style is to use spaces and to use 4 of them per indent level. It's a nice
|
131
|
+
power-of-2 number that looks decent on a wide screen. We have no more reason
|
132
|
+
than that. We break that rule when we have lines that wrap (macros or function
|
133
|
+
arguments or whatnot). When that happens, we like to indent further to line
|
134
|
+
things up in nice tidy columns.
|
135
|
+
|
136
|
+
```C
|
137
|
+
if (stuff_happened)
|
138
|
+
{
|
139
|
+
do_something();
|
140
|
+
}
|
141
|
+
```
|
142
|
+
|
143
|
+
|
144
|
+
#### Case
|
145
|
+
|
146
|
+
- Files - all lower case with underscores.
|
147
|
+
- Variables - all lower case with underscores
|
148
|
+
- Macros - all caps with underscores.
|
149
|
+
- Typedefs - all caps with underscores. (also ends with _T).
|
150
|
+
- Functions - camel cased. Usually named ModuleName_FuncName
|
151
|
+
- Constants and Globals - camel cased.
|
152
|
+
|
153
|
+
|
154
|
+
#### Braces
|
155
|
+
|
156
|
+
The left brace is on the next line after the declaration. The right brace is
|
157
|
+
directly below that. Everything in between in indented one level. If you're
|
158
|
+
catching an error and you have a one-line, go ahead and to it on the same line.
|
159
|
+
|
160
|
+
```C
|
161
|
+
while (blah)
|
162
|
+
{
|
163
|
+
//Like so. Even if only one line, we use braces.
|
164
|
+
}
|
165
|
+
```
|
166
|
+
|
167
|
+
|
168
|
+
#### Comments
|
169
|
+
|
170
|
+
Do you know what we hate? Old-school C block comments. BUT, we're using them
|
171
|
+
anyway. As we mentioned, our goal is to support every compiler we can,
|
172
|
+
especially embedded compilers. There are STILL C compilers out there that only
|
173
|
+
support old-school block comments. So that is what we're using. We apologize. We
|
174
|
+
think they are ugly too.
|
175
|
+
|
176
|
+
|
177
|
+
## Ruby Details
|
178
|
+
|
179
|
+
Is there really such thing as a Ruby coding standard? Ruby is such a free form
|
180
|
+
language, it seems almost sacrilegious to suggest that people should comply to
|
181
|
+
one method! We'll keep it really brief!
|
182
|
+
|
183
|
+
|
184
|
+
#### Whitespace
|
185
|
+
|
186
|
+
Our Ruby style is to use spaces and to use 2 of them per indent level. It's a
|
187
|
+
nice power-of-2 number that really grooves with Ruby's compact style. We have no
|
188
|
+
more reason than that. We break that rule when we have lines that wrap. When
|
189
|
+
that happens, we like to indent further to line things up in nice tidy columns.
|
190
|
+
|
191
|
+
|
192
|
+
#### Case
|
193
|
+
|
194
|
+
- Files - all lower case with underscores.
|
195
|
+
- Variables - all lower case with underscores
|
196
|
+
- Classes, Modules, etc - Camel cased.
|
197
|
+
- Functions - all lower case with underscores
|
198
|
+
- Constants - all upper case with underscores
|
199
|
+
|
200
|
+
|
201
|
+
## Documentation
|
202
|
+
|
203
|
+
Egad. Really? We use markdown and we like pdf files because they can be made to
|
204
|
+
look nice while still being portable. Good enough?
|
205
|
+
|
206
|
+
|
207
|
+
*Find The Latest of This And More at [ThrowTheSwitch.org](https://throwtheswitch.org)*
|
@@ -2,7 +2,7 @@ Unity Test API
|
|
2
2
|
==============
|
3
3
|
|
4
4
|
[![Unity Build Status](https://api.travis-ci.org/ThrowTheSwitch/Unity.png?branch=master)](https://travis-ci.org/ThrowTheSwitch/Unity)
|
5
|
-
__Copyright (c) 2007 -
|
5
|
+
__Copyright (c) 2007 - 2017 Unity Project by Mike Karlesky, Mark VanderVoord, and Greg Williams__
|
6
6
|
|
7
7
|
Running Tests
|
8
8
|
-------------
|
@@ -41,13 +41,13 @@ Example:
|
|
41
41
|
|
42
42
|
main()
|
43
43
|
{
|
44
|
-
if (TEST_PROTECT()
|
44
|
+
if (TEST_PROTECT())
|
45
45
|
{
|
46
46
|
MyTest();
|
47
47
|
}
|
48
48
|
}
|
49
49
|
|
50
|
-
If MyTest calls `TEST_ABORT`, program control will immediately return to `TEST_PROTECT` with a
|
50
|
+
If MyTest calls `TEST_ABORT`, program control will immediately return to `TEST_PROTECT` with a return value of zero.
|
51
51
|
|
52
52
|
|
53
53
|
Unity Assertion Summary
|
@@ -109,6 +109,18 @@ Compares two integers for equality and display errors as hexadecimal. Like the
|
|
109
109
|
you can specify the size... here the size will also effect how many nibbles are shown (for example, `HEX16`
|
110
110
|
will show 4 nibbles).
|
111
111
|
|
112
|
+
TEST_ASSERT_EQUAL(expected, actual)
|
113
|
+
|
114
|
+
Another way of calling TEST_ASSERT_EQUAL_INT
|
115
|
+
|
116
|
+
TEST_ASSERT_INT_WITHIN(delta, expected, actual)
|
117
|
+
|
118
|
+
Asserts that the actual value is within plus or minus delta of the expected value. This also comes in
|
119
|
+
size specific variants.
|
120
|
+
|
121
|
+
Arrays
|
122
|
+
------
|
123
|
+
|
112
124
|
_ARRAY
|
113
125
|
|
114
126
|
You can append `_ARRAY` to any of these macros to make an array comparison of that type. Here you will
|
@@ -117,15 +129,12 @@ additional argument which is the number of elements to compare. For example:
|
|
117
129
|
|
118
130
|
TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, elements)
|
119
131
|
|
120
|
-
|
121
|
-
|
122
|
-
Another way of calling TEST_ASSERT_EQUAL_INT
|
123
|
-
|
124
|
-
TEST_ASSERT_INT_WITHIN(delta, expected, actual)
|
132
|
+
_EACH_EQUAL
|
125
133
|
|
126
|
-
|
127
|
-
|
134
|
+
Another array comparison option is to check that EVERY element of an array is equal to a single expected
|
135
|
+
value. You do this by specifying the EACH_EQUAL macro. For example:
|
128
136
|
|
137
|
+
TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, elements)
|
129
138
|
|
130
139
|
Numerical Assertions: Bitwise
|
131
140
|
-----------------------------
|
@@ -4,63 +4,62 @@
|
|
4
4
|
# [Released under MIT License. Please refer to license.txt for details]
|
5
5
|
# ==========================================
|
6
6
|
|
7
|
-
if RUBY_PLATFORM
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
7
|
+
if RUBY_PLATFORM =~ /(win|w)32$/
|
8
|
+
begin
|
9
|
+
require 'Win32API'
|
10
|
+
rescue LoadError
|
11
|
+
puts 'ERROR! "Win32API" library not found'
|
12
|
+
puts '"Win32API" is required for colour on a windows machine'
|
13
|
+
puts ' try => "gem install Win32API" on the command line'
|
14
|
+
puts
|
15
|
+
end
|
16
|
+
# puts
|
17
17
|
# puts 'Windows Environment Detected...'
|
18
|
-
|
19
|
-
|
18
|
+
# puts 'Win32API Library Found.'
|
19
|
+
# puts
|
20
20
|
end
|
21
21
|
|
22
22
|
class ColourCommandLine
|
23
23
|
def initialize
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
end
|
24
|
+
return unless RUBY_PLATFORM =~ /(win|w)32$/
|
25
|
+
get_std_handle = Win32API.new('kernel32', 'GetStdHandle', ['L'], 'L')
|
26
|
+
@set_console_txt_attrb =
|
27
|
+
Win32API.new('kernel32', 'SetConsoleTextAttribute', %w(L N), 'I')
|
28
|
+
@hout = get_std_handle.call(-11)
|
30
29
|
end
|
31
30
|
|
32
31
|
def change_to(new_colour)
|
33
|
-
if RUBY_PLATFORM
|
34
|
-
@set_console_txt_attrb.call(@hout,
|
32
|
+
if RUBY_PLATFORM =~ /(win|w)32$/
|
33
|
+
@set_console_txt_attrb.call(@hout, win32_colour(new_colour))
|
35
34
|
else
|
36
|
-
|
37
|
-
|
35
|
+
"\033[30;#{posix_colour(new_colour)};22m"
|
36
|
+
end
|
38
37
|
end
|
39
38
|
|
40
39
|
def win32_colour(colour)
|
41
40
|
case colour
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
41
|
+
when :black then 0
|
42
|
+
when :dark_blue then 1
|
43
|
+
when :dark_green then 2
|
44
|
+
when :dark_cyan then 3
|
45
|
+
when :dark_red then 4
|
46
|
+
when :dark_purple then 5
|
47
|
+
when :dark_yellow, :narrative then 6
|
48
|
+
when :default_white, :default, :dark_white then 7
|
49
|
+
when :silver then 8
|
50
|
+
when :blue then 9
|
51
|
+
when :green, :success then 10
|
52
|
+
when :cyan, :output then 11
|
53
|
+
when :red, :failure then 12
|
54
|
+
when :purple then 13
|
55
|
+
when :yellow then 14
|
56
|
+
when :white then 15
|
57
|
+
else
|
58
|
+
0
|
60
59
|
end
|
61
60
|
end
|
62
61
|
|
63
|
-
|
62
|
+
def posix_colour(colour)
|
64
63
|
# ANSI Escape Codes - Foreground colors
|
65
64
|
# | Code | Color |
|
66
65
|
# | 39 | Default foreground color |
|
@@ -81,35 +80,39 @@ class ColourCommandLine
|
|
81
80
|
# | 96 | Light cyan |
|
82
81
|
# | 97 | White |
|
83
82
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
83
|
+
case colour
|
84
|
+
when :black then 30
|
85
|
+
when :red, :failure then 31
|
86
|
+
when :green, :success then 32
|
87
|
+
when :yellow then 33
|
88
|
+
when :blue, :narrative then 34
|
89
|
+
when :purple, :magenta then 35
|
90
|
+
when :cyan, :output then 36
|
91
|
+
when :white, :default_white then 37
|
92
|
+
when :default then 39
|
93
|
+
else
|
94
|
+
39
|
96
95
|
end
|
97
96
|
end
|
98
97
|
|
99
98
|
def out_c(mode, colour, str)
|
100
99
|
case RUBY_PLATFORM
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
100
|
+
when /(win|w)32$/
|
101
|
+
change_to(colour)
|
102
|
+
$stdout.puts str if mode == :puts
|
103
|
+
$stdout.print str if mode == :print
|
104
|
+
change_to(:default_white)
|
105
|
+
else
|
106
|
+
$stdout.puts("#{change_to(colour)}#{str}\033[0m") if mode == :puts
|
107
|
+
$stdout.print("#{change_to(colour)}#{str}\033[0m") if mode == :print
|
108
|
+
end
|
110
109
|
end
|
111
110
|
end # ColourCommandLine
|
112
111
|
|
113
|
-
def colour_puts(role,
|
114
|
-
|
112
|
+
def colour_puts(role, str)
|
113
|
+
ColourCommandLine.new.out_c(:puts, role, str)
|
114
|
+
end
|
115
115
|
|
116
|
+
def colour_print(role, str)
|
117
|
+
ColourCommandLine.new.out_c(:print, role, str)
|
118
|
+
end
|
@@ -2,38 +2,38 @@
|
|
2
2
|
# Unity Project - A Test Framework 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__))}/colour_prompt"
|
8
8
|
|
9
9
|
$colour_output = true
|
10
10
|
|
11
11
|
def report(message)
|
12
|
-
if
|
12
|
+
if !$colour_output
|
13
13
|
$stdout.puts(message)
|
14
14
|
else
|
15
|
-
message = message.join('\n') if
|
15
|
+
message = message.join('\n') if message.class == Array
|
16
16
|
message.each_line do |line|
|
17
17
|
line.chomp!
|
18
|
-
colour = case
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
18
|
+
colour = case line
|
19
|
+
when /(?:total\s+)?tests:?\s+(\d+)\s+(?:total\s+)?failures:?\s+\d+\s+Ignored:?/i
|
20
|
+
Regexp.last_match(1).to_i.zero? ? :green : :red
|
21
|
+
when /PASS/
|
22
|
+
:green
|
23
|
+
when /^OK$/
|
24
|
+
:green
|
25
|
+
when /(?:FAIL|ERROR)/
|
26
|
+
:red
|
27
|
+
when /IGNORE/
|
28
|
+
:yellow
|
29
|
+
when /^(?:Creating|Compiling|Linking)/
|
30
|
+
:white
|
31
|
+
else
|
32
|
+
:silver
|
33
|
+
end
|
34
34
|
colour_puts(colour, line)
|
35
35
|
end
|
36
36
|
end
|
37
37
|
$stdout.flush
|
38
38
|
$stderr.flush
|
39
|
-
end
|
39
|
+
end
|