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
data/vendor/cmock/vendor/c_exception/vendor/unity/test/spec/generate_module_existing_file_spec.rb
ADDED
@@ -0,0 +1,158 @@
|
|
1
|
+
|
2
|
+
require '../auto/generate_module.rb'
|
3
|
+
require 'fileutils'
|
4
|
+
|
5
|
+
def touch_src(file)
|
6
|
+
FileUtils.touch "sandbox/src/#{file}"
|
7
|
+
end
|
8
|
+
|
9
|
+
def touch_test(file)
|
10
|
+
FileUtils.touch "sandbox/test/#{file}"
|
11
|
+
end
|
12
|
+
|
13
|
+
def create_src_with_known_content(file)
|
14
|
+
File.open("sandbox/src/#{file}", "w") {|f| f.write("the original #{file}")}
|
15
|
+
end
|
16
|
+
|
17
|
+
def create_test_with_known_content(file)
|
18
|
+
File.open("sandbox/test/#{file}", "w") {|f| f.write("the original #{file}")}
|
19
|
+
end
|
20
|
+
|
21
|
+
def expect_src_content_didnt_change(file)
|
22
|
+
expect(File.read("sandbox/src/#{file}")).to eq("the original #{file}")
|
23
|
+
end
|
24
|
+
|
25
|
+
def expect_test_content_didnt_change(file)
|
26
|
+
expect(File.read("sandbox/test/#{file}")).to eq("the original #{file}")
|
27
|
+
end
|
28
|
+
|
29
|
+
def expect_src_file_to_exist(file)
|
30
|
+
expect(File.exist?("sandbox/src/#{file}")).to be true
|
31
|
+
end
|
32
|
+
|
33
|
+
def expect_test_file_to_exist(file)
|
34
|
+
expect(File.exist?("sandbox/test/#{file}")).to be true
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "UnityModuleGenerator" do
|
38
|
+
|
39
|
+
before do
|
40
|
+
# clean sandbox and setup our "project" folders
|
41
|
+
FileUtils.rm_rf "sandbox"
|
42
|
+
FileUtils.mkdir_p "sandbox"
|
43
|
+
FileUtils.mkdir_p "sandbox/src"
|
44
|
+
FileUtils.mkdir_p "sandbox/test"
|
45
|
+
|
46
|
+
@options = {
|
47
|
+
:path_src => "sandbox/src",
|
48
|
+
:path_tst => "sandbox/test",
|
49
|
+
}
|
50
|
+
end
|
51
|
+
|
52
|
+
context "with src pattern" do
|
53
|
+
before do
|
54
|
+
@options[:pattern] = "src"
|
55
|
+
end
|
56
|
+
|
57
|
+
it "fails when all files already exist" do
|
58
|
+
# create an existing triad of files
|
59
|
+
touch_src "meh.c"
|
60
|
+
touch_src "meh.h"
|
61
|
+
touch_test "Testmeh.c"
|
62
|
+
expect {
|
63
|
+
UnityModuleGenerator.new(@options).generate("meh")
|
64
|
+
}.to raise_error("ERROR: File meh already exists. Exiting.")
|
65
|
+
end
|
66
|
+
|
67
|
+
it "creates the test file if the source and header files exist" do
|
68
|
+
# Create the existing files.
|
69
|
+
touch_src "meh.c"
|
70
|
+
touch_src "meh.h"
|
71
|
+
|
72
|
+
UnityModuleGenerator.new(@options).generate("meh")
|
73
|
+
|
74
|
+
expect_test_file_to_exist "Testmeh.c"
|
75
|
+
end
|
76
|
+
|
77
|
+
it "does not alter existing files" do
|
78
|
+
# Create some files with known content.
|
79
|
+
create_src_with_known_content "meh.c"
|
80
|
+
create_src_with_known_content "meh.h"
|
81
|
+
|
82
|
+
UnityModuleGenerator.new(@options).generate("meh")
|
83
|
+
|
84
|
+
expect_src_content_didnt_change "meh.c"
|
85
|
+
expect_src_content_didnt_change "meh.c"
|
86
|
+
end
|
87
|
+
|
88
|
+
it "does not alter existing test files" do
|
89
|
+
# Create some files with known content.
|
90
|
+
create_test_with_known_content "Testmeh.c"
|
91
|
+
|
92
|
+
UnityModuleGenerator.new(@options).generate("meh")
|
93
|
+
|
94
|
+
expect_test_content_didnt_change "Testmeh.c"
|
95
|
+
end
|
96
|
+
|
97
|
+
end
|
98
|
+
|
99
|
+
context "with mch pattern" do
|
100
|
+
before do
|
101
|
+
@options[:pattern] = "mch"
|
102
|
+
end
|
103
|
+
|
104
|
+
it "fails when all files exist" do
|
105
|
+
touch_src "meh_model.c"
|
106
|
+
touch_src "meh_conductor.c"
|
107
|
+
touch_src "meh_hardware.c"
|
108
|
+
touch_src "meh_model.h"
|
109
|
+
touch_src "meh_conductor.h"
|
110
|
+
touch_src "meh_hardware.h"
|
111
|
+
touch_test "Testmeh_model.c"
|
112
|
+
touch_test "Testmeh_conductor.c"
|
113
|
+
touch_test "Testmeh_hardware.c"
|
114
|
+
expect {
|
115
|
+
UnityModuleGenerator.new(@options).generate("meh")
|
116
|
+
}.to raise_error("ERROR: File meh_model already exists. Exiting.")
|
117
|
+
end
|
118
|
+
|
119
|
+
it "creates files that don't exist" do
|
120
|
+
touch_src "meh_model.c"
|
121
|
+
touch_src "meh_conductor.c"
|
122
|
+
touch_src "meh_hardware.c"
|
123
|
+
touch_src "meh_model.h"
|
124
|
+
touch_src "meh_conductor.h"
|
125
|
+
|
126
|
+
UnityModuleGenerator.new(@options).generate("meh")
|
127
|
+
|
128
|
+
expect_src_file_to_exist "meh_hardware.h"
|
129
|
+
expect_test_file_to_exist "Testmeh_model.c"
|
130
|
+
expect_test_file_to_exist "Testmeh_conductor.c"
|
131
|
+
expect_test_file_to_exist "Testmeh_hardware.c"
|
132
|
+
end
|
133
|
+
|
134
|
+
it "does not alter existing source files" do
|
135
|
+
create_src_with_known_content "meh_model.c"
|
136
|
+
create_src_with_known_content "meh_model.c"
|
137
|
+
create_src_with_known_content "meh_model.c"
|
138
|
+
create_src_with_known_content "meh_model.h"
|
139
|
+
create_src_with_known_content "meh_model.c"
|
140
|
+
|
141
|
+
UnityModuleGenerator.new(@options).generate("meh")
|
142
|
+
|
143
|
+
expect_src_content_didnt_change "meh_model.c"
|
144
|
+
expect_src_content_didnt_change "meh_model.c"
|
145
|
+
expect_src_content_didnt_change "meh_model.c"
|
146
|
+
expect_src_content_didnt_change "meh_model.c"
|
147
|
+
end
|
148
|
+
|
149
|
+
it "does not alter existing test files" do
|
150
|
+
create_test_with_known_content "Testmeh_model.c"
|
151
|
+
|
152
|
+
UnityModuleGenerator.new(@options).generate("meh")
|
153
|
+
|
154
|
+
expect_test_content_didnt_change "Testmeh_model.c"
|
155
|
+
end
|
156
|
+
|
157
|
+
end
|
158
|
+
end
|
@@ -16,13 +16,10 @@ compiler:
|
|
16
16
|
- '-Winit-self'
|
17
17
|
- '-Winline'
|
18
18
|
- '-Winvalid-pch'
|
19
|
-
- '-Wmissing-declarations'
|
20
19
|
- '-Wmissing-include-dirs'
|
21
|
-
- '-Wmissing-prototypes'
|
22
20
|
- '-Wnonnull'
|
23
21
|
- '-Wpacked'
|
24
22
|
- '-Wpointer-arith'
|
25
|
-
- '-Wredundant-decls'
|
26
23
|
- '-Wswitch-default'
|
27
24
|
- '-Wstrict-aliasing'
|
28
25
|
- '-Wstrict-overflow=5'
|
@@ -33,10 +30,7 @@ compiler:
|
|
33
30
|
- '-Wshadow'
|
34
31
|
- '-Wundef'
|
35
32
|
- '-Wwrite-strings'
|
36
|
-
- '-Wno-missing-declarations'
|
37
|
-
- '-Wno-missing-prototypes'
|
38
33
|
- '-Wno-nested-externs'
|
39
|
-
- '-Wno-redundant-decls'
|
40
34
|
- '-Wno-unused-parameter'
|
41
35
|
- '-Wno-variadic-macros'
|
42
36
|
- '-Wbad-function-cast'
|
@@ -16,13 +16,10 @@ compiler:
|
|
16
16
|
- '-Winit-self'
|
17
17
|
- '-Winline'
|
18
18
|
- '-Winvalid-pch'
|
19
|
-
- '-Wmissing-declarations'
|
20
19
|
- '-Wmissing-include-dirs'
|
21
|
-
- '-Wmissing-prototypes'
|
22
20
|
- '-Wnonnull'
|
23
21
|
- '-Wpacked'
|
24
22
|
- '-Wpointer-arith'
|
25
|
-
- '-Wredundant-decls'
|
26
23
|
- '-Wswitch-default'
|
27
24
|
- '-Wstrict-aliasing'
|
28
25
|
- '-Wstrict-overflow=5'
|
@@ -33,16 +30,13 @@ compiler:
|
|
33
30
|
- '-Wshadow'
|
34
31
|
- '-Wundef'
|
35
32
|
- '-Wwrite-strings'
|
36
|
-
- '-Wno-missing-declarations'
|
37
|
-
- '-Wno-missing-prototypes'
|
38
33
|
- '-Wno-nested-externs'
|
39
|
-
- '-Wno-redundant-decls'
|
40
34
|
- '-Wno-unused-parameter'
|
41
35
|
- '-Wno-variadic-macros'
|
42
36
|
- '-Wbad-function-cast'
|
43
37
|
- '-fms-extensions'
|
44
38
|
- '-fno-omit-frame-pointer'
|
45
|
-
|
39
|
+
#- '-ffloat-store'
|
46
40
|
- '-fno-common'
|
47
41
|
- '-fstrict-aliasing'
|
48
42
|
- '-std=gnu99'
|
@@ -61,8 +55,6 @@ compiler:
|
|
61
55
|
- UNITY_INCLUDE_DOUBLE
|
62
56
|
- UNITY_SUPPORT_TEST_CASES
|
63
57
|
- UNITY_SUPPORT_64
|
64
|
-
- UNITY_OUTPUT_FLUSH
|
65
|
-
- UNITY_OMIT_OUTPUT_FLUSH_HEADER_DECLARATION
|
66
58
|
object_files:
|
67
59
|
prefix: '-o'
|
68
60
|
extension: '.o'
|
data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c
CHANGED
@@ -183,9 +183,9 @@ void suitetest_ThisTestPassesWhenCustomSuiteSetupAndTeardownRan(void)
|
|
183
183
|
|
184
184
|
void test_ShouldCallMockInitAndVerifyFunctionsForEachTest(void)
|
185
185
|
{
|
186
|
-
int
|
186
|
+
int passesOrIgnores = (int)(Unity.NumberOfTests - Unity.TestFailures);
|
187
187
|
TEST_ASSERT_EQUAL_MESSAGE(Unity.NumberOfTests, mockMock_Init_Counter, "Mock Init Should Be Called Once Per Test Started");
|
188
|
-
TEST_ASSERT_EQUAL_MESSAGE(
|
188
|
+
TEST_ASSERT_EQUAL_MESSAGE(passesOrIgnores, mockMock_Verify_Counter, "Mock Verify Should Be Called Once Per Test Passed");
|
189
189
|
TEST_ASSERT_EQUAL_MESSAGE(Unity.NumberOfTests - 1, mockMock_Destroy_Counter, "Mock Destroy Should Be Called Once Per Test Completed");
|
190
190
|
TEST_ASSERT_EQUAL_MESSAGE(0, CMockMemFreeFinalCounter, "Mock MemFreeFinal Should Not Be Called Until End");
|
191
191
|
}
|
@@ -1170,11 +1170,11 @@ def runner_test(test, runner, expected, test_defines, cmdline_args)
|
|
1170
1170
|
simulator = build_simulator_fields
|
1171
1171
|
cmdline_args ||= ""
|
1172
1172
|
executable = $cfg['linker']['bin_files']['destination'] + test_base + $cfg['linker']['bin_files']['extension'] + " #{cmdline_args}"
|
1173
|
-
if simulator.nil?
|
1174
|
-
|
1175
|
-
|
1176
|
-
|
1177
|
-
|
1173
|
+
cmd_str = if simulator.nil?
|
1174
|
+
executable
|
1175
|
+
else
|
1176
|
+
"#{simulator[:command]} #{simulator[:pre_support]} #{executable} #{simulator[:post_support]}"
|
1177
|
+
end
|
1178
1178
|
output = execute(cmd_str, true)
|
1179
1179
|
|
1180
1180
|
#compare to the expected pass/fail
|
@@ -5,8 +5,8 @@
|
|
5
5
|
========================================== */
|
6
6
|
|
7
7
|
#include "unity.h"
|
8
|
-
#include <setjmp.h>
|
9
8
|
#include <string.h>
|
9
|
+
#include <stdint.h>
|
10
10
|
|
11
11
|
// Dividing by these constants produces +/- infinity.
|
12
12
|
// The rationale is given in UnityAssertFloatIsInf's body.
|
@@ -59,19 +59,24 @@ static int SetToOneMeanWeAlreadyCheckedThisGuy;
|
|
59
59
|
|
60
60
|
void setUp(void)
|
61
61
|
{
|
62
|
-
|
63
|
-
|
62
|
+
SetToOneToFailInTearDown = 0;
|
63
|
+
SetToOneMeanWeAlreadyCheckedThisGuy = 0;
|
64
64
|
}
|
65
65
|
|
66
66
|
void tearDown(void)
|
67
67
|
{
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
68
|
+
endPutcharSpy(); /* Stop suppressing test output */
|
69
|
+
if (SetToOneToFailInTearDown == 1)
|
70
|
+
{
|
71
|
+
/* These will be skipped internally if already failed/ignored */
|
72
|
+
TEST_FAIL_MESSAGE("<= Failed in tearDown");
|
73
|
+
TEST_IGNORE_MESSAGE("<= Ignored in tearDown");
|
74
|
+
}
|
75
|
+
if ((SetToOneMeanWeAlreadyCheckedThisGuy == 0) && (Unity.CurrentTestFailed > 0))
|
76
|
+
{
|
77
|
+
UnityPrint(": [[[[ Test Should Have Passed But Did Not ]]]]");
|
78
|
+
UNITY_OUTPUT_CHAR('\n');
|
79
|
+
}
|
75
80
|
}
|
76
81
|
|
77
82
|
void testUnitySizeInitializationReminder(void)
|
@@ -94,7 +99,9 @@ void testUnitySizeInitializationReminder(void)
|
|
94
99
|
UNITY_COUNTER_TYPE TestIgnores;
|
95
100
|
UNITY_COUNTER_TYPE CurrentTestFailed;
|
96
101
|
UNITY_COUNTER_TYPE CurrentTestIgnored;
|
102
|
+
#ifndef UNITY_EXCLUDE_SETJMP_H
|
97
103
|
jmp_buf AbortFrame;
|
104
|
+
#endif
|
98
105
|
} _Expected_Unity;
|
99
106
|
#else
|
100
107
|
struct {
|
@@ -108,7 +115,9 @@ void testUnitySizeInitializationReminder(void)
|
|
108
115
|
UNITY_COUNTER_TYPE TestIgnores;
|
109
116
|
UNITY_COUNTER_TYPE CurrentTestFailed;
|
110
117
|
UNITY_COUNTER_TYPE CurrentTestIgnored;
|
118
|
+
#ifndef UNITY_EXCLUDE_SETJMP_H
|
111
119
|
jmp_buf AbortFrame;
|
120
|
+
#endif
|
112
121
|
} _Expected_Unity;
|
113
122
|
#endif
|
114
123
|
|
@@ -1510,6 +1519,61 @@ void testNotEqualStringArrayLengthZero(void)
|
|
1510
1519
|
VERIFY_FAILS_END
|
1511
1520
|
}
|
1512
1521
|
|
1522
|
+
void testEqualStringEachEqual(void)
|
1523
|
+
{
|
1524
|
+
const char *testStrings1[] = { "foo", "foo", "foo", "foo" };
|
1525
|
+
const char *testStrings2[] = { "boo", "boo", "boo", "zoo" };
|
1526
|
+
const char *testStrings3[] = { "", "", "", "" };
|
1527
|
+
|
1528
|
+
TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings1, 4);
|
1529
|
+
TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings1, 1);
|
1530
|
+
TEST_ASSERT_EACH_EQUAL_STRING("boo", testStrings2, 3);
|
1531
|
+
TEST_ASSERT_EACH_EQUAL_STRING("", testStrings3, 4);
|
1532
|
+
}
|
1533
|
+
|
1534
|
+
void testNotEqualStringEachEqual1(void)
|
1535
|
+
{
|
1536
|
+
const char *testStrings[] = { "foo", "foo", "foo", "moo" };
|
1537
|
+
|
1538
|
+
EXPECT_ABORT_BEGIN
|
1539
|
+
TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings, 4);
|
1540
|
+
VERIFY_FAILS_END
|
1541
|
+
}
|
1542
|
+
|
1543
|
+
void testNotEqualStringEachEqual2(void)
|
1544
|
+
{
|
1545
|
+
const char *testStrings[] = { "boo", "foo", "foo", "foo" };
|
1546
|
+
|
1547
|
+
EXPECT_ABORT_BEGIN
|
1548
|
+
TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings, 4);
|
1549
|
+
VERIFY_FAILS_END
|
1550
|
+
}
|
1551
|
+
|
1552
|
+
void testNotEqualStringEachEqual3(void)
|
1553
|
+
{
|
1554
|
+
const char *testStrings[] = { "foo", "foo", "foo", NULL };
|
1555
|
+
|
1556
|
+
EXPECT_ABORT_BEGIN
|
1557
|
+
TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings, 4);
|
1558
|
+
VERIFY_FAILS_END
|
1559
|
+
}
|
1560
|
+
|
1561
|
+
void testNotEqualStringEachEqual4(void)
|
1562
|
+
{
|
1563
|
+
const char *testStrings[] = { "foo", "foo", "woo", "foo" };
|
1564
|
+
|
1565
|
+
EXPECT_ABORT_BEGIN
|
1566
|
+
TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings, 4);
|
1567
|
+
VERIFY_FAILS_END
|
1568
|
+
}
|
1569
|
+
|
1570
|
+
void testNotEqualStringEachEqual5(void)
|
1571
|
+
{
|
1572
|
+
EXPECT_ABORT_BEGIN
|
1573
|
+
TEST_ASSERT_EACH_EQUAL_STRING("foo", NULL, 1);
|
1574
|
+
VERIFY_FAILS_END
|
1575
|
+
}
|
1576
|
+
|
1513
1577
|
void testEqualMemory(void)
|
1514
1578
|
{
|
1515
1579
|
const char *testString = "whatever";
|
@@ -1632,6 +1696,65 @@ void testNotEqualIntArraysLengthZero(void)
|
|
1632
1696
|
VERIFY_FAILS_END
|
1633
1697
|
}
|
1634
1698
|
|
1699
|
+
void testEqualIntEachEqual(void)
|
1700
|
+
{
|
1701
|
+
int p0[] = {1, 1, 1, 1};
|
1702
|
+
int p1[] = {987, 987, 987, 987};
|
1703
|
+
int p2[] = {-2, -2, -2, -3};
|
1704
|
+
int p3[] = {1, 5, 600, 700};
|
1705
|
+
|
1706
|
+
TEST_ASSERT_EACH_EQUAL_INT(1, p0, 1);
|
1707
|
+
TEST_ASSERT_EACH_EQUAL_INT(1, p0, 4);
|
1708
|
+
TEST_ASSERT_EACH_EQUAL_INT(987, p1, 4);
|
1709
|
+
TEST_ASSERT_EACH_EQUAL_INT(-2, p2, 3);
|
1710
|
+
TEST_ASSERT_EACH_EQUAL_INT(1, p3, 1);
|
1711
|
+
}
|
1712
|
+
|
1713
|
+
void testNotEqualIntEachEqualNullActual(void)
|
1714
|
+
{
|
1715
|
+
int* p1 = NULL;
|
1716
|
+
|
1717
|
+
EXPECT_ABORT_BEGIN
|
1718
|
+
TEST_ASSERT_EACH_EQUAL_INT(1, p1, 4);
|
1719
|
+
VERIFY_FAILS_END
|
1720
|
+
}
|
1721
|
+
|
1722
|
+
void testNotEqualIntEachEqual1(void)
|
1723
|
+
{
|
1724
|
+
int p0[] = {1, 1, 1, -2};
|
1725
|
+
|
1726
|
+
EXPECT_ABORT_BEGIN
|
1727
|
+
TEST_ASSERT_EACH_EQUAL_INT(1, p0, 4);
|
1728
|
+
VERIFY_FAILS_END
|
1729
|
+
}
|
1730
|
+
|
1731
|
+
void testNotEqualIntEachEqual2(void)
|
1732
|
+
{
|
1733
|
+
int p0[] = {-5, -5, -1, -5};
|
1734
|
+
|
1735
|
+
EXPECT_ABORT_BEGIN
|
1736
|
+
TEST_ASSERT_EACH_EQUAL_INT(-5, p0, 4);
|
1737
|
+
VERIFY_FAILS_END
|
1738
|
+
}
|
1739
|
+
|
1740
|
+
void testNotEqualIntEachEqual3(void)
|
1741
|
+
{
|
1742
|
+
int p0[] = {1, 88, 88, 88};
|
1743
|
+
|
1744
|
+
EXPECT_ABORT_BEGIN
|
1745
|
+
TEST_ASSERT_EACH_EQUAL_INT(88, p0, 4);
|
1746
|
+
VERIFY_FAILS_END
|
1747
|
+
}
|
1748
|
+
|
1749
|
+
void testNotEqualEachEqualLengthZero(void)
|
1750
|
+
{
|
1751
|
+
UNITY_UINT32 p0[1] = {1};
|
1752
|
+
|
1753
|
+
EXPECT_ABORT_BEGIN
|
1754
|
+
TEST_ASSERT_EACH_EQUAL_INT(0, p0, 0);
|
1755
|
+
VERIFY_FAILS_END
|
1756
|
+
}
|
1757
|
+
|
1635
1758
|
void testEqualPtrArrays(void)
|
1636
1759
|
{
|
1637
1760
|
char A = 1;
|
@@ -1712,6 +1835,77 @@ void testNotEqualPtrArrays3(void)
|
|
1712
1835
|
VERIFY_FAILS_END
|
1713
1836
|
}
|
1714
1837
|
|
1838
|
+
void testEqualPtrEachEqual(void)
|
1839
|
+
{
|
1840
|
+
char A = 1;
|
1841
|
+
char B = 2;
|
1842
|
+
char C = 3;
|
1843
|
+
char* p0[] = {&A, &A, &A};
|
1844
|
+
char* p1[] = {&A, &B, &C, &A};
|
1845
|
+
char* p2[] = {&B, &B};
|
1846
|
+
char* p3[] = {&C};
|
1847
|
+
|
1848
|
+
TEST_ASSERT_EACH_EQUAL_PTR(&A, p0, 1);
|
1849
|
+
TEST_ASSERT_EACH_EQUAL_PTR(&A, p0, 3);
|
1850
|
+
TEST_ASSERT_EACH_EQUAL_PTR(&A, p1, 1);
|
1851
|
+
TEST_ASSERT_EACH_EQUAL_PTR(&B, p2, 2);
|
1852
|
+
TEST_ASSERT_EACH_EQUAL_PTR(&C, p3, 1);
|
1853
|
+
}
|
1854
|
+
|
1855
|
+
void testNotEqualPtrEachEqualNullExpected(void)
|
1856
|
+
{
|
1857
|
+
char A = 1;
|
1858
|
+
char B = 1;
|
1859
|
+
char* p0[] = {&A, &B};
|
1860
|
+
|
1861
|
+
EXPECT_ABORT_BEGIN
|
1862
|
+
TEST_ASSERT_EACH_EQUAL_PTR(&A, p0, 2);
|
1863
|
+
VERIFY_FAILS_END
|
1864
|
+
}
|
1865
|
+
|
1866
|
+
void testNotEqualPtrEachEqualNullActual(void)
|
1867
|
+
{
|
1868
|
+
char A = 1;
|
1869
|
+
char** p0 = NULL;
|
1870
|
+
|
1871
|
+
EXPECT_ABORT_BEGIN
|
1872
|
+
TEST_ASSERT_EACH_EQUAL_PTR(&A, p0, 2);
|
1873
|
+
VERIFY_FAILS_END
|
1874
|
+
}
|
1875
|
+
|
1876
|
+
void testNotEqualPtrEachEqual1(void)
|
1877
|
+
{
|
1878
|
+
char A = 1;
|
1879
|
+
char B = 1;
|
1880
|
+
char* p0[] = {&A, &A, &A, &B};
|
1881
|
+
|
1882
|
+
EXPECT_ABORT_BEGIN
|
1883
|
+
TEST_ASSERT_EACH_EQUAL_PTR(&A, p0, 4);
|
1884
|
+
VERIFY_FAILS_END
|
1885
|
+
}
|
1886
|
+
|
1887
|
+
void testNotEqualPtrEachEqual2(void)
|
1888
|
+
{
|
1889
|
+
char A = 1;
|
1890
|
+
char B = 1;
|
1891
|
+
char* p0[] = {&B, &B, &A, &B};
|
1892
|
+
|
1893
|
+
EXPECT_ABORT_BEGIN
|
1894
|
+
TEST_ASSERT_EACH_EQUAL_PTR(&B, p0, 4);
|
1895
|
+
VERIFY_FAILS_END
|
1896
|
+
}
|
1897
|
+
|
1898
|
+
void testNotEqualPtrEachEqual3(void)
|
1899
|
+
{
|
1900
|
+
char A = 1;
|
1901
|
+
char B = 1;
|
1902
|
+
char* p0[] = {&A, &B, &B, &B};
|
1903
|
+
|
1904
|
+
EXPECT_ABORT_BEGIN
|
1905
|
+
TEST_ASSERT_EACH_EQUAL_PTR(&B, p0, 4);
|
1906
|
+
VERIFY_FAILS_END
|
1907
|
+
}
|
1908
|
+
|
1715
1909
|
void testEqualInt8Arrays(void)
|
1716
1910
|
{
|
1717
1911
|
UNITY_INT8 p0[] = {1, 8, 117, -2};
|
@@ -1736,6 +1930,29 @@ void testNotEqualInt8Arrays(void)
|
|
1736
1930
|
VERIFY_FAILS_END
|
1737
1931
|
}
|
1738
1932
|
|
1933
|
+
void testEqualInt8EachEqual(void)
|
1934
|
+
{
|
1935
|
+
UNITY_INT8 p0[] = {1, 1, 1, 1};
|
1936
|
+
UNITY_INT8 p1[] = {117, 117, 117, -2};
|
1937
|
+
UNITY_INT8 p2[] = {-1, -1, 117, 2};
|
1938
|
+
UNITY_INT8 p3[] = {1, 50, 60, 70};
|
1939
|
+
|
1940
|
+
TEST_ASSERT_EACH_EQUAL_INT8(1, p0, 1);
|
1941
|
+
TEST_ASSERT_EACH_EQUAL_INT8(1, p0, 4);
|
1942
|
+
TEST_ASSERT_EACH_EQUAL_INT8(117, p1, 3);
|
1943
|
+
TEST_ASSERT_EACH_EQUAL_INT8(-1, p2, 2);
|
1944
|
+
TEST_ASSERT_EACH_EQUAL_INT8(1, p3, 1);
|
1945
|
+
}
|
1946
|
+
|
1947
|
+
void testNotEqualInt8EachEqual(void)
|
1948
|
+
{
|
1949
|
+
UNITY_INT8 p0[] = {1, 8, 36, -2};
|
1950
|
+
|
1951
|
+
EXPECT_ABORT_BEGIN
|
1952
|
+
TEST_ASSERT_EACH_EQUAL_INT8(1, p0, 2);
|
1953
|
+
VERIFY_FAILS_END
|
1954
|
+
}
|
1955
|
+
|
1739
1956
|
void testEqualUIntArrays(void)
|
1740
1957
|
{
|
1741
1958
|
unsigned int p0[] = {1, 8, 987, 65132u};
|
@@ -1780,6 +1997,47 @@ void testNotEqualUIntArrays3(void)
|
|
1780
1997
|
VERIFY_FAILS_END
|
1781
1998
|
}
|
1782
1999
|
|
2000
|
+
void testEqualUIntEachEqual(void)
|
2001
|
+
{
|
2002
|
+
unsigned int p0[] = {1, 1, 1, 1};
|
2003
|
+
unsigned int p1[] = {65132u, 65132u, 65132u, 65132u};
|
2004
|
+
unsigned int p2[] = {8, 8, 987, 2};
|
2005
|
+
unsigned int p3[] = {1, 500, 600, 700};
|
2006
|
+
|
2007
|
+
TEST_ASSERT_EACH_EQUAL_UINT(1, p0, 1);
|
2008
|
+
TEST_ASSERT_EACH_EQUAL_UINT(1, p0, 4);
|
2009
|
+
TEST_ASSERT_EACH_EQUAL_UINT(65132u, p1, 4);
|
2010
|
+
TEST_ASSERT_EACH_EQUAL_UINT(8, p2, 2);
|
2011
|
+
TEST_ASSERT_EACH_EQUAL_UINT(1, p3, 1);
|
2012
|
+
}
|
2013
|
+
|
2014
|
+
void testNotEqualUIntEachEqual1(void)
|
2015
|
+
{
|
2016
|
+
unsigned int p0[] = {1, 65132u, 65132u, 65132u};
|
2017
|
+
|
2018
|
+
EXPECT_ABORT_BEGIN
|
2019
|
+
TEST_ASSERT_EACH_EQUAL_UINT(65132u, p0, 4);
|
2020
|
+
VERIFY_FAILS_END
|
2021
|
+
}
|
2022
|
+
|
2023
|
+
void testNotEqualUIntEachEqual2(void)
|
2024
|
+
{
|
2025
|
+
unsigned int p0[] = {987, 8, 987, 987};
|
2026
|
+
|
2027
|
+
EXPECT_ABORT_BEGIN
|
2028
|
+
TEST_ASSERT_EACH_EQUAL_UINT(987, p0, 4);
|
2029
|
+
VERIFY_FAILS_END
|
2030
|
+
}
|
2031
|
+
|
2032
|
+
void testNotEqualUIntEachEqual3(void)
|
2033
|
+
{
|
2034
|
+
unsigned int p0[] = {1, 1, 1, 65132u};
|
2035
|
+
|
2036
|
+
EXPECT_ABORT_BEGIN
|
2037
|
+
TEST_ASSERT_EACH_EQUAL_UINT(1, p0, 4);
|
2038
|
+
VERIFY_FAILS_END
|
2039
|
+
}
|
2040
|
+
|
1783
2041
|
void testEqualInt16Arrays(void)
|
1784
2042
|
{
|
1785
2043
|
UNITY_INT16 p0[] = {1, 8, 117, 3};
|
@@ -1804,6 +2062,29 @@ void testNotEqualInt16Arrays(void)
|
|
1804
2062
|
VERIFY_FAILS_END
|
1805
2063
|
}
|
1806
2064
|
|
2065
|
+
void testEqualInt16EachEqual(void)
|
2066
|
+
{
|
2067
|
+
UNITY_INT16 p0[] = {1, 1, 1, 1};
|
2068
|
+
UNITY_INT16 p1[] = {32111, 32111, 32111, 3};
|
2069
|
+
UNITY_INT16 p2[] = {-1, -1, -1, 2};
|
2070
|
+
UNITY_INT16 p3[] = {1, 50, 60, 70};
|
2071
|
+
|
2072
|
+
TEST_ASSERT_EACH_EQUAL_INT16(1, p0, 1);
|
2073
|
+
TEST_ASSERT_EACH_EQUAL_INT16(1, p0, 4);
|
2074
|
+
TEST_ASSERT_EACH_EQUAL_INT16(32111, p1, 3);
|
2075
|
+
TEST_ASSERT_EACH_EQUAL_INT16(-1, p2, 3);
|
2076
|
+
TEST_ASSERT_EACH_EQUAL_INT16(1, p3, 1);
|
2077
|
+
}
|
2078
|
+
|
2079
|
+
void testNotEqualInt16EachEqual(void)
|
2080
|
+
{
|
2081
|
+
UNITY_INT16 p0[] = {127, 127, 127, 3};
|
2082
|
+
|
2083
|
+
EXPECT_ABORT_BEGIN
|
2084
|
+
TEST_ASSERT_EACH_EQUAL_INT16(127, p0, 4);
|
2085
|
+
VERIFY_FAILS_END
|
2086
|
+
}
|
2087
|
+
|
1807
2088
|
void testEqualInt32Arrays(void)
|
1808
2089
|
{
|
1809
2090
|
UNITY_INT32 p0[] = {1, 8, 117, 3};
|
@@ -1828,6 +2109,29 @@ void testNotEqualInt32Arrays(void)
|
|
1828
2109
|
VERIFY_FAILS_END
|
1829
2110
|
}
|
1830
2111
|
|
2112
|
+
void testEqualInt32EachEqual(void)
|
2113
|
+
{
|
2114
|
+
UNITY_INT32 p0[] = {8, 8, 8, 8};
|
2115
|
+
UNITY_INT32 p1[] = {65537, 65537, 65537, 65537};
|
2116
|
+
UNITY_INT32 p2[] = {-3, -3, -3, 2};
|
2117
|
+
UNITY_INT32 p3[] = {1, 50, 60, 70};
|
2118
|
+
|
2119
|
+
TEST_ASSERT_EACH_EQUAL_INT32(8, p0, 1);
|
2120
|
+
TEST_ASSERT_EACH_EQUAL_INT32(8, p0, 4);
|
2121
|
+
TEST_ASSERT_EACH_EQUAL_INT32(65537, p1, 4);
|
2122
|
+
TEST_ASSERT_EACH_EQUAL_INT32(-3, p2, 3);
|
2123
|
+
TEST_ASSERT_EACH_EQUAL_INT32(1, p3, 1);
|
2124
|
+
}
|
2125
|
+
|
2126
|
+
void testNotEqualInt32EachEqual(void)
|
2127
|
+
{
|
2128
|
+
UNITY_INT32 p0[] = {127, 8, 127, 127};
|
2129
|
+
|
2130
|
+
EXPECT_ABORT_BEGIN
|
2131
|
+
TEST_ASSERT_EACH_EQUAL_INT32(127, p0, 4);
|
2132
|
+
VERIFY_FAILS_END
|
2133
|
+
}
|
2134
|
+
|
1831
2135
|
void testEqualUINT8Arrays(void)
|
1832
2136
|
{
|
1833
2137
|
UNITY_UINT8 p0[] = {1, 8, 100, 127};
|
@@ -2095,10 +2399,10 @@ void testNotEqualHEX16Arrays3(void)
|
|
2095
2399
|
|
2096
2400
|
void testEqualHEX8Arrays(void)
|
2097
2401
|
{
|
2098
|
-
unsigned
|
2099
|
-
unsigned
|
2100
|
-
unsigned
|
2101
|
-
unsigned
|
2402
|
+
unsigned char p0[] = {1, 8, 254u, 123};
|
2403
|
+
unsigned char p1[] = {1, 8, 254u, 123};
|
2404
|
+
unsigned char p2[] = {1, 8, 254u, 2};
|
2405
|
+
unsigned char p3[] = {1, 23, 25, 26};
|
2102
2406
|
|
2103
2407
|
TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p0, 1);
|
2104
2408
|
TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p0, 4);
|
@@ -2137,115 +2441,467 @@ void testNotEqualHEX8Arrays3(void)
|
|
2137
2441
|
VERIFY_FAILS_END
|
2138
2442
|
}
|
2139
2443
|
|
2140
|
-
void
|
2444
|
+
void testEqualUINT8EachEqual(void)
|
2141
2445
|
{
|
2142
|
-
|
2143
|
-
|
2144
|
-
|
2145
|
-
|
2446
|
+
UNITY_UINT8 p0[] = {127u, 127u, 127u, 127u};
|
2447
|
+
UNITY_UINT8 p1[] = {1u, 1u, 1u, 1u};
|
2448
|
+
UNITY_UINT8 p2[] = {128u, 128u, 128u, 2u};
|
2449
|
+
UNITY_UINT8 p3[] = {1u, 50u, 60u, 70u};
|
2146
2450
|
|
2147
|
-
|
2148
|
-
|
2149
|
-
|
2150
|
-
|
2151
|
-
|
2451
|
+
TEST_ASSERT_EACH_EQUAL_UINT8(127u, p0, 1);
|
2452
|
+
TEST_ASSERT_EACH_EQUAL_UINT8(127u, p0, 4);
|
2453
|
+
TEST_ASSERT_EACH_EQUAL_UINT8(1u, p1, 4);
|
2454
|
+
TEST_ASSERT_EACH_EQUAL_UINT8(128u, p2, 3);
|
2455
|
+
TEST_ASSERT_EACH_EQUAL_UINT8(1u, p3, 1);
|
2152
2456
|
}
|
2153
2457
|
|
2154
|
-
void
|
2458
|
+
void testNotEqualUINT8EachEqual1(void)
|
2155
2459
|
{
|
2156
|
-
|
2157
|
-
int p1[] = {1, 8, 987, 2};
|
2460
|
+
unsigned char p0[] = {127u, 127u, 128u, 127u};
|
2158
2461
|
|
2159
2462
|
EXPECT_ABORT_BEGIN
|
2160
|
-
|
2463
|
+
TEST_ASSERT_EACH_EQUAL_UINT8(127u, p0, 4);
|
2161
2464
|
VERIFY_FAILS_END
|
2162
2465
|
}
|
2163
2466
|
|
2164
|
-
void
|
2467
|
+
void testNotEqualUINT8EachEqual2(void)
|
2165
2468
|
{
|
2166
|
-
|
2167
|
-
int* p1 = NULL;
|
2469
|
+
unsigned char p0[] = {1, 1, 1, 127u};
|
2168
2470
|
|
2169
2471
|
EXPECT_ABORT_BEGIN
|
2170
|
-
|
2472
|
+
TEST_ASSERT_EACH_EQUAL_UINT8(1, p0, 4);
|
2171
2473
|
VERIFY_FAILS_END
|
2172
2474
|
}
|
2173
2475
|
|
2174
|
-
void
|
2476
|
+
void testNotEqualUINT8EachEqual3(void)
|
2175
2477
|
{
|
2176
|
-
|
2177
|
-
int p1[] = {1, 8, 987, 2};
|
2478
|
+
unsigned char p0[] = {54u, 55u, 55u, 55u};
|
2178
2479
|
|
2179
2480
|
EXPECT_ABORT_BEGIN
|
2180
|
-
|
2481
|
+
TEST_ASSERT_EACH_EQUAL_UINT8(55u, p0, 4);
|
2181
2482
|
VERIFY_FAILS_END
|
2182
2483
|
}
|
2183
2484
|
|
2184
|
-
void
|
2485
|
+
void testEqualUINT16EachEqual(void)
|
2185
2486
|
{
|
2186
|
-
|
2187
|
-
|
2487
|
+
unsigned short p0[] = {65132u, 65132u, 65132u, 65132u};
|
2488
|
+
unsigned short p1[] = {987, 987, 987, 987};
|
2489
|
+
unsigned short p2[] = {1, 1, 1, 2};
|
2490
|
+
unsigned short p3[] = {1, 500, 600, 700};
|
2491
|
+
|
2492
|
+
TEST_ASSERT_EACH_EQUAL_UINT16(65132u, p0, 1);
|
2493
|
+
TEST_ASSERT_EACH_EQUAL_UINT16(65132u, p0, 4);
|
2494
|
+
TEST_ASSERT_EACH_EQUAL_UINT16(987, p1, 4);
|
2495
|
+
TEST_ASSERT_EACH_EQUAL_UINT16(1, p2, 3);
|
2496
|
+
TEST_ASSERT_EACH_EQUAL_UINT16(1, p3, 1);
|
2497
|
+
}
|
2498
|
+
|
2499
|
+
void testNotEqualUINT16EachEqual1(void)
|
2500
|
+
{
|
2501
|
+
unsigned short p0[] = {1, 65132u, 65132u, 65132u};
|
2188
2502
|
|
2189
2503
|
EXPECT_ABORT_BEGIN
|
2190
|
-
|
2504
|
+
TEST_ASSERT_EACH_EQUAL_UINT16(65132u, p0, 4);
|
2191
2505
|
VERIFY_FAILS_END
|
2192
2506
|
}
|
2193
2507
|
|
2194
|
-
void
|
2508
|
+
void testNotEqualUINT16EachEqual2(void)
|
2195
2509
|
{
|
2196
|
-
|
2197
|
-
int p1[] = {1, 8, 986, -2};
|
2510
|
+
unsigned short p0[] = {65132u, 65132u, 987, 65132u};
|
2198
2511
|
|
2199
2512
|
EXPECT_ABORT_BEGIN
|
2200
|
-
|
2513
|
+
TEST_ASSERT_EACH_EQUAL_UINT16(65132u, p0, 4);
|
2201
2514
|
VERIFY_FAILS_END
|
2202
2515
|
}
|
2203
2516
|
|
2204
|
-
void
|
2517
|
+
void testNotEqualUINT16EachEqual3(void)
|
2205
2518
|
{
|
2206
|
-
|
2207
|
-
|
2208
|
-
if (TEST_PROTECT())
|
2209
|
-
{
|
2210
|
-
mask |= 1;
|
2211
|
-
TEST_ABORT();
|
2212
|
-
}
|
2213
|
-
else
|
2214
|
-
{
|
2215
|
-
Unity.CurrentTestFailed = 0;
|
2216
|
-
mask |= 2;
|
2217
|
-
}
|
2519
|
+
unsigned short p0[] = {65132u, 65132u, 65132u, 65133u};
|
2218
2520
|
|
2219
|
-
|
2521
|
+
EXPECT_ABORT_BEGIN
|
2522
|
+
TEST_ASSERT_EACH_EQUAL_UINT16(65132u, p0, 4);
|
2523
|
+
VERIFY_FAILS_END
|
2220
2524
|
}
|
2221
2525
|
|
2222
|
-
void
|
2526
|
+
void testEqualUINT32EachEqual(void)
|
2223
2527
|
{
|
2224
|
-
|
2225
|
-
|
2226
|
-
}
|
2528
|
+
UNITY_UINT32 p0[] = {65132u, 65132u, 65132u, 65132u};
|
2529
|
+
UNITY_UINT32 p1[] = {987, 987, 987, 987};
|
2530
|
+
UNITY_UINT32 p2[] = {8, 8, 8, 2};
|
2531
|
+
UNITY_UINT32 p3[] = {1, 500, 600, 700};
|
2227
2532
|
|
2228
|
-
|
2229
|
-
|
2230
|
-
|
2231
|
-
|
2232
|
-
|
2233
|
-
|
2234
|
-
#if USING_SPY_AS(UNITY_OUTPUT_CHAR)
|
2235
|
-
#define USING_OUTPUT_SPY // true only if UNITY_OUTPUT_CHAR = putcharSpy
|
2236
|
-
#endif
|
2533
|
+
TEST_ASSERT_EACH_EQUAL_UINT32(65132u, p0, 1);
|
2534
|
+
TEST_ASSERT_EACH_EQUAL_UINT32(65132u, p0, 4);
|
2535
|
+
TEST_ASSERT_EACH_EQUAL_UINT32(987, p1, 4);
|
2536
|
+
TEST_ASSERT_EACH_EQUAL_UINT32(8, p2, 3);
|
2537
|
+
TEST_ASSERT_EACH_EQUAL_UINT32(1, p3, 1);
|
2538
|
+
}
|
2237
2539
|
|
2238
|
-
|
2239
|
-
|
2240
|
-
|
2241
|
-
static char putcharSpyBuffer[SPY_BUFFER_MAX];
|
2242
|
-
#endif
|
2243
|
-
static int indexSpyBuffer;
|
2244
|
-
static int putcharSpyEnabled;
|
2540
|
+
void testNotEqualUINT32EachEqual1(void)
|
2541
|
+
{
|
2542
|
+
UNITY_UINT32 p0[] = {65132u, 65132u, 987, 65132u};
|
2245
2543
|
|
2246
|
-
|
2544
|
+
EXPECT_ABORT_BEGIN
|
2545
|
+
TEST_ASSERT_EACH_EQUAL_UINT32(65132u, p0, 4);
|
2546
|
+
VERIFY_FAILS_END
|
2547
|
+
}
|
2247
2548
|
|
2248
|
-
void
|
2549
|
+
void testNotEqualUINT32EachEqual2(void)
|
2550
|
+
{
|
2551
|
+
UNITY_UINT32 p0[] = {1, 987, 987, 987};
|
2552
|
+
|
2553
|
+
EXPECT_ABORT_BEGIN
|
2554
|
+
TEST_ASSERT_EACH_EQUAL_UINT32(987, p0, 4);
|
2555
|
+
VERIFY_FAILS_END
|
2556
|
+
}
|
2557
|
+
|
2558
|
+
void testNotEqualUINT32EachEqual3(void)
|
2559
|
+
{
|
2560
|
+
UNITY_UINT32 p0[] = {1, 1, 1, 65132u};
|
2561
|
+
|
2562
|
+
EXPECT_ABORT_BEGIN
|
2563
|
+
TEST_ASSERT_EACH_EQUAL_UINT32(1, p0, 4);
|
2564
|
+
VERIFY_FAILS_END
|
2565
|
+
}
|
2566
|
+
|
2567
|
+
void testEqualHEXEachEqual(void)
|
2568
|
+
{
|
2569
|
+
UNITY_UINT32 p0[] = {65132u, 65132u, 65132u, 65132u};
|
2570
|
+
UNITY_UINT32 p1[] = {987, 987, 987, 987};
|
2571
|
+
UNITY_UINT32 p2[] = {8, 8, 8, 2};
|
2572
|
+
UNITY_UINT32 p3[] = {1, 500, 600, 700};
|
2573
|
+
|
2574
|
+
TEST_ASSERT_EACH_EQUAL_HEX(65132u, p0, 1);
|
2575
|
+
TEST_ASSERT_EACH_EQUAL_HEX(65132u, p0, 4);
|
2576
|
+
TEST_ASSERT_EACH_EQUAL_HEX(987, p1, 4);
|
2577
|
+
TEST_ASSERT_EACH_EQUAL_HEX(8, p2, 3);
|
2578
|
+
TEST_ASSERT_EACH_EQUAL_HEX(1, p3, 1);
|
2579
|
+
}
|
2580
|
+
|
2581
|
+
void testNotEqualHEXEachEqual1(void)
|
2582
|
+
{
|
2583
|
+
UNITY_UINT32 p0[] = {1, 65132u, 65132u, 65132u};
|
2584
|
+
|
2585
|
+
EXPECT_ABORT_BEGIN
|
2586
|
+
TEST_ASSERT_EACH_EQUAL_HEX32(65132u, p0, 4);
|
2587
|
+
VERIFY_FAILS_END
|
2588
|
+
}
|
2589
|
+
|
2590
|
+
void testNotEqualHEXEachEqual2(void)
|
2591
|
+
{
|
2592
|
+
UNITY_UINT32 p0[] = {987, 987, 987, 65132u};
|
2593
|
+
|
2594
|
+
EXPECT_ABORT_BEGIN
|
2595
|
+
TEST_ASSERT_EACH_EQUAL_HEX32(987, p0, 4);
|
2596
|
+
VERIFY_FAILS_END
|
2597
|
+
}
|
2598
|
+
|
2599
|
+
void testNotEqualHEXEachEqual3(void)
|
2600
|
+
{
|
2601
|
+
UNITY_UINT32 p0[] = {8, 8, 987, 8};
|
2602
|
+
|
2603
|
+
EXPECT_ABORT_BEGIN
|
2604
|
+
TEST_ASSERT_EACH_EQUAL_HEX(8, p0, 4);
|
2605
|
+
VERIFY_FAILS_END
|
2606
|
+
}
|
2607
|
+
|
2608
|
+
void testEqualHEX32EachEqual(void)
|
2609
|
+
{
|
2610
|
+
UNITY_UINT32 p0[] = {65132u, 65132u, 65132u, 65132u};
|
2611
|
+
UNITY_UINT32 p1[] = {987, 987, 987, 987};
|
2612
|
+
UNITY_UINT32 p2[] = {8, 8, 8, 2};
|
2613
|
+
UNITY_UINT32 p3[] = {1, 500, 600, 700};
|
2614
|
+
|
2615
|
+
TEST_ASSERT_EACH_EQUAL_HEX32(65132u, p0, 1);
|
2616
|
+
TEST_ASSERT_EACH_EQUAL_HEX32(65132u, p0, 4);
|
2617
|
+
TEST_ASSERT_EACH_EQUAL_HEX32(987, p1, 4);
|
2618
|
+
TEST_ASSERT_EACH_EQUAL_HEX32(8, p2, 3);
|
2619
|
+
TEST_ASSERT_EACH_EQUAL_HEX32(1, p3, 1);
|
2620
|
+
}
|
2621
|
+
|
2622
|
+
void testNotEqualHEX32EachEqual1(void)
|
2623
|
+
{
|
2624
|
+
UNITY_UINT32 p0[] = {65132u, 8, 65132u, 65132u};
|
2625
|
+
|
2626
|
+
EXPECT_ABORT_BEGIN
|
2627
|
+
TEST_ASSERT_EACH_EQUAL_HEX32(65132u, p0, 4);
|
2628
|
+
VERIFY_FAILS_END
|
2629
|
+
}
|
2630
|
+
|
2631
|
+
void testNotEqualHEX32EachEqual2(void)
|
2632
|
+
{
|
2633
|
+
UNITY_UINT32 p0[] = {1, 987, 987, 987};
|
2634
|
+
|
2635
|
+
EXPECT_ABORT_BEGIN
|
2636
|
+
TEST_ASSERT_EACH_EQUAL_HEX32(987, p0, 4);
|
2637
|
+
VERIFY_FAILS_END
|
2638
|
+
}
|
2639
|
+
|
2640
|
+
void testNotEqualHEX32EachEqual3(void)
|
2641
|
+
{
|
2642
|
+
UNITY_UINT32 p0[] = {8, 8, 8, 65132u};
|
2643
|
+
|
2644
|
+
EXPECT_ABORT_BEGIN
|
2645
|
+
TEST_ASSERT_EACH_EQUAL_HEX32(8, p0, 4);
|
2646
|
+
VERIFY_FAILS_END
|
2647
|
+
}
|
2648
|
+
|
2649
|
+
void testEqualHEX16EachEqual(void)
|
2650
|
+
{
|
2651
|
+
UNITY_UINT16 p0[] = {65132u, 65132u, 65132u, 65132u};
|
2652
|
+
UNITY_UINT16 p1[] = {987, 987, 987, 987};
|
2653
|
+
UNITY_UINT16 p2[] = {8, 8, 8, 2};
|
2654
|
+
UNITY_UINT16 p3[] = {1, 500, 600, 700};
|
2655
|
+
|
2656
|
+
TEST_ASSERT_EACH_EQUAL_HEX16(65132u, p0, 1);
|
2657
|
+
TEST_ASSERT_EACH_EQUAL_HEX16(65132u, p0, 4);
|
2658
|
+
TEST_ASSERT_EACH_EQUAL_HEX16(987, p1, 4);
|
2659
|
+
TEST_ASSERT_EACH_EQUAL_HEX16(8, p2, 3);
|
2660
|
+
TEST_ASSERT_EACH_EQUAL_HEX16(1, p3, 1);
|
2661
|
+
}
|
2662
|
+
|
2663
|
+
void testNotEqualHEX16EachEqual1(void)
|
2664
|
+
{
|
2665
|
+
unsigned short p0[] = {65132u, 65132u, 987, 65132u};
|
2666
|
+
|
2667
|
+
EXPECT_ABORT_BEGIN
|
2668
|
+
TEST_ASSERT_EACH_EQUAL_HEX16(65132u, p0, 4);
|
2669
|
+
VERIFY_FAILS_END
|
2670
|
+
}
|
2671
|
+
|
2672
|
+
void testNotEqualHEX16EachEqual2(void)
|
2673
|
+
{
|
2674
|
+
unsigned short p0[] = {1, 987, 987, 987};
|
2675
|
+
|
2676
|
+
EXPECT_ABORT_BEGIN
|
2677
|
+
TEST_ASSERT_EACH_EQUAL_HEX16(987, p0, 4);
|
2678
|
+
VERIFY_FAILS_END
|
2679
|
+
}
|
2680
|
+
|
2681
|
+
void testNotEqualHEX16EachEqual3(void)
|
2682
|
+
{
|
2683
|
+
unsigned short p0[] = {8, 8, 8, 65132u};
|
2684
|
+
|
2685
|
+
EXPECT_ABORT_BEGIN
|
2686
|
+
TEST_ASSERT_EACH_EQUAL_HEX16(8, p0, 4);
|
2687
|
+
VERIFY_FAILS_END
|
2688
|
+
}
|
2689
|
+
|
2690
|
+
void testEqualHEX8EachEqual(void)
|
2691
|
+
{
|
2692
|
+
unsigned char p0[] = {254u, 254u, 254u, 254u};
|
2693
|
+
unsigned char p1[] = {123, 123, 123, 123};
|
2694
|
+
unsigned char p2[] = {8, 8, 8, 2};
|
2695
|
+
unsigned char p3[] = {1, 23, 25, 26};
|
2696
|
+
|
2697
|
+
TEST_ASSERT_EACH_EQUAL_HEX8(254u, p0, 1);
|
2698
|
+
TEST_ASSERT_EACH_EQUAL_HEX8(254u, p0, 4);
|
2699
|
+
TEST_ASSERT_EACH_EQUAL_HEX8(123, p1, 4);
|
2700
|
+
TEST_ASSERT_EACH_EQUAL_HEX8(8, p2, 3);
|
2701
|
+
TEST_ASSERT_EACH_EQUAL_HEX8(1, p3, 1);
|
2702
|
+
}
|
2703
|
+
|
2704
|
+
void testNotEqualHEX8EachEqual1(void)
|
2705
|
+
{
|
2706
|
+
unsigned char p0[] = {253u, 253u, 254u, 253u};
|
2707
|
+
|
2708
|
+
EXPECT_ABORT_BEGIN
|
2709
|
+
TEST_ASSERT_EACH_EQUAL_HEX8(253u, p0, 4);
|
2710
|
+
VERIFY_FAILS_END
|
2711
|
+
}
|
2712
|
+
|
2713
|
+
void testNotEqualHEX8EachEqual2(void)
|
2714
|
+
{
|
2715
|
+
unsigned char p0[] = {254u, 254u, 254u, 253u};
|
2716
|
+
|
2717
|
+
EXPECT_ABORT_BEGIN
|
2718
|
+
TEST_ASSERT_EACH_EQUAL_HEX8(254u, p0, 4);
|
2719
|
+
VERIFY_FAILS_END
|
2720
|
+
}
|
2721
|
+
|
2722
|
+
void testNotEqualHEX8EachEqual3(void)
|
2723
|
+
{
|
2724
|
+
unsigned char p0[] = {1, 8, 8, 8};
|
2725
|
+
|
2726
|
+
EXPECT_ABORT_BEGIN
|
2727
|
+
TEST_ASSERT_EACH_EQUAL_HEX8(8, p0, 4);
|
2728
|
+
VERIFY_FAILS_END
|
2729
|
+
}
|
2730
|
+
|
2731
|
+
void testEqualMemoryArrays(void)
|
2732
|
+
{
|
2733
|
+
int p0[] = {1, 8, 987, -2};
|
2734
|
+
int p1[] = {1, 8, 987, -2};
|
2735
|
+
int p2[] = {1, 8, 987, 2};
|
2736
|
+
int p3[] = {1, 500, 600, 700};
|
2737
|
+
|
2738
|
+
TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p0, sizeof(int), 1);
|
2739
|
+
TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p0, sizeof(int), 4);
|
2740
|
+
TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
|
2741
|
+
TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p2, sizeof(int), 3);
|
2742
|
+
TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p3, sizeof(int), 1);
|
2743
|
+
}
|
2744
|
+
|
2745
|
+
void testNotEqualMemoryArraysExpectedNull(void)
|
2746
|
+
{
|
2747
|
+
int* p0 = NULL;
|
2748
|
+
int p1[] = {1, 8, 987, 2};
|
2749
|
+
|
2750
|
+
EXPECT_ABORT_BEGIN
|
2751
|
+
TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
|
2752
|
+
VERIFY_FAILS_END
|
2753
|
+
}
|
2754
|
+
|
2755
|
+
void testNotEqualMemoryArraysActualNull(void)
|
2756
|
+
{
|
2757
|
+
int p0[] = {1, 8, 987, -2};
|
2758
|
+
int* p1 = NULL;
|
2759
|
+
|
2760
|
+
EXPECT_ABORT_BEGIN
|
2761
|
+
TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
|
2762
|
+
VERIFY_FAILS_END
|
2763
|
+
}
|
2764
|
+
|
2765
|
+
void testNotEqualMemoryArrays1(void)
|
2766
|
+
{
|
2767
|
+
int p0[] = {1, 8, 987, -2};
|
2768
|
+
int p1[] = {1, 8, 987, 2};
|
2769
|
+
|
2770
|
+
EXPECT_ABORT_BEGIN
|
2771
|
+
TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
|
2772
|
+
VERIFY_FAILS_END
|
2773
|
+
}
|
2774
|
+
|
2775
|
+
void testNotEqualMemoryArrays2(void)
|
2776
|
+
{
|
2777
|
+
int p0[] = {1, 8, 987, -2};
|
2778
|
+
int p1[] = {2, 8, 987, -2};
|
2779
|
+
|
2780
|
+
EXPECT_ABORT_BEGIN
|
2781
|
+
TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
|
2782
|
+
VERIFY_FAILS_END
|
2783
|
+
}
|
2784
|
+
|
2785
|
+
void testNotEqualMemoryArrays3(void)
|
2786
|
+
{
|
2787
|
+
int p0[] = {1, 8, 987, -2};
|
2788
|
+
int p1[] = {1, 8, 986, -2};
|
2789
|
+
|
2790
|
+
EXPECT_ABORT_BEGIN
|
2791
|
+
TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
|
2792
|
+
VERIFY_FAILS_END
|
2793
|
+
}
|
2794
|
+
|
2795
|
+
void testEqualMemoryEachEqual(void)
|
2796
|
+
{
|
2797
|
+
int p0[] = {1, 8, 987, -2};
|
2798
|
+
int p1[] = {1, 8, 987, -2, 1, 8, 987, -2};
|
2799
|
+
int p2[] = {8, 8, 8, 2};
|
2800
|
+
int p3[] = {8, 500, 600, 700};
|
2801
|
+
int v = 8;
|
2802
|
+
|
2803
|
+
TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p0, sizeof(int)*4, 1);
|
2804
|
+
TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int)*4, 2);
|
2805
|
+
TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int)*4, 1);
|
2806
|
+
TEST_ASSERT_EACH_EQUAL_MEMORY(&v, p2, sizeof(int), 3);
|
2807
|
+
TEST_ASSERT_EACH_EQUAL_MEMORY(&v, p3, sizeof(int), 1);
|
2808
|
+
}
|
2809
|
+
|
2810
|
+
void testNotEqualMemoryEachEqualExpectedNull(void)
|
2811
|
+
{
|
2812
|
+
int* p0 = NULL;
|
2813
|
+
int p1[] = {1, 8, 987, 2};
|
2814
|
+
|
2815
|
+
EXPECT_ABORT_BEGIN
|
2816
|
+
TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int), 4);
|
2817
|
+
VERIFY_FAILS_END
|
2818
|
+
}
|
2819
|
+
|
2820
|
+
void testNotEqualMemoryEachEqualActualNull(void)
|
2821
|
+
{
|
2822
|
+
int p0[] = {1, 8, 987, -2};
|
2823
|
+
int* p1 = NULL;
|
2824
|
+
|
2825
|
+
EXPECT_ABORT_BEGIN
|
2826
|
+
TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int), 4);
|
2827
|
+
VERIFY_FAILS_END
|
2828
|
+
}
|
2829
|
+
|
2830
|
+
void testNotEqualMemoryEachEqual1(void)
|
2831
|
+
{
|
2832
|
+
int p0[] = {1, 8, 987, -2};
|
2833
|
+
int p1[] = {9, 8, 987, -2, 1, 8, 987, -2, 1, 8, 987, -2};
|
2834
|
+
|
2835
|
+
EXPECT_ABORT_BEGIN
|
2836
|
+
TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int)*4, 3);
|
2837
|
+
VERIFY_FAILS_END
|
2838
|
+
}
|
2839
|
+
|
2840
|
+
void testNotEqualMemoryEachEqual2(void)
|
2841
|
+
{
|
2842
|
+
int p0[] = {1, 8, 987, -2};
|
2843
|
+
int p1[] = {1, 8, 987, -2, 1, 8, 987, -2, 1, 8, 987, 9};
|
2844
|
+
|
2845
|
+
EXPECT_ABORT_BEGIN
|
2846
|
+
TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int)*4, 3);
|
2847
|
+
VERIFY_FAILS_END
|
2848
|
+
}
|
2849
|
+
|
2850
|
+
void testNotEqualMemoryEachEqual3(void)
|
2851
|
+
{
|
2852
|
+
int p0[] = {1, 8, 987, -2};
|
2853
|
+
int p1[] = {1, 8, 987, -2, 1, 9, 987, -2, 1, 8, 987, -2};
|
2854
|
+
|
2855
|
+
EXPECT_ABORT_BEGIN
|
2856
|
+
TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int)*4, 3);
|
2857
|
+
VERIFY_FAILS_END
|
2858
|
+
}
|
2859
|
+
|
2860
|
+
void testProtection(void)
|
2861
|
+
{
|
2862
|
+
volatile int mask = 0;
|
2863
|
+
|
2864
|
+
if (TEST_PROTECT())
|
2865
|
+
{
|
2866
|
+
mask |= 1;
|
2867
|
+
TEST_ABORT();
|
2868
|
+
}
|
2869
|
+
else
|
2870
|
+
{
|
2871
|
+
Unity.CurrentTestFailed = 0;
|
2872
|
+
mask |= 2;
|
2873
|
+
}
|
2874
|
+
|
2875
|
+
TEST_ASSERT_EQUAL(3, mask);
|
2876
|
+
}
|
2877
|
+
|
2878
|
+
void testIgnoredAndThenFailInTearDown(void)
|
2879
|
+
{
|
2880
|
+
SetToOneToFailInTearDown = 1;
|
2881
|
+
TEST_IGNORE();
|
2882
|
+
}
|
2883
|
+
|
2884
|
+
// Tricky series of macros to set USING_OUTPUT_SPY
|
2885
|
+
#define USING_SPY_AS(a) EXPAND_AND_USE_2ND(ASSIGN_VALUE(a), 0)
|
2886
|
+
#define ASSIGN_VALUE(a) VAL_##a
|
2887
|
+
#define VAL_putcharSpy 0, 1
|
2888
|
+
#define EXPAND_AND_USE_2ND(a, b) SECOND_PARAM(a, b, throwaway)
|
2889
|
+
#define SECOND_PARAM(a, b, ...) b
|
2890
|
+
#if USING_SPY_AS(UNITY_OUTPUT_CHAR)
|
2891
|
+
#define USING_OUTPUT_SPY // true only if UNITY_OUTPUT_CHAR = putcharSpy
|
2892
|
+
#endif
|
2893
|
+
|
2894
|
+
#ifdef USING_OUTPUT_SPY
|
2895
|
+
#include <stdio.h>
|
2896
|
+
#define SPY_BUFFER_MAX 40
|
2897
|
+
static char putcharSpyBuffer[SPY_BUFFER_MAX];
|
2898
|
+
#endif
|
2899
|
+
static int indexSpyBuffer;
|
2900
|
+
static int putcharSpyEnabled;
|
2901
|
+
|
2902
|
+
void startPutcharSpy(void) {indexSpyBuffer = 0; putcharSpyEnabled = 1;}
|
2903
|
+
|
2904
|
+
void endPutcharSpy(void) {putcharSpyEnabled = 0;}
|
2249
2905
|
|
2250
2906
|
char* getBufferPutcharSpy(void)
|
2251
2907
|
{
|
@@ -2265,29 +2921,48 @@ void putcharSpy(int c)
|
|
2265
2921
|
if (indexSpyBuffer < SPY_BUFFER_MAX - 1)
|
2266
2922
|
putcharSpyBuffer[indexSpyBuffer++] = (char)c;
|
2267
2923
|
} else
|
2268
|
-
|
2924
|
+
putchar((char)c);
|
2269
2925
|
#endif
|
2270
2926
|
}
|
2271
2927
|
|
2272
2928
|
void testFailureCountIncrementsAndIsReturnedAtEnd(void)
|
2273
2929
|
{
|
2930
|
+
UNITY_UINT savedFailures = Unity.TestFailures;
|
2274
2931
|
Unity.CurrentTestFailed = 1;
|
2275
2932
|
startPutcharSpy(); // Suppress output
|
2276
2933
|
UnityConcludeTest();
|
2277
|
-
|
2934
|
+
endPutcharSpy();
|
2935
|
+
TEST_ASSERT_EQUAL(savedFailures + 1, Unity.TestFailures);
|
2278
2936
|
|
2937
|
+
startPutcharSpy(); // Suppress output
|
2279
2938
|
int failures = UnityEnd();
|
2280
2939
|
Unity.TestFailures--;
|
2281
2940
|
endPutcharSpy();
|
2282
|
-
TEST_ASSERT_EQUAL(1, failures);
|
2941
|
+
TEST_ASSERT_EQUAL(savedFailures + 1, failures);
|
2283
2942
|
}
|
2284
2943
|
|
2285
2944
|
void testCstringsEscapeSequence(void)
|
2286
2945
|
{
|
2946
|
+
#ifndef USING_OUTPUT_SPY
|
2947
|
+
TEST_IGNORE();
|
2948
|
+
#else
|
2287
2949
|
startPutcharSpy();
|
2288
2950
|
UnityPrint("\x16\x10");
|
2289
2951
|
endPutcharSpy();
|
2290
2952
|
TEST_ASSERT_EQUAL_STRING("\\x16\\x10", getBufferPutcharSpy());
|
2953
|
+
#endif
|
2954
|
+
}
|
2955
|
+
|
2956
|
+
void testHexPrintsUpToMaxNumberOfNibbles(void)
|
2957
|
+
{
|
2958
|
+
#ifndef USING_OUTPUT_SPY
|
2959
|
+
TEST_IGNORE();
|
2960
|
+
#else
|
2961
|
+
startPutcharSpy();
|
2962
|
+
UnityPrintNumberHex(0xBEE, 21);
|
2963
|
+
endPutcharSpy();
|
2964
|
+
TEST_ASSERT_EQUAL_INT(sizeof(UNITY_INT)*2, strlen(getBufferPutcharSpy()));
|
2965
|
+
#endif
|
2291
2966
|
}
|
2292
2967
|
|
2293
2968
|
#define TEST_ASSERT_EQUAL_PRINT_NUMBERS(expected, actual) { \
|
@@ -3029,201 +3704,520 @@ void testFloatIsNotDeterminate1(void)
|
|
3029
3704
|
#ifdef UNITY_EXCLUDE_FLOAT
|
3030
3705
|
TEST_IGNORE();
|
3031
3706
|
#else
|
3032
|
-
TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(1.0f / f_zero);
|
3033
|
-
TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(-1.0f / f_zero);
|
3034
|
-
TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(0.0f / f_zero);
|
3707
|
+
TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(1.0f / f_zero);
|
3708
|
+
TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(-1.0f / f_zero);
|
3709
|
+
TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(0.0f / f_zero);
|
3710
|
+
#endif
|
3711
|
+
}
|
3712
|
+
|
3713
|
+
void testFloatIsNotDeterminate2(void)
|
3714
|
+
{
|
3715
|
+
#ifdef UNITY_EXCLUDE_FLOAT
|
3716
|
+
TEST_IGNORE();
|
3717
|
+
#else
|
3718
|
+
EXPECT_ABORT_BEGIN
|
3719
|
+
TEST_ASSERT_FLOAT_IS_DETERMINATE(-1.0f / f_zero);
|
3720
|
+
VERIFY_FAILS_END
|
3721
|
+
#endif
|
3722
|
+
}
|
3723
|
+
|
3724
|
+
void testFloatTraitFailsOnInvalidTrait(void)
|
3725
|
+
{
|
3726
|
+
#ifdef UNITY_EXCLUDE_FLOAT
|
3727
|
+
TEST_IGNORE();
|
3728
|
+
#else
|
3729
|
+
EXPECT_ABORT_BEGIN
|
3730
|
+
UnityAssertFloatSpecial(1.0f, NULL, __LINE__, UNITY_FLOAT_INVALID_TRAIT);
|
3731
|
+
VERIFY_FAILS_END
|
3732
|
+
#endif
|
3733
|
+
}
|
3734
|
+
|
3735
|
+
|
3736
|
+
void testEqualFloatArrays(void)
|
3737
|
+
{
|
3738
|
+
#ifdef UNITY_EXCLUDE_FLOAT
|
3739
|
+
TEST_IGNORE();
|
3740
|
+
#else
|
3741
|
+
float p0[] = {1.0f, -8.0f, 25.4f, -0.123f};
|
3742
|
+
float p1[] = {1.0f, -8.0f, 25.4f, -0.123f};
|
3743
|
+
float p2[] = {1.0f, -8.0f, 25.4f, -0.2f};
|
3744
|
+
float p3[] = {1.0f, -23.0f, 25.0f, -0.26f};
|
3745
|
+
|
3746
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p0, 1);
|
3747
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p0, 4);
|
3748
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
|
3749
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p2, 3);
|
3750
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p3, 1);
|
3751
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(NULL, NULL, 1);
|
3752
|
+
#endif
|
3753
|
+
}
|
3754
|
+
|
3755
|
+
void testNotEqualFloatArraysExpectedNull(void)
|
3756
|
+
{
|
3757
|
+
#ifdef UNITY_EXCLUDE_FLOAT
|
3758
|
+
TEST_IGNORE();
|
3759
|
+
#else
|
3760
|
+
float* p0 = NULL;
|
3761
|
+
float p1[] = {1.0f, 8.0f, 25.4f, 0.252f};
|
3762
|
+
|
3763
|
+
EXPECT_ABORT_BEGIN
|
3764
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
|
3765
|
+
VERIFY_FAILS_END
|
3766
|
+
#endif
|
3767
|
+
}
|
3768
|
+
|
3769
|
+
void testNotEqualFloatArraysActualNull(void)
|
3770
|
+
{
|
3771
|
+
#ifdef UNITY_EXCLUDE_FLOAT
|
3772
|
+
TEST_IGNORE();
|
3773
|
+
#else
|
3774
|
+
float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
|
3775
|
+
float* p1 = NULL;
|
3776
|
+
|
3777
|
+
EXPECT_ABORT_BEGIN
|
3778
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
|
3779
|
+
VERIFY_FAILS_END
|
3780
|
+
#endif
|
3781
|
+
}
|
3782
|
+
|
3783
|
+
void testNotEqualFloatArrays1(void)
|
3784
|
+
{
|
3785
|
+
#ifdef UNITY_EXCLUDE_FLOAT
|
3786
|
+
TEST_IGNORE();
|
3787
|
+
#else
|
3788
|
+
float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
|
3789
|
+
float p1[] = {1.0f, 8.0f, 25.4f, 0.252f};
|
3790
|
+
|
3791
|
+
EXPECT_ABORT_BEGIN
|
3792
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
|
3793
|
+
VERIFY_FAILS_END
|
3794
|
+
#endif
|
3795
|
+
}
|
3796
|
+
|
3797
|
+
void testNotEqualFloatArrays2(void)
|
3798
|
+
{
|
3799
|
+
#ifdef UNITY_EXCLUDE_FLOAT
|
3800
|
+
TEST_IGNORE();
|
3801
|
+
#else
|
3802
|
+
float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
|
3803
|
+
float p1[] = {2.0f, 8.0f, 25.4f, 0.253f};
|
3804
|
+
|
3805
|
+
EXPECT_ABORT_BEGIN
|
3806
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
|
3807
|
+
VERIFY_FAILS_END
|
3808
|
+
#endif
|
3809
|
+
}
|
3810
|
+
|
3811
|
+
void testNotEqualFloatArrays3(void)
|
3812
|
+
{
|
3813
|
+
#ifdef UNITY_EXCLUDE_FLOAT
|
3814
|
+
TEST_IGNORE();
|
3815
|
+
#else
|
3816
|
+
float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
|
3817
|
+
float p1[] = {1.0f, 8.0f, 25.5f, 0.253f};
|
3818
|
+
|
3819
|
+
EXPECT_ABORT_BEGIN
|
3820
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
|
3821
|
+
VERIFY_FAILS_END
|
3822
|
+
#endif
|
3823
|
+
}
|
3824
|
+
|
3825
|
+
void testNotEqualFloatArraysNegative1(void)
|
3826
|
+
{
|
3827
|
+
#ifdef UNITY_EXCLUDE_FLOAT
|
3828
|
+
TEST_IGNORE();
|
3829
|
+
#else
|
3830
|
+
float p0[] = {-1.0f, -8.0f, -25.4f, -0.253f};
|
3831
|
+
float p1[] = {-1.0f, -8.0f, -25.4f, -0.252f};
|
3832
|
+
|
3833
|
+
EXPECT_ABORT_BEGIN
|
3834
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
|
3835
|
+
VERIFY_FAILS_END
|
3836
|
+
#endif
|
3837
|
+
}
|
3838
|
+
|
3839
|
+
void testNotEqualFloatArraysNegative2(void)
|
3840
|
+
{
|
3841
|
+
#ifdef UNITY_EXCLUDE_FLOAT
|
3842
|
+
TEST_IGNORE();
|
3843
|
+
#else
|
3844
|
+
float p0[] = {-1.0f, -8.0f, -25.4f, -0.253f};
|
3845
|
+
float p1[] = {-2.0f, -8.0f, -25.4f, -0.253f};
|
3846
|
+
|
3847
|
+
EXPECT_ABORT_BEGIN
|
3848
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
|
3849
|
+
VERIFY_FAILS_END
|
3850
|
+
#endif
|
3851
|
+
}
|
3852
|
+
|
3853
|
+
void testNotEqualFloatArraysNegative3(void)
|
3854
|
+
{
|
3855
|
+
#ifdef UNITY_EXCLUDE_FLOAT
|
3856
|
+
TEST_IGNORE();
|
3857
|
+
#else
|
3858
|
+
float p0[] = {-1.0f, -8.0f, -25.4f, -0.253f};
|
3859
|
+
float p1[] = {-1.0f, -8.0f, -25.5f, -0.253f};
|
3860
|
+
|
3861
|
+
EXPECT_ABORT_BEGIN
|
3862
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
|
3863
|
+
VERIFY_FAILS_END
|
3864
|
+
#endif
|
3865
|
+
}
|
3866
|
+
|
3867
|
+
void testEqualFloatArraysNaN(void)
|
3868
|
+
{
|
3869
|
+
#ifdef UNITY_EXCLUDE_FLOAT
|
3870
|
+
TEST_IGNORE();
|
3871
|
+
#else
|
3872
|
+
float p0[] = {1.0f, 0.0f / f_zero, 25.4f, 0.253f};
|
3873
|
+
float p1[] = {1.0f, 0.0f / f_zero, 25.4f, 0.253f};
|
3874
|
+
|
3875
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
|
3035
3876
|
#endif
|
3036
3877
|
}
|
3037
3878
|
|
3038
|
-
void
|
3879
|
+
void testEqualFloatArraysInf(void)
|
3039
3880
|
{
|
3040
3881
|
#ifdef UNITY_EXCLUDE_FLOAT
|
3041
3882
|
TEST_IGNORE();
|
3042
3883
|
#else
|
3043
|
-
|
3044
|
-
|
3045
|
-
|
3884
|
+
float p0[] = {1.0f, 1.0f / f_zero, 25.4f, 0.253f};
|
3885
|
+
float p1[] = {1.0f, 1.0f / f_zero, 25.4f, 0.253f};
|
3886
|
+
|
3887
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
|
3046
3888
|
#endif
|
3047
3889
|
}
|
3048
3890
|
|
3049
|
-
void
|
3891
|
+
void testNotEqualFloatArraysLengthZero(void)
|
3050
3892
|
{
|
3051
3893
|
#ifdef UNITY_EXCLUDE_FLOAT
|
3052
3894
|
TEST_IGNORE();
|
3053
3895
|
#else
|
3896
|
+
float p0[1] = {0.0f};
|
3897
|
+
float p1[1] = {0.0f};
|
3898
|
+
|
3054
3899
|
EXPECT_ABORT_BEGIN
|
3055
|
-
|
3900
|
+
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 0);
|
3056
3901
|
VERIFY_FAILS_END
|
3057
3902
|
#endif
|
3058
3903
|
}
|
3059
3904
|
|
3060
|
-
|
3061
|
-
void testEqualFloatArrays(void)
|
3905
|
+
void testEqualFloatEachEqual(void)
|
3062
3906
|
{
|
3063
3907
|
#ifdef UNITY_EXCLUDE_FLOAT
|
3064
3908
|
TEST_IGNORE();
|
3065
3909
|
#else
|
3066
|
-
float p0[] = {1.0f,
|
3067
|
-
float p1[] = {
|
3068
|
-
float p2[] = {
|
3910
|
+
float p0[] = {1.0f, 1.0f, 1.0f, 1.0f};
|
3911
|
+
float p1[] = {-0.123f, -0.123f, -0.123f, -0.123f};
|
3912
|
+
float p2[] = {25.4f, 25.4f, 25.4f, -0.2f};
|
3069
3913
|
float p3[] = {1.0f, -23.0f, 25.0f, -0.26f};
|
3070
3914
|
|
3071
|
-
|
3072
|
-
|
3073
|
-
|
3074
|
-
|
3075
|
-
|
3076
|
-
TEST_ASSERT_EQUAL_FLOAT_ARRAY(NULL, NULL, 1);
|
3915
|
+
TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f, p0, 1);
|
3916
|
+
TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f, p0, 4);
|
3917
|
+
TEST_ASSERT_EACH_EQUAL_FLOAT(-0.123f, p1, 4);
|
3918
|
+
TEST_ASSERT_EACH_EQUAL_FLOAT(25.4f, p2, 3);
|
3919
|
+
TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f, p3, 1);
|
3077
3920
|
#endif
|
3078
3921
|
}
|
3079
3922
|
|
3080
|
-
void
|
3923
|
+
void testNotEqualFloatEachEqualActualNull(void)
|
3081
3924
|
{
|
3082
3925
|
#ifdef UNITY_EXCLUDE_FLOAT
|
3083
3926
|
TEST_IGNORE();
|
3084
3927
|
#else
|
3085
3928
|
float* p0 = NULL;
|
3086
|
-
float p1[] = {1.0f, 8.0f, 25.4f, 0.252f};
|
3087
3929
|
|
3088
3930
|
EXPECT_ABORT_BEGIN
|
3089
|
-
|
3931
|
+
TEST_ASSERT_EACH_EQUAL_FLOAT(5, p0, 4);
|
3090
3932
|
VERIFY_FAILS_END
|
3091
3933
|
#endif
|
3092
3934
|
}
|
3093
3935
|
|
3094
|
-
void
|
3936
|
+
void testNotEqualFloatEachEqual1(void)
|
3095
3937
|
{
|
3096
3938
|
#ifdef UNITY_EXCLUDE_FLOAT
|
3097
3939
|
TEST_IGNORE();
|
3098
3940
|
#else
|
3099
|
-
float p0[] = {
|
3100
|
-
float* p1 = NULL;
|
3941
|
+
float p0[] = {0.253f, 8.0f, 0.253f, 0.253f};
|
3101
3942
|
|
3102
3943
|
EXPECT_ABORT_BEGIN
|
3103
|
-
|
3944
|
+
TEST_ASSERT_EACH_EQUAL_FLOAT(0.253f, p0, 4);
|
3104
3945
|
VERIFY_FAILS_END
|
3105
3946
|
#endif
|
3106
3947
|
}
|
3107
3948
|
|
3108
|
-
void
|
3949
|
+
void testNotEqualFloatEachEqual2(void)
|
3109
3950
|
{
|
3110
3951
|
#ifdef UNITY_EXCLUDE_FLOAT
|
3111
3952
|
TEST_IGNORE();
|
3112
3953
|
#else
|
3113
|
-
float p0[] = {
|
3114
|
-
float p1[] = {1.0f, 8.0f, 25.4f, 0.252f};
|
3954
|
+
float p0[] = {8.0f, 8.0f, 8.0f, 0.253f};
|
3115
3955
|
|
3116
3956
|
EXPECT_ABORT_BEGIN
|
3117
|
-
|
3957
|
+
TEST_ASSERT_EACH_EQUAL_FLOAT(8.0f, p0, 4);
|
3118
3958
|
VERIFY_FAILS_END
|
3119
3959
|
#endif
|
3120
3960
|
}
|
3121
3961
|
|
3122
|
-
void
|
3962
|
+
void testNotEqualFloatEachEqual3(void)
|
3123
3963
|
{
|
3124
3964
|
#ifdef UNITY_EXCLUDE_FLOAT
|
3125
3965
|
TEST_IGNORE();
|
3126
3966
|
#else
|
3127
|
-
float p0[] = {1.0f,
|
3128
|
-
float p1[] = {2.0f, 8.0f, 25.4f, 0.253f};
|
3967
|
+
float p0[] = {1.0f, 1.0f, 1.0f, 0.253f};
|
3129
3968
|
|
3130
3969
|
EXPECT_ABORT_BEGIN
|
3131
|
-
|
3970
|
+
TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f, p0, 4);
|
3132
3971
|
VERIFY_FAILS_END
|
3133
3972
|
#endif
|
3134
3973
|
}
|
3135
3974
|
|
3136
|
-
void
|
3975
|
+
void testNotEqualFloatEachEqualNegative1(void)
|
3137
3976
|
{
|
3138
3977
|
#ifdef UNITY_EXCLUDE_FLOAT
|
3139
3978
|
TEST_IGNORE();
|
3140
3979
|
#else
|
3141
|
-
float p0[] = {1.0f,
|
3142
|
-
float p1[] = {1.0f, 8.0f, 25.5f, 0.253f};
|
3980
|
+
float p0[] = {-1.0f, -0.253f, -0.253f, -0.253f};
|
3143
3981
|
|
3144
3982
|
EXPECT_ABORT_BEGIN
|
3145
|
-
|
3983
|
+
TEST_ASSERT_EACH_EQUAL_FLOAT(-0.253f, p0, 4);
|
3146
3984
|
VERIFY_FAILS_END
|
3147
3985
|
#endif
|
3148
3986
|
}
|
3149
3987
|
|
3150
|
-
void
|
3988
|
+
void testNotEqualFloatEachEqualNegative2(void)
|
3151
3989
|
{
|
3152
3990
|
#ifdef UNITY_EXCLUDE_FLOAT
|
3153
3991
|
TEST_IGNORE();
|
3154
3992
|
#else
|
3155
|
-
float p0[] = {-
|
3156
|
-
float p1[] = {-1.0f, -8.0f, -25.4f, -0.252f};
|
3993
|
+
float p0[] = {-25.4f, -8.0f, -25.4f, -25.4f};
|
3157
3994
|
|
3158
3995
|
EXPECT_ABORT_BEGIN
|
3159
|
-
|
3996
|
+
TEST_ASSERT_EACH_EQUAL_FLOAT(-25.4f, p0, 4);
|
3160
3997
|
VERIFY_FAILS_END
|
3161
3998
|
#endif
|
3162
3999
|
}
|
3163
4000
|
|
3164
|
-
void
|
4001
|
+
void testNotEqualFloatEachEqualNegative3(void)
|
3165
4002
|
{
|
3166
4003
|
#ifdef UNITY_EXCLUDE_FLOAT
|
3167
4004
|
TEST_IGNORE();
|
3168
4005
|
#else
|
3169
|
-
float p0[] = {-
|
3170
|
-
float p1[] = {-2.0f, -8.0f, -25.4f, -0.253f};
|
4006
|
+
float p0[] = {-8.0f, -8.0f, -8.0f, -0.253f};
|
3171
4007
|
|
3172
4008
|
EXPECT_ABORT_BEGIN
|
3173
|
-
|
4009
|
+
TEST_ASSERT_EACH_EQUAL_FLOAT(-8.0f, p0, 4);
|
3174
4010
|
VERIFY_FAILS_END
|
3175
4011
|
#endif
|
3176
4012
|
}
|
3177
4013
|
|
3178
|
-
void
|
4014
|
+
void testEqualFloatEachEqualNaN(void)
|
3179
4015
|
{
|
3180
4016
|
#ifdef UNITY_EXCLUDE_FLOAT
|
3181
4017
|
TEST_IGNORE();
|
3182
4018
|
#else
|
3183
|
-
float p0[] = {
|
3184
|
-
float p1[] = {-1.0f, -8.0f, -25.5f, -0.253f};
|
4019
|
+
float p0[] = {0.0f / f_zero, 0.0f / f_zero, 0.0f / f_zero, 0.0f / f_zero};
|
3185
4020
|
|
3186
|
-
|
3187
|
-
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
|
3188
|
-
VERIFY_FAILS_END
|
4021
|
+
TEST_ASSERT_EACH_EQUAL_FLOAT(0.0f / f_zero, p0, 4);
|
3189
4022
|
#endif
|
3190
4023
|
}
|
3191
4024
|
|
3192
|
-
void
|
4025
|
+
void testEqualFloatEachEqualInf(void)
|
3193
4026
|
{
|
3194
4027
|
#ifdef UNITY_EXCLUDE_FLOAT
|
3195
4028
|
TEST_IGNORE();
|
3196
4029
|
#else
|
3197
|
-
float p0[] = {1.0f,
|
3198
|
-
float p1[] = {1.0f, 0.0f / f_zero, 25.4f, 0.253f};
|
4030
|
+
float p0[] = {1.0f / f_zero, 1.0f / f_zero, 25.4f, 0.253f};
|
3199
4031
|
|
3200
|
-
|
4032
|
+
TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f / f_zero, p0, 2);
|
3201
4033
|
#endif
|
3202
4034
|
}
|
3203
4035
|
|
3204
|
-
void
|
4036
|
+
void testNotEqualFloatEachEqualLengthZero(void)
|
3205
4037
|
{
|
3206
4038
|
#ifdef UNITY_EXCLUDE_FLOAT
|
3207
4039
|
TEST_IGNORE();
|
3208
4040
|
#else
|
3209
|
-
float p0[] = {
|
3210
|
-
float p1[] = {1.0f, 1.0f / f_zero, 25.4f, 0.253f};
|
4041
|
+
float p0[1] = {0.0f};
|
3211
4042
|
|
3212
|
-
|
4043
|
+
EXPECT_ABORT_BEGIN
|
4044
|
+
TEST_ASSERT_EACH_EQUAL_FLOAT(0.0f, p0, 0);
|
4045
|
+
VERIFY_FAILS_END
|
3213
4046
|
#endif
|
3214
4047
|
}
|
3215
4048
|
|
3216
|
-
|
4049
|
+
#define TEST_ASSERT_EQUAL_PRINT_FLOATING(expected, actual) { \
|
4050
|
+
startPutcharSpy(); UnityPrintFloat((actual)); endPutcharSpy(); \
|
4051
|
+
TEST_ASSERT_EQUAL_STRING((expected), getBufferPutcharSpy()); \
|
4052
|
+
}
|
4053
|
+
|
4054
|
+
void testFloatPrinting(void)
|
3217
4055
|
{
|
3218
|
-
#
|
4056
|
+
#if defined(UNITY_EXCLUDE_FLOAT_PRINT) || !defined(USING_OUTPUT_SPY)
|
3219
4057
|
TEST_IGNORE();
|
3220
4058
|
#else
|
3221
|
-
|
3222
|
-
|
4059
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("0.0", 0.0f);
|
4060
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("0.000000...", 0.000000499f);
|
4061
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("0.000001", 0.00000050000005f);
|
4062
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("0.100469", 0.100469499f);
|
4063
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("1.0", 0.9999995f); /*Rounding to int place*/
|
4064
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("1.0", 1.0f);
|
4065
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("1.25", 1.25f);
|
4066
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("7.999999", 7.999999f); /*Not rounding*/
|
4067
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("16.000002", 16.000002f);
|
4068
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("16.000004", 16.000004f);
|
4069
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("16.000006", 16.000006f);
|
4070
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("4294967040.0", 4294967040.0f); /*Last full print integer*/
|
4071
|
+
|
4072
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("0.0", -0.0f);
|
4073
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-0.000000...",-0.000000499f);
|
4074
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-0.000001", -0.00000050000005f);
|
4075
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-0.100469", -0.100469499f);
|
4076
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-1.0", -0.9999995f); /*Rounding to int place*/
|
4077
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-1.0", -1.0f);
|
4078
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-1.25", -1.25f);
|
4079
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-7.999999", -7.999999f); /*Not rounding*/
|
4080
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-16.000002", -16.000002f);
|
4081
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-16.000004", -16.000004f);
|
4082
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-16.000006", -16.000006f);
|
4083
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-4294967040.0",-4294967040.0f); /*Last full print integer*/
|
4084
|
+
|
4085
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("4.2949673e+09", 4294967296.0f);
|
4086
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("5.0e+09", 5000000000.0f);
|
4087
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("8.0e+09", 8.0e+09f);
|
4088
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("8.3099991e+09", 8309999104.0f);
|
4089
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("1.0e+10", 1.0e+10f);
|
4090
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("1.0e+10", 10000000000.0f);
|
4091
|
+
/* Some compilers have trouble with inexact float constants, a float cast works generally */
|
4092
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("1.00005499e+10", (float)1.000055e+10f);
|
4093
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("1.10000006e+38", (float)1.10000005e+38f);
|
4094
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("1.63529943e+10", 1.63529943e+10f);
|
4095
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("3.40282347e+38", 3.40282346638e38f);
|
4096
|
+
|
4097
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-1.0e+10", -1.0e+10f);
|
4098
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-3.40282347e+38",-3.40282346638e38f);
|
4099
|
+
#endif
|
4100
|
+
}
|
4101
|
+
|
4102
|
+
void testFloatPrintingRoundTiesToEven(void)
|
4103
|
+
{
|
4104
|
+
#if defined(UNITY_EXCLUDE_FLOAT_PRINT) || !defined(USING_OUTPUT_SPY)
|
4105
|
+
TEST_IGNORE();
|
4106
|
+
#else
|
4107
|
+
#ifdef UNITY_ROUND_TIES_AWAY_FROM_ZERO
|
4108
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("0.007813", 0.0078125f);
|
4109
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("0.976563", 0.9765625f);
|
4110
|
+
#else /* Default to Round ties to even */
|
4111
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("0.007182", 0.0071825f);
|
4112
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("0.976562", 0.9765625f);
|
4113
|
+
#endif
|
4114
|
+
#endif
|
4115
|
+
}
|
3223
4116
|
|
3224
|
-
|
3225
|
-
|
3226
|
-
|
4117
|
+
void testFloatPrintingInfinityAndNaN(void)
|
4118
|
+
{
|
4119
|
+
#if defined(UNITY_EXCLUDE_FLOAT_PRINT) || !defined(USING_OUTPUT_SPY)
|
4120
|
+
TEST_IGNORE();
|
4121
|
+
#else
|
4122
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("Inf", 1.0f / f_zero);
|
4123
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-Inf", -1.0f / f_zero);
|
4124
|
+
|
4125
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("NaN", 0.0f / f_zero);
|
4126
|
+
#endif
|
4127
|
+
}
|
4128
|
+
|
4129
|
+
#if defined(UNITY_TEST_ALL_FLOATS_PRINT_OK) && defined(USING_OUTPUT_SPY)
|
4130
|
+
static void AllFloatPrinting_LessThan32Bits(void)
|
4131
|
+
{
|
4132
|
+
char expected[18];
|
4133
|
+
union { float f_value; int32_t int_value; } u;
|
4134
|
+
/* Float representations are laid out in integer order, walk up the list */
|
4135
|
+
for (u.f_value = 0.00000050000005f; u.f_value <= 4294967040.0f; u.int_value += 1)
|
4136
|
+
{
|
4137
|
+
startPutcharSpy();
|
4138
|
+
|
4139
|
+
UnityPrintFloat(u.f_value); /*1.5x as fast as sprintf 5e-7f - 0.01f, 20s vs 30s*/
|
4140
|
+
int len = sprintf(expected, "%.6f", u.f_value);
|
4141
|
+
|
4142
|
+
while (expected[len - 1] == '0' && expected[len - 2] != '.') { len--; }
|
4143
|
+
expected[len] = '\0'; /* delete trailing 0's */
|
4144
|
+
|
4145
|
+
if (strcmp(expected, getBufferPutcharSpy()) != 0)
|
4146
|
+
{
|
4147
|
+
double six_digits = ((double)u.f_value - (uint32_t)u.f_value)*1000000.0;
|
4148
|
+
/* Not a tie (remainder != 0.5) => Can't explain the different strings */
|
4149
|
+
if (six_digits - (uint32_t)six_digits != 0.5)
|
4150
|
+
{
|
4151
|
+
/* Fail with diagnostic printing */
|
4152
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING(expected, u.f_value);
|
4153
|
+
}
|
4154
|
+
}
|
4155
|
+
}
|
4156
|
+
}
|
4157
|
+
|
4158
|
+
/* Compared to perfect, floats are occasionally rounded wrong. It doesn't affect
|
4159
|
+
* correctness, though. Two examples (of 13 total found during testing):
|
4160
|
+
* Printed: 6.19256349e+20, Exact: 619256348499999981568.0f <= Eliminated by ROUND_TIES_TO_EVEN
|
4161
|
+
* Printed: 2.19012272e+35, Exact: 219012271499999993621766990196637696.0f */
|
4162
|
+
static void AllFloatPrinting_Larger(const float start, const float end)
|
4163
|
+
{
|
4164
|
+
unsigned int wrong = 0;
|
4165
|
+
char expected[18];
|
4166
|
+
union { float f_value; int32_t int_value; } u;
|
4167
|
+
for (u.f_value = start; u.f_value <= end; u.int_value += 1)
|
4168
|
+
{
|
4169
|
+
startPutcharSpy();
|
4170
|
+
|
4171
|
+
UnityPrintFloat(u.f_value); /*Twice as fast as sprintf 2**32-1e12, 10s vs 21s*/
|
4172
|
+
sprintf(expected, "%.8e", u.f_value);
|
4173
|
+
|
4174
|
+
int len = 11 - 1; /* 11th char is 'e' in exponential format */
|
4175
|
+
while (expected[len - 1] == '0' && expected[len - 2] != '.') { len --; }
|
4176
|
+
if (expected[14] != '\0') memmove(&expected[12], &expected[13], 3); /* Two char exponent */
|
4177
|
+
memmove(&expected[len], &expected[11 - 1], sizeof "e+09"); /* 5 char length */
|
4178
|
+
|
4179
|
+
if (strcmp(expected, getBufferPutcharSpy()) != 0)
|
4180
|
+
{
|
4181
|
+
wrong++;
|
4182
|
+
/* endPutcharSpy(); UnityPrint("Expected "); UnityPrint(expected);
|
4183
|
+
UnityPrint(" Was "); UnityPrint(getBufferPutcharSpy()); UNITY_OUTPUT_CHAR('\n'); */
|
4184
|
+
|
4185
|
+
if (wrong > 10 || (wrong > 3 && end <= 1e25f))
|
4186
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING(expected, u.f_value);
|
4187
|
+
/* Empirical values from the current routine, don't be worse when making changes */
|
4188
|
+
}
|
4189
|
+
}
|
4190
|
+
}
|
4191
|
+
#endif
|
4192
|
+
|
4193
|
+
/* Exhaustive testing of all float values we differentiate when printing. Doubles
|
4194
|
+
* are not explored here -- too many. These tests confirm that the routine works
|
4195
|
+
* for all floats > 5e-7, positives only. Off by default due to test time.
|
4196
|
+
* Compares Unity's routine to your sprintf() C lib, tested to pass on 3 platforms.
|
4197
|
+
* Part1 takes a long time, around 3 minutes compiled with -O2
|
4198
|
+
* Runs through all floats from 0.000001 - 2**32, ~300 million values */
|
4199
|
+
void testAllFloatPrintingPart1_LessThan32Bits(void)
|
4200
|
+
{
|
4201
|
+
#if defined(UNITY_TEST_ALL_FLOATS_PRINT_OK) && defined(USING_OUTPUT_SPY)
|
4202
|
+
AllFloatPrinting_LessThan32Bits();
|
4203
|
+
#else
|
4204
|
+
TEST_IGNORE(); /* Ignore one of three */
|
4205
|
+
#endif
|
4206
|
+
}
|
4207
|
+
|
4208
|
+
/* Test takes a long time, around 3.5 minutes compiled with -O2, try ~500 million values */
|
4209
|
+
void testAllFloatPrintingPart2_Larger(void)
|
4210
|
+
{
|
4211
|
+
#if defined(UNITY_TEST_ALL_FLOATS_PRINT_OK) && defined(USING_OUTPUT_SPY)
|
4212
|
+
AllFloatPrinting_Larger(4294967296.0f, 1e25f);
|
4213
|
+
#endif
|
4214
|
+
}
|
4215
|
+
|
4216
|
+
/* Test takes a long time, around 3.5 minutes compiled with -O2, try ~500 million values */
|
4217
|
+
void testAllFloatPrintingPart3_LargerStill(void)
|
4218
|
+
{
|
4219
|
+
#if defined(UNITY_TEST_ALL_FLOATS_PRINT_OK) && defined(USING_OUTPUT_SPY)
|
4220
|
+
AllFloatPrinting_Larger(1e25f, 3.40282347e+38f);
|
3227
4221
|
#endif
|
3228
4222
|
}
|
3229
4223
|
|
@@ -3750,6 +4744,199 @@ void testNotEqualDoubleArraysLengthZero(void)
|
|
3750
4744
|
#endif
|
3751
4745
|
}
|
3752
4746
|
|
4747
|
+
void testEqualDoubleEachEqual(void)
|
4748
|
+
{
|
4749
|
+
#ifdef UNITY_EXCLUDE_DOUBLE
|
4750
|
+
TEST_IGNORE();
|
4751
|
+
#else
|
4752
|
+
double p0[] = {1.0, 1.0, 1.0, 1.0};
|
4753
|
+
double p1[] = {-0.123, -0.123, -0.123, -0.123};
|
4754
|
+
double p2[] = {25.4, 25.4, 25.4, -0.2};
|
4755
|
+
double p3[] = {1.0, -23.0, 25.0, -0.26};
|
4756
|
+
|
4757
|
+
TEST_ASSERT_EACH_EQUAL_DOUBLE(1.0, p0, 1);
|
4758
|
+
TEST_ASSERT_EACH_EQUAL_DOUBLE(1.0, p0, 4);
|
4759
|
+
TEST_ASSERT_EACH_EQUAL_DOUBLE(-0.123, p1, 4);
|
4760
|
+
TEST_ASSERT_EACH_EQUAL_DOUBLE(25.4, p2, 3);
|
4761
|
+
TEST_ASSERT_EACH_EQUAL_DOUBLE(1.0, p3, 1);
|
4762
|
+
#endif
|
4763
|
+
}
|
4764
|
+
|
4765
|
+
void testNotEqualDoubleEachEqualActualNull(void)
|
4766
|
+
{
|
4767
|
+
#ifdef UNITY_EXCLUDE_DOUBLE
|
4768
|
+
TEST_IGNORE();
|
4769
|
+
#else
|
4770
|
+
double* p0 = NULL;
|
4771
|
+
|
4772
|
+
EXPECT_ABORT_BEGIN
|
4773
|
+
TEST_ASSERT_EACH_EQUAL_DOUBLE(5, p0, 4);
|
4774
|
+
VERIFY_FAILS_END
|
4775
|
+
#endif
|
4776
|
+
}
|
4777
|
+
|
4778
|
+
void testNotEqualDoubleEachEqual1(void)
|
4779
|
+
{
|
4780
|
+
#ifdef UNITY_EXCLUDE_DOUBLE
|
4781
|
+
TEST_IGNORE();
|
4782
|
+
#else
|
4783
|
+
double p0[] = {0.253, 8.0, 0.253, 0.253};
|
4784
|
+
|
4785
|
+
EXPECT_ABORT_BEGIN
|
4786
|
+
TEST_ASSERT_EACH_EQUAL_DOUBLE(0.253, p0, 4);
|
4787
|
+
VERIFY_FAILS_END
|
4788
|
+
#endif
|
4789
|
+
}
|
4790
|
+
|
4791
|
+
void testNotEqualDoubleEachEqual2(void)
|
4792
|
+
{
|
4793
|
+
#ifdef UNITY_EXCLUDE_DOUBLE
|
4794
|
+
TEST_IGNORE();
|
4795
|
+
#else
|
4796
|
+
double p0[] = {8.0, 8.0, 8.0, 0.253};
|
4797
|
+
|
4798
|
+
EXPECT_ABORT_BEGIN
|
4799
|
+
TEST_ASSERT_EACH_EQUAL_DOUBLE(8.0, p0, 4);
|
4800
|
+
VERIFY_FAILS_END
|
4801
|
+
#endif
|
4802
|
+
}
|
4803
|
+
|
4804
|
+
void testNotEqualDoubleEachEqual3(void)
|
4805
|
+
{
|
4806
|
+
#ifdef UNITY_EXCLUDE_DOUBLE
|
4807
|
+
TEST_IGNORE();
|
4808
|
+
#else
|
4809
|
+
double p0[] = {1.0, 1.0, 1.0, 0.253};
|
4810
|
+
|
4811
|
+
EXPECT_ABORT_BEGIN
|
4812
|
+
TEST_ASSERT_EACH_EQUAL_DOUBLE(1.0, p0, 4);
|
4813
|
+
VERIFY_FAILS_END
|
4814
|
+
#endif
|
4815
|
+
}
|
4816
|
+
|
4817
|
+
void testNotEqualDoubleEachEqualNegative1(void)
|
4818
|
+
{
|
4819
|
+
#ifdef UNITY_EXCLUDE_DOUBLE
|
4820
|
+
TEST_IGNORE();
|
4821
|
+
#else
|
4822
|
+
double p0[] = {-1.0, -0.253, -0.253, -0.253};
|
4823
|
+
|
4824
|
+
EXPECT_ABORT_BEGIN
|
4825
|
+
TEST_ASSERT_EACH_EQUAL_DOUBLE(-0.253, p0, 4);
|
4826
|
+
VERIFY_FAILS_END
|
4827
|
+
#endif
|
4828
|
+
}
|
4829
|
+
|
4830
|
+
void testNotEqualDoubleEachEqualNegative2(void)
|
4831
|
+
{
|
4832
|
+
#ifdef UNITY_EXCLUDE_DOUBLE
|
4833
|
+
TEST_IGNORE();
|
4834
|
+
#else
|
4835
|
+
double p0[] = {-25.4, -8.0, -25.4, -25.4};
|
4836
|
+
|
4837
|
+
EXPECT_ABORT_BEGIN
|
4838
|
+
TEST_ASSERT_EACH_EQUAL_DOUBLE(-25.4, p0, 4);
|
4839
|
+
VERIFY_FAILS_END
|
4840
|
+
#endif
|
4841
|
+
}
|
4842
|
+
|
4843
|
+
void testNotEqualDoubleEachEqualNegative3(void)
|
4844
|
+
{
|
4845
|
+
#ifdef UNITY_EXCLUDE_DOUBLE
|
4846
|
+
TEST_IGNORE();
|
4847
|
+
#else
|
4848
|
+
double p0[] = {-8.0, -8.0, -8.0, -0.253};
|
4849
|
+
|
4850
|
+
EXPECT_ABORT_BEGIN
|
4851
|
+
TEST_ASSERT_EACH_EQUAL_DOUBLE(-8.0, p0, 4);
|
4852
|
+
VERIFY_FAILS_END
|
4853
|
+
#endif
|
4854
|
+
}
|
4855
|
+
|
4856
|
+
void testEqualDoubleEachEqualNaN(void)
|
4857
|
+
{
|
4858
|
+
#ifdef UNITY_EXCLUDE_DOUBLE
|
4859
|
+
TEST_IGNORE();
|
4860
|
+
#else
|
4861
|
+
double p0[] = {0.0 / d_zero, 0.0 / d_zero, 0.0 / d_zero, 0.0 / d_zero};
|
4862
|
+
|
4863
|
+
TEST_ASSERT_EACH_EQUAL_DOUBLE(0.0 / d_zero, p0, 4);
|
4864
|
+
#endif
|
4865
|
+
}
|
4866
|
+
|
4867
|
+
void testEqualDoubleEachEqualInf(void)
|
4868
|
+
{
|
4869
|
+
#ifdef UNITY_EXCLUDE_DOUBLE
|
4870
|
+
TEST_IGNORE();
|
4871
|
+
#else
|
4872
|
+
double p0[] = {1.0 / d_zero, 1.0 / d_zero, 25.4, 0.253};
|
4873
|
+
|
4874
|
+
TEST_ASSERT_EACH_EQUAL_DOUBLE(1.0 / d_zero, p0, 2);
|
4875
|
+
#endif
|
4876
|
+
}
|
4877
|
+
|
4878
|
+
void testNotEqualDoubleEachEqualLengthZero(void)
|
4879
|
+
{
|
4880
|
+
#ifdef UNITY_EXCLUDE_DOUBLE
|
4881
|
+
TEST_IGNORE();
|
4882
|
+
#else
|
4883
|
+
double p0[1] = {0.0};
|
4884
|
+
|
4885
|
+
EXPECT_ABORT_BEGIN
|
4886
|
+
TEST_ASSERT_EACH_EQUAL_DOUBLE(0.0, p0, 0);
|
4887
|
+
VERIFY_FAILS_END
|
4888
|
+
#endif
|
4889
|
+
}
|
4890
|
+
|
4891
|
+
void testDoublePrinting(void)
|
4892
|
+
{
|
4893
|
+
#if defined(UNITY_EXCLUDE_FLOAT_PRINT) || defined(UNITY_EXCLUDE_DOUBLE) || !defined(USING_OUTPUT_SPY)
|
4894
|
+
TEST_IGNORE();
|
4895
|
+
#else
|
4896
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("0.100469", 0.10046949999999999);
|
4897
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("4294967295.999999", 4294967295.999999);
|
4898
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("4.2949673e+09", 4294967295.9999995);
|
4899
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("4.2949673e+09", 4294967296.0);
|
4900
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("1.0e+10", 9999999995.0);
|
4901
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("9.00719925e+15", 9007199254740990.0);
|
4902
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("7.0e+100", 7.0e+100);
|
4903
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("3.0e+200", 3.0e+200);
|
4904
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("9.23456789e+300", 9.23456789e+300);
|
4905
|
+
|
4906
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-0.100469", -0.10046949999999999);
|
4907
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-4294967295.999999", -4294967295.999999);
|
4908
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-4.2949673e+09", -4294967295.9999995);
|
4909
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-7.0e+100", -7.0e+100);
|
4910
|
+
#endif
|
4911
|
+
}
|
4912
|
+
|
4913
|
+
void testDoublePrintingRoundTiesToEven(void)
|
4914
|
+
{
|
4915
|
+
#if defined(UNITY_EXCLUDE_FLOAT_PRINT) || defined(UNITY_EXCLUDE_DOUBLE) || !defined(USING_OUTPUT_SPY)
|
4916
|
+
TEST_IGNORE();
|
4917
|
+
#else
|
4918
|
+
#ifdef UNITY_ROUND_TIES_AWAY_FROM_ZERO
|
4919
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("1.00000001e+10", 10000000050.0);
|
4920
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("9.00719925e+15", 9007199245000000.0);
|
4921
|
+
#else /* Default to Round ties to even */
|
4922
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("1.0e+10", 10000000050.0);
|
4923
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("9.00719924e+15", 9007199245000000.0);
|
4924
|
+
#endif
|
4925
|
+
#endif
|
4926
|
+
}
|
4927
|
+
|
4928
|
+
void testDoublePrintingInfinityAndNaN(void)
|
4929
|
+
{
|
4930
|
+
#if defined(UNITY_EXCLUDE_FLOAT_PRINT) || defined(UNITY_EXCLUDE_DOUBLE) || !defined(USING_OUTPUT_SPY)
|
4931
|
+
TEST_IGNORE();
|
4932
|
+
#else
|
4933
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("Inf", 1.0 / d_zero);
|
4934
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("-Inf", -1.0 / d_zero);
|
4935
|
+
|
4936
|
+
TEST_ASSERT_EQUAL_PRINT_FLOATING("NaN", 0.0 / d_zero);
|
4937
|
+
#endif
|
4938
|
+
}
|
4939
|
+
|
3753
4940
|
// ===================== THESE TEST WILL RUN IF YOUR CONFIG INCLUDES DETAIL SUPPORT ==================
|
3754
4941
|
|
3755
4942
|
void testThatDetailsCanBeHandleOneDetail(void)
|