ceedling 0.30.0 → 0.31.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/Gemfile +1 -0
- data/Gemfile.lock +4 -2
- data/README.md +9 -6
- data/assets/auto_link_deep_dependencies/src/a.c +7 -0
- data/assets/auto_link_deep_dependencies/src/b.c +7 -0
- data/assets/auto_link_deep_dependencies/src/c.c +8 -0
- data/assets/auto_link_deep_dependencies/src/internal_inc/a.h +6 -0
- data/assets/auto_link_deep_dependencies/src/internal_inc/b.h +6 -0
- data/assets/auto_link_deep_dependencies/src/internal_inc/c.h +6 -0
- data/assets/auto_link_deep_dependencies/src/internal_inc/never_compiled.h +6 -0
- data/assets/auto_link_deep_dependencies/src/never_compiled.c +6 -0
- data/assets/auto_link_deep_dependencies/test/test_a.c +11 -0
- data/assets/auto_link_deep_dependencies/test/test_b.c +11 -0
- data/assets/auto_link_deep_dependencies/test/test_c.c +11 -0
- data/assets/test_example_file_unity_printf.c +12 -0
- data/assets/test_example_with_parameterized_tests.c +19 -0
- data/assets/tests_with_defines/src/adc_hardware.c +11 -0
- data/assets/tests_with_defines/src/adc_hardware.h +6 -0
- data/assets/tests_with_defines/src/adc_hardware_configurator.c +11 -0
- data/assets/tests_with_defines/src/adc_hardware_configurator.h +10 -0
- data/assets/tests_with_defines/test/test_adc_hardware.c +21 -0
- data/assets/tests_with_defines/test/test_adc_hardware_special.c +21 -0
- data/bin/ceedling +0 -1
- data/ceedling.gemspec +5 -4
- data/ceedling.sublime-project +28 -0
- data/ceedling.sublime-workspace +452 -0
- data/config/test_environment.rb +0 -1
- data/docs/CeedlingPacket.md +59 -6
- data/examples/blinky/project.yml +3 -1
- data/examples/blinky/rakefile.rb +1 -2
- data/examples/temp_sensor/build/test/cache/AdcConductor.h +20 -0
- data/examples/temp_sensor/build/test/cache/AdcHardware.h +16 -0
- data/examples/temp_sensor/build/test/cache/AdcHardwareConfigurator.h +14 -0
- data/examples/temp_sensor/build/test/cache/AdcModel.h +20 -0
- data/examples/temp_sensor/build/test/cache/AdcTemperatureSensor.h +14 -0
- data/examples/temp_sensor/build/test/cache/Executor.h +12 -0
- data/examples/temp_sensor/build/test/cache/IntrinsicsWrapper.h +9 -0
- data/examples/temp_sensor/build/test/cache/Model.h +10 -0
- data/examples/temp_sensor/build/test/cache/TaskScheduler.h +16 -0
- data/examples/temp_sensor/build/test/cache/TemperatureCalculator.h +10 -0
- data/examples/temp_sensor/build/test/cache/TemperatureFilter.h +14 -0
- data/examples/temp_sensor/build/test/cache/TestAdcConductor.c +169 -0
- data/examples/temp_sensor/build/test/cache/TestAdcHardware.c +82 -0
- data/examples/temp_sensor/build/test/cache/TestAdcModel.c +59 -0
- data/examples/temp_sensor/build/test/cache/TestExecutor.c +63 -0
- data/examples/temp_sensor/build/test/cache/TestMain.c +43 -0
- data/examples/temp_sensor/build/test/cache/TestModel.c +34 -0
- data/examples/temp_sensor/build/test/cache/TestTaskScheduler.c +204 -0
- data/examples/temp_sensor/build/test/cache/TestTemperatureCalculator.c +70 -0
- data/examples/temp_sensor/build/test/cache/TestTemperatureFilter.c +154 -0
- data/examples/temp_sensor/build/test/cache/TestTimerConductor.c +57 -0
- data/examples/temp_sensor/build/test/cache/TestTimerHardware.c +47 -0
- data/examples/temp_sensor/build/test/cache/TestTimerModel.c +31 -0
- data/examples/temp_sensor/build/test/cache/TestUsartBaudRateRegisterCalculator.c +38 -0
- data/examples/temp_sensor/build/test/cache/TestUsartConductor.c +73 -0
- data/examples/temp_sensor/build/test/cache/TestUsartHardware.c +66 -0
- data/examples/temp_sensor/build/test/cache/TestUsartModel.c +73 -0
- data/examples/temp_sensor/build/test/cache/TimerConductor.h +12 -0
- data/examples/temp_sensor/build/test/cache/TimerConfigurator.h +24 -0
- data/examples/temp_sensor/build/test/cache/TimerHardware.h +10 -0
- data/examples/temp_sensor/build/test/cache/TimerInterruptHandler.h +14 -0
- data/examples/temp_sensor/build/test/cache/TimerModel.h +10 -0
- data/examples/temp_sensor/build/test/cache/UsartBaudRateRegisterCalculator.h +10 -0
- data/examples/temp_sensor/build/test/cache/UsartConductor.h +9 -0
- data/examples/temp_sensor/build/test/cache/UsartConfigurator.h +20 -0
- data/examples/temp_sensor/build/test/cache/UsartHardware.h +12 -0
- data/examples/temp_sensor/build/test/cache/UsartModel.h +14 -0
- data/examples/temp_sensor/build/test/cache/UsartPutChar.h +10 -0
- data/examples/temp_sensor/build/test/cache/defines_dependency.yml +77 -0
- data/examples/temp_sensor/build/test/cache/input.yml +310 -0
- data/examples/temp_sensor/build/test/dependencies/AdcConductor.d +2 -0
- data/examples/temp_sensor/build/test/dependencies/AdcHardware.d +3 -0
- data/examples/temp_sensor/build/test/dependencies/AdcModel.d +3 -0
- data/examples/temp_sensor/build/test/dependencies/Executor.d +3 -0
- data/examples/temp_sensor/build/test/dependencies/Main.d +11 -0
- data/examples/temp_sensor/build/test/dependencies/MockAdcConductor.d +6 -0
- data/examples/temp_sensor/build/test/dependencies/MockAdcHardware.d +6 -0
- data/examples/temp_sensor/build/test/dependencies/MockAdcHardwareConfigurator.d +8 -0
- data/examples/temp_sensor/build/test/dependencies/MockAdcModel.d +6 -0
- data/examples/temp_sensor/build/test/dependencies/MockAdcTemperatureSensor.d +8 -0
- data/examples/temp_sensor/build/test/dependencies/MockExecutor.d +6 -0
- data/examples/temp_sensor/build/test/dependencies/MockIntrinsicsWrapper.d +7 -0
- data/examples/temp_sensor/build/test/dependencies/MockModel.d +6 -0
- data/examples/temp_sensor/build/test/dependencies/MockTaskScheduler.d +7 -0
- data/examples/temp_sensor/build/test/dependencies/MockTemperatureCalculator.d +8 -0
- data/examples/temp_sensor/build/test/dependencies/MockTemperatureFilter.d +8 -0
- data/examples/temp_sensor/build/test/dependencies/MockTimerConductor.d +7 -0
- data/examples/temp_sensor/build/test/dependencies/MockTimerConfigurator.d +8 -0
- data/examples/temp_sensor/build/test/dependencies/MockTimerHardware.d +7 -0
- data/examples/temp_sensor/build/test/dependencies/MockTimerInterruptHandler.d +8 -0
- data/examples/temp_sensor/build/test/dependencies/MockTimerModel.d +6 -0
- data/examples/temp_sensor/build/test/dependencies/MockUsartBaudRateRegisterCalculator.d +8 -0
- data/examples/temp_sensor/build/test/dependencies/MockUsartConductor.d +7 -0
- data/examples/temp_sensor/build/test/dependencies/MockUsartConfigurator.d +8 -0
- data/examples/temp_sensor/build/test/dependencies/MockUsartHardware.d +7 -0
- data/examples/temp_sensor/build/test/dependencies/MockUsartModel.d +6 -0
- data/examples/temp_sensor/build/test/dependencies/MockUsartPutChar.d +6 -0
- data/examples/temp_sensor/build/test/dependencies/Model.d +2 -0
- data/examples/temp_sensor/build/test/dependencies/TaskScheduler.d +2 -0
- data/examples/temp_sensor/build/test/dependencies/TemperatureCalculator.d +2 -0
- data/examples/temp_sensor/build/test/dependencies/TemperatureFilter.d +2 -0
- data/examples/temp_sensor/build/test/dependencies/TestAdcConductor.d +6 -0
- data/examples/temp_sensor/build/test/dependencies/TestAdcConductor_runner.d +8 -0
- data/examples/temp_sensor/build/test/dependencies/TestAdcHardware.d +7 -0
- data/examples/temp_sensor/build/test/dependencies/TestAdcHardware_runner.d +9 -0
- data/examples/temp_sensor/build/test/dependencies/TestAdcModel.d +7 -0
- data/examples/temp_sensor/build/test/dependencies/TestAdcModel_runner.d +10 -0
- data/examples/temp_sensor/build/test/dependencies/TestExecutor.d +8 -0
- data/examples/temp_sensor/build/test/dependencies/TestExecutor_runner.d +11 -0
- data/examples/temp_sensor/build/test/dependencies/TestMain.d +4 -0
- data/examples/temp_sensor/build/test/dependencies/TestMain_runner.d +6 -0
- data/examples/temp_sensor/build/test/dependencies/TestModel.d +6 -0
- data/examples/temp_sensor/build/test/dependencies/TestModel_runner.d +8 -0
- data/examples/temp_sensor/build/test/dependencies/TestTaskScheduler.d +4 -0
- data/examples/temp_sensor/build/test/dependencies/TestTaskScheduler_runner.d +4 -0
- data/examples/temp_sensor/build/test/dependencies/TestTemperatureCalculator.d +5 -0
- data/examples/temp_sensor/build/test/dependencies/TestTemperatureCalculator_runner.d +4 -0
- data/examples/temp_sensor/build/test/dependencies/TestTemperatureFilter.d +4 -0
- data/examples/temp_sensor/build/test/dependencies/TestTemperatureFilter_runner.d +4 -0
- data/examples/temp_sensor/build/test/dependencies/TestTimerConductor.d +7 -0
- data/examples/temp_sensor/build/test/dependencies/TestTimerConductor_runner.d +10 -0
- data/examples/temp_sensor/build/test/dependencies/TestTimerHardware.d +5 -0
- data/examples/temp_sensor/build/test/dependencies/TestTimerHardware_runner.d +8 -0
- data/examples/temp_sensor/build/test/dependencies/TestTimerModel.d +5 -0
- data/examples/temp_sensor/build/test/dependencies/TestTimerModel_runner.d +7 -0
- data/examples/temp_sensor/build/test/dependencies/TestUsartBaudRateRegisterCalculator.d +5 -0
- data/examples/temp_sensor/build/test/dependencies/TestUsartBaudRateRegisterCalculator_runner.d +4 -0
- data/examples/temp_sensor/build/test/dependencies/TestUsartConductor.d +7 -0
- data/examples/temp_sensor/build/test/dependencies/TestUsartConductor_runner.d +9 -0
- data/examples/temp_sensor/build/test/dependencies/TestUsartHardware.d +6 -0
- data/examples/temp_sensor/build/test/dependencies/TestUsartHardware_runner.d +8 -0
- data/examples/temp_sensor/build/test/dependencies/TestUsartModel.d +7 -0
- data/examples/temp_sensor/build/test/dependencies/TestUsartModel_runner.d +9 -0
- data/examples/temp_sensor/build/test/dependencies/TimerConductor.d +3 -0
- data/examples/temp_sensor/build/test/dependencies/TimerHardware.d +2 -0
- data/examples/temp_sensor/build/test/dependencies/TimerModel.d +2 -0
- data/examples/temp_sensor/build/test/dependencies/UnityHelper.d +4 -0
- data/examples/temp_sensor/build/test/dependencies/UsartBaudRateRegisterCalculator.d +3 -0
- data/examples/temp_sensor/build/test/dependencies/UsartConductor.d +3 -0
- data/examples/temp_sensor/build/test/dependencies/UsartHardware.d +2 -0
- data/examples/temp_sensor/build/test/dependencies/UsartModel.d +3 -0
- data/examples/temp_sensor/build/test/dependencies/cmock.d +6 -0
- data/examples/temp_sensor/build/test/dependencies/unity.d +4 -0
- data/examples/temp_sensor/build/test/mocks/MockAdcConductor.c +391 -0
- data/examples/temp_sensor/build/test/mocks/MockAdcConductor.h +64 -0
- data/examples/temp_sensor/build/test/mocks/MockAdcHardware.c +313 -0
- data/examples/temp_sensor/build/test/mocks/MockAdcHardware.h +58 -0
- data/examples/temp_sensor/build/test/mocks/MockAdcHardwareConfigurator.c +218 -0
- data/examples/temp_sensor/build/test/mocks/MockAdcHardwareConfigurator.h +52 -0
- data/examples/temp_sensor/build/test/mocks/MockAdcModel.c +453 -0
- data/examples/temp_sensor/build/test/mocks/MockAdcModel.h +64 -0
- data/examples/temp_sensor/build/test/mocks/MockAdcTemperatureSensor.c +252 -0
- data/examples/temp_sensor/build/test/mocks/MockAdcTemperatureSensor.h +52 -0
- data/examples/temp_sensor/build/test/mocks/MockExecutor.c +174 -0
- data/examples/temp_sensor/build/test/mocks/MockExecutor.h +46 -0
- data/examples/temp_sensor/build/test/mocks/MockIntrinsicsWrapper.c +157 -0
- data/examples/temp_sensor/build/test/mocks/MockIntrinsicsWrapper.h +46 -0
- data/examples/temp_sensor/build/test/mocks/MockModel.c +96 -0
- data/examples/temp_sensor/build/test/mocks/MockModel.h +40 -0
- data/examples/temp_sensor/build/test/mocks/MockTaskScheduler.c +326 -0
- data/examples/temp_sensor/build/test/mocks/MockTaskScheduler.h +58 -0
- data/examples/temp_sensor/build/test/mocks/MockTemperatureCalculator.c +126 -0
- data/examples/temp_sensor/build/test/mocks/MockTemperatureCalculator.h +40 -0
- data/examples/temp_sensor/build/test/mocks/MockTemperatureFilter.c +248 -0
- data/examples/temp_sensor/build/test/mocks/MockTemperatureFilter.h +52 -0
- data/examples/temp_sensor/build/test/mocks/MockTimerConductor.c +157 -0
- data/examples/temp_sensor/build/test/mocks/MockTimerConductor.h +46 -0
- data/examples/temp_sensor/build/test/mocks/MockTimerConfigurator.c +523 -0
- data/examples/temp_sensor/build/test/mocks/MockTimerConfigurator.h +82 -0
- data/examples/temp_sensor/build/test/mocks/MockTimerHardware.c +96 -0
- data/examples/temp_sensor/build/test/mocks/MockTimerHardware.h +40 -0
- data/examples/temp_sensor/build/test/mocks/MockTimerInterruptHandler.c +248 -0
- data/examples/temp_sensor/build/test/mocks/MockTimerInterruptHandler.h +52 -0
- data/examples/temp_sensor/build/test/mocks/MockTimerModel.c +109 -0
- data/examples/temp_sensor/build/test/mocks/MockTimerModel.h +40 -0
- data/examples/temp_sensor/build/test/mocks/MockUsartBaudRateRegisterCalculator.c +133 -0
- data/examples/temp_sensor/build/test/mocks/MockUsartBaudRateRegisterCalculator.h +40 -0
- data/examples/temp_sensor/build/test/mocks/MockUsartConductor.c +157 -0
- data/examples/temp_sensor/build/test/mocks/MockUsartConductor.h +46 -0
- data/examples/temp_sensor/build/test/mocks/MockUsartConfigurator.c +414 -0
- data/examples/temp_sensor/build/test/mocks/MockUsartConfigurator.h +70 -0
- data/examples/temp_sensor/build/test/mocks/MockUsartHardware.c +183 -0
- data/examples/temp_sensor/build/test/mocks/MockUsartHardware.h +46 -0
- data/examples/temp_sensor/build/test/mocks/MockUsartModel.c +269 -0
- data/examples/temp_sensor/build/test/mocks/MockUsartModel.h +52 -0
- data/examples/temp_sensor/build/test/mocks/MockUsartPutChar.c +109 -0
- data/examples/temp_sensor/build/test/mocks/MockUsartPutChar.h +40 -0
- data/examples/temp_sensor/build/test/out/TestAdcConductor.out +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcHardware.out +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcModel.out +0 -0
- data/examples/temp_sensor/build/test/out/TestExecutor.out +0 -0
- data/examples/temp_sensor/build/test/out/TestMain.out +0 -0
- data/examples/temp_sensor/build/test/out/TestModel.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTaskScheduler.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTemperatureCalculator.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTemperatureFilter.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerConductor.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerHardware.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerModel.out +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartBaudRateRegisterCalculator.out +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartConductor.out +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartHardware.out +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartModel.out +0 -0
- data/examples/temp_sensor/build/test/out/c/AdcConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/AdcHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/AdcModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/Executor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/Main.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockAdcConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockAdcHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockAdcHardwareConfigurator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockAdcModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockAdcTemperatureSensor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockExecutor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockIntrinsicsWrapper.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockTaskScheduler.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockTemperatureCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockTemperatureFilter.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockTimerConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockTimerConfigurator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockTimerHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockTimerInterruptHandler.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockTimerModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockUsartBaudRateRegisterCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockUsartConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockUsartConfigurator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockUsartHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockUsartModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockUsartPutChar.o +0 -0
- data/examples/temp_sensor/build/test/out/c/Model.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TaskScheduler.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TemperatureCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TemperatureFilter.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestAdcConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestAdcConductor_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestAdcHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestAdcHardware_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestAdcModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestAdcModel_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestExecutor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestExecutor_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestMain.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestMain_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestModel_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTaskScheduler.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTaskScheduler_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTemperatureCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTemperatureCalculator_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTemperatureFilter.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTemperatureFilter_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTimerConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTimerConductor_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTimerHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTimerHardware_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTimerModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTimerModel_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestUsartBaudRateRegisterCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestUsartBaudRateRegisterCalculator_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestUsartConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestUsartConductor_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestUsartHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestUsartHardware_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestUsartModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestUsartModel_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TimerConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TimerHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TimerModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/c/UsartBaudRateRegisterCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/UsartConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/UsartHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/UsartModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/cmock.o +0 -0
- data/examples/temp_sensor/build/test/out/c/unity.o +0 -0
- data/examples/temp_sensor/build/test/preprocess/files/AdcConductor.h +20 -0
- data/examples/temp_sensor/build/test/preprocess/files/AdcHardware.h +16 -0
- data/examples/temp_sensor/build/test/preprocess/files/AdcHardwareConfigurator.h +14 -0
- data/examples/temp_sensor/build/test/preprocess/files/AdcModel.h +20 -0
- data/examples/temp_sensor/build/test/preprocess/files/AdcTemperatureSensor.h +14 -0
- data/examples/temp_sensor/build/test/preprocess/files/Executor.h +12 -0
- data/examples/temp_sensor/build/test/preprocess/files/IntrinsicsWrapper.h +9 -0
- data/examples/temp_sensor/build/test/preprocess/files/Model.h +10 -0
- data/examples/temp_sensor/build/test/preprocess/files/TaskScheduler.h +16 -0
- data/examples/temp_sensor/build/test/preprocess/files/TemperatureCalculator.h +10 -0
- data/examples/temp_sensor/build/test/preprocess/files/TemperatureFilter.h +14 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestAdcConductor.c +169 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestAdcHardware.c +82 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestAdcModel.c +59 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestExecutor.c +63 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestMain.c +43 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestModel.c +34 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestTaskScheduler.c +204 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestTemperatureCalculator.c +70 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestTemperatureFilter.c +154 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerConductor.c +57 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerHardware.c +47 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerModel.c +31 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartBaudRateRegisterCalculator.c +38 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartConductor.c +73 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartHardware.c +66 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartModel.c +73 -0
- data/examples/temp_sensor/build/test/preprocess/files/TimerConductor.h +12 -0
- data/examples/temp_sensor/build/test/preprocess/files/TimerConfigurator.h +24 -0
- data/examples/temp_sensor/build/test/preprocess/files/TimerHardware.h +10 -0
- data/examples/temp_sensor/build/test/preprocess/files/TimerInterruptHandler.h +14 -0
- data/examples/temp_sensor/build/test/preprocess/files/TimerModel.h +10 -0
- data/examples/temp_sensor/build/test/preprocess/files/UsartBaudRateRegisterCalculator.h +10 -0
- data/examples/temp_sensor/build/test/preprocess/files/UsartConductor.h +9 -0
- data/examples/temp_sensor/build/test/preprocess/files/UsartConfigurator.h +20 -0
- data/examples/temp_sensor/build/test/preprocess/files/UsartHardware.h +12 -0
- data/examples/temp_sensor/build/test/preprocess/files/UsartModel.h +14 -0
- data/examples/temp_sensor/build/test/preprocess/files/UsartPutChar.h +10 -0
- data/examples/temp_sensor/build/test/preprocess/includes/AdcConductor.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/AdcHardware.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/AdcHardwareConfigurator.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/AdcModel.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/AdcTemperatureSensor.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/Executor.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/IntrinsicsWrapper.h +1 -0
- data/examples/temp_sensor/build/test/preprocess/includes/Model.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TaskScheduler.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TemperatureCalculator.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TemperatureFilter.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TestAdcConductor.c +7 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TestAdcHardware.c +6 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TestAdcModel.c +7 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TestExecutor.c +9 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TestMain.c +5 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TestModel.c +6 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TestTaskScheduler.c +4 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TestTemperatureCalculator.c +4 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TestTemperatureFilter.c +4 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerConductor.c +7 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerHardware.c +5 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerModel.c +5 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartBaudRateRegisterCalculator.c +4 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartConductor.c +7 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartHardware.c +6 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartModel.c +7 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TimerConductor.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TimerConfigurator.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TimerHardware.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TimerInterruptHandler.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/TimerModel.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/UsartBaudRateRegisterCalculator.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/UsartConductor.h +1 -0
- data/examples/temp_sensor/build/test/preprocess/includes/UsartConfigurator.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/UsartHardware.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/UsartModel.h +2 -0
- data/examples/temp_sensor/build/test/preprocess/includes/UsartPutChar.h +2 -0
- data/examples/temp_sensor/build/test/results/TestAdcConductor.pass +46 -0
- data/examples/temp_sensor/build/test/results/TestAdcHardware.pass +30 -0
- data/examples/temp_sensor/build/test/results/TestAdcModel.pass +26 -0
- data/examples/temp_sensor/build/test/results/TestExecutor.pass +22 -0
- data/examples/temp_sensor/build/test/results/TestMain.pass +18 -0
- data/examples/temp_sensor/build/test/results/TestModel.pass +18 -0
- data/examples/temp_sensor/build/test/results/TestTaskScheduler.pass +46 -0
- data/examples/temp_sensor/build/test/results/TestTemperatureCalculator.pass +22 -0
- data/examples/temp_sensor/build/test/results/TestTemperatureFilter.pass +30 -0
- data/examples/temp_sensor/build/test/results/TestTimerConductor.pass +22 -0
- data/examples/temp_sensor/build/test/results/TestTimerHardware.pass +18 -0
- data/examples/temp_sensor/build/test/results/TestTimerModel.pass +18 -0
- data/examples/temp_sensor/build/test/results/TestUsartBaudRateRegisterCalculator.pass +18 -0
- data/examples/temp_sensor/build/test/results/TestUsartConductor.pass +26 -0
- data/examples/temp_sensor/build/test/results/TestUsartHardware.pass +22 -0
- data/examples/temp_sensor/build/test/results/TestUsartModel.pass +30 -0
- data/examples/temp_sensor/build/test/runners/TestAdcConductor_runner.c +105 -0
- data/examples/temp_sensor/build/test/runners/TestAdcHardware_runner.c +97 -0
- data/examples/temp_sensor/build/test/runners/TestAdcModel_runner.c +99 -0
- data/examples/temp_sensor/build/test/runners/TestExecutor_runner.c +105 -0
- data/examples/temp_sensor/build/test/runners/TestMain_runner.c +87 -0
- data/examples/temp_sensor/build/test/runners/TestModel_runner.c +91 -0
- data/examples/temp_sensor/build/test/runners/TestTaskScheduler_runner.c +95 -0
- data/examples/temp_sensor/build/test/runners/TestTemperatureCalculator_runner.c +83 -0
- data/examples/temp_sensor/build/test/runners/TestTemperatureFilter_runner.c +87 -0
- data/examples/temp_sensor/build/test/runners/TestTimerConductor_runner.c +97 -0
- data/examples/temp_sensor/build/test/runners/TestTimerHardware_runner.c +87 -0
- data/examples/temp_sensor/build/test/runners/TestTimerModel_runner.c +87 -0
- data/examples/temp_sensor/build/test/runners/TestUsartBaudRateRegisterCalculator_runner.c +81 -0
- data/examples/temp_sensor/build/test/runners/TestUsartConductor_runner.c +99 -0
- data/examples/temp_sensor/build/test/runners/TestUsartHardware_runner.c +93 -0
- data/examples/temp_sensor/build/test/runners/TestUsartModel_runner.c +97 -0
- data/examples/temp_sensor/project.yml +3 -1
- data/lib/ceedling/configurator.rb +6 -1
- data/lib/ceedling/configurator_builder.rb +18 -6
- data/lib/ceedling/configurator_setup.rb +1 -0
- data/lib/ceedling/constants.rb +1 -1
- data/lib/ceedling/defaults.rb +23 -0
- data/lib/ceedling/objects.yml +2 -0
- data/lib/ceedling/preprocessinator.rb +17 -8
- data/lib/ceedling/preprocessinator_extractor.rb +23 -0
- data/lib/ceedling/preprocessinator_file_handler.rb +13 -0
- data/lib/ceedling/preprocessinator_includes_handler.rb +61 -53
- data/lib/ceedling/project_config_manager.rb +2 -2
- data/lib/ceedling/rakefile.rb +0 -1
- data/lib/ceedling/rules_tests.rake +1 -1
- data/lib/ceedling/setupinator.rb +1 -1
- data/lib/ceedling/tasks_tests.rake +8 -6
- data/lib/ceedling/test_invoker.rb +1 -0
- data/lib/ceedling/version.rb +1 -1
- data/out.fail +24 -0
- data/plugins/bullseye/bullseye.rake +5 -5
- data/plugins/dependencies/README.md +1 -1
- data/plugins/dependencies/dependencies.rake +3 -0
- data/plugins/dependencies/lib/dependencies.rb +9 -3
- data/plugins/gcov/README.md +21 -0
- data/plugins/gcov/config/defaults.yml +4 -0
- data/plugins/gcov/gcov.rake +5 -5
- data/plugins/gcov/lib/gcov.rb +8 -5
- data/plugins/gcov/lib/gcovr_reportinator.rb +2 -2
- data/plugins/gcov/lib/reportgenerator_reportinator.rb +45 -3
- data/spec/gcov/gcov_deployment_spec.rb +1 -0
- data/spec/gcov/gcov_test_cases_spec.rb +71 -2
- data/spec/preprocessinator_extractor_spec.rb +36 -0
- data/spec/preprocessinator_includes_handler_spec.rb +70 -19
- data/spec/spec_helper.rb +0 -1
- data/spec/spec_system_helper.rb +119 -79
- data/spec/system/deployment_spec.rb +30 -0
- data/vendor/c_exception/README.md +4 -6
- data/vendor/c_exception/docs/CException.md +2 -2
- data/vendor/c_exception/lib/CException.h +1 -1
- data/vendor/c_exception/lib/meson.build +2 -2
- data/vendor/c_exception/meson.build +2 -36
- data/vendor/cmock/README.md +9 -4
- data/vendor/cmock/docs/CMock_Summary.md +26 -1
- data/vendor/cmock/lib/cmock.rb +16 -9
- data/vendor/cmock/lib/cmock_config.rb +1 -0
- data/vendor/cmock/lib/cmock_generator.rb +27 -9
- data/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +1 -0
- data/vendor/cmock/lib/cmock_generator_plugin_ignore_stateless.rb +85 -0
- data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +4 -4
- data/vendor/cmock/lib/cmock_generator_utils.rb +6 -3
- data/vendor/cmock/lib/cmock_header_parser.rb +40 -14
- data/vendor/cmock/meson.build +1 -37
- data/vendor/cmock/src/cmock.h +13 -7
- data/vendor/cmock/src/meson.build +1 -1
- data/vendor/cmock/test/system/test_interactions/ignore_and_return_stateless.yml +325 -0
- data/vendor/cmock/test/unit/cmock_generator_main_test.rb +3 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +12 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_stateless_test.rb +116 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +4 -4
- data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +14 -9
- data/vendor/cmock/test/unit/cmock_header_parser_test.rb +129 -3
- data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +2 -1
- data/vendor/cmock/vendor/c_exception/README.md +4 -6
- data/vendor/cmock/vendor/c_exception/docs/CException.md +2 -2
- data/vendor/cmock/vendor/c_exception/lib/CException.h +1 -1
- data/vendor/cmock/vendor/c_exception/lib/meson.build +2 -2
- data/vendor/cmock/vendor/c_exception/meson.build +2 -36
- data/vendor/cmock/vendor/unity/CMakeLists.txt +32 -6
- data/vendor/cmock/vendor/unity/LICENSE.txt +1 -1
- data/vendor/cmock/vendor/unity/README.md +13 -4
- data/vendor/cmock/vendor/unity/auto/generate_module.rb +11 -10
- data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +2 -2
- data/vendor/cmock/vendor/unity/auto/run_test.erb +1 -1
- data/vendor/cmock/vendor/unity/meson.build +1 -35
- data/vendor/cmock/vendor/unity/src/meson.build +1 -1
- data/vendor/cmock/vendor/unity/src/unity.c +5 -4
- data/vendor/cmock/vendor/unity/src/unity.h +6 -6
- data/vendor/cmock/vendor/unity/src/unity_internals.h +15 -6
- data/vendor/cmock/vendor/unity/test/Makefile +1 -0
- data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +2 -2
- data/vendor/unity/CMakeLists.txt +32 -6
- data/vendor/unity/LICENSE.txt +1 -1
- data/vendor/unity/README.md +13 -4
- data/vendor/unity/auto/generate_module.rb +11 -10
- data/vendor/unity/auto/generate_test_runner.rb +2 -2
- data/vendor/unity/auto/run_test.erb +1 -1
- data/vendor/unity/meson.build +1 -35
- data/vendor/unity/src/meson.build +1 -1
- data/vendor/unity/src/unity.c +5 -4
- data/vendor/unity/src/unity.h +6 -6
- data/vendor/unity/src/unity_internals.h +15 -6
- data/vendor/unity/test/Makefile +1 -0
- data/vendor/unity/test/rakefile_helper.rb +2 -2
- metadata +409 -271
- data/assets/project_with_guts_gcov_abortonuncovered.yml +0 -93
- data/examples/temp_sensor/rakefile.rb +0 -6
- data/vendor/c_exception/vendor/unity/README.md +0 -220
- data/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +0 -118
- data/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +0 -39
- data/vendor/c_exception/vendor/unity/auto/generate_config.yml +0 -36
- data/vendor/c_exception/vendor/unity/auto/generate_module.rb +0 -308
- data/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +0 -437
- data/vendor/c_exception/vendor/unity/auto/parse_output.rb +0 -220
- data/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +0 -252
- data/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +0 -25
- data/vendor/c_exception/vendor/unity/auto/type_sanitizer.rb +0 -6
- data/vendor/c_exception/vendor/unity/auto/unity_test_summary.py +0 -139
- data/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +0 -136
- data/vendor/c_exception/vendor/unity/auto/unity_to_junit.py +0 -146
- data/vendor/c_exception/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +0 -207
- data/vendor/c_exception/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
- data/vendor/c_exception/vendor/unity/docs/UnityAssertionsReference.md +0 -716
- data/vendor/c_exception/vendor/unity/docs/UnityConfigurationGuide.md +0 -398
- data/vendor/c_exception/vendor/unity/docs/UnityGettingStartedGuide.md +0 -191
- data/vendor/c_exception/vendor/unity/docs/UnityHelperScriptsGuide.md +0 -242
- data/vendor/c_exception/vendor/unity/docs/license.txt +0 -21
- data/vendor/c_exception/vendor/unity/examples/example_1/makefile +0 -71
- data/vendor/c_exception/vendor/unity/examples/example_1/readme.txt +0 -5
- data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.c +0 -24
- data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.h +0 -3
- data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +0 -11
- data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.h +0 -2
- data/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode.c +0 -62
- data/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode2.c +0 -31
- data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +0 -53
- data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +0 -57
- data/vendor/c_exception/vendor/unity/examples/example_2/makefile +0 -70
- data/vendor/c_exception/vendor/unity/examples/example_2/readme.txt +0 -5
- data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.c +0 -24
- data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.h +0 -3
- data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.c +0 -11
- data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.h +0 -2
- data/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode.c +0 -64
- data/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode2.c +0 -33
- data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +0 -9
- data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +0 -11
- data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/all_tests.c +0 -12
- data/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.c +0 -10
- data/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.h +0 -12
- data/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +0 -43
- data/vendor/c_exception/vendor/unity/examples/example_3/rakefile_helper.rb +0 -249
- data/vendor/c_exception/vendor/unity/examples/example_3/readme.txt +0 -13
- data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.c +0 -24
- data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.h +0 -3
- data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.c +0 -11
- data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.h +0 -2
- data/vendor/c_exception/vendor/unity/examples/example_3/target_gcc_32.yml +0 -46
- data/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode.c +0 -62
- data/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode2.c +0 -31
- data/vendor/c_exception/vendor/unity/examples/unity_config.h +0 -237
- data/vendor/c_exception/vendor/unity/extras/eclipse/error_parsers.txt +0 -26
- data/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +0 -48
- data/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +0 -178
- data/vendor/c_exception/vendor/unity/extras/fixture/readme.txt +0 -9
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +0 -432
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +0 -83
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +0 -51
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +0 -47
- data/vendor/c_exception/vendor/unity/extras/fixture/test/Makefile +0 -74
- data/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +0 -22
- data/vendor/c_exception/vendor/unity/extras/fixture/test/template_fixture_tests.c +0 -39
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +0 -543
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +0 -57
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +0 -57
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +0 -17
- data/vendor/c_exception/vendor/unity/release/build.info +0 -2
- data/vendor/c_exception/vendor/unity/release/version.info +0 -2
- data/vendor/c_exception/vendor/unity/src/unity.c +0 -1517
- data/vendor/c_exception/vendor/unity/src/unity.h +0 -339
- data/vendor/c_exception/vendor/unity/src/unity_internals.h +0 -784
- data/vendor/c_exception/vendor/unity/test/Makefile +0 -63
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +0 -61
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +0 -57
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.c +0 -55
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.h +0 -15
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +0 -80
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +0 -76
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.c +0 -75
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.h +0 -13
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +0 -89
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +0 -89
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +0 -77
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +0 -89
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +0 -89
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +0 -90
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +0 -67
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +0 -70
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +0 -58
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +0 -67
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +0 -70
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +0 -71
- data/vendor/c_exception/vendor/unity/test/rakefile +0 -125
- data/vendor/c_exception/vendor/unity/test/rakefile_helper.rb +0 -260
- data/vendor/c_exception/vendor/unity/test/spec/generate_module_existing_file_spec.rb +0 -158
- data/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +0 -78
- data/vendor/c_exception/vendor/unity/test/targets/clang_strict.yml +0 -78
- data/vendor/c_exception/vendor/unity/test/targets/gcc_32.yml +0 -49
- data/vendor/c_exception/vendor/unity/test/targets/gcc_64.yml +0 -50
- data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_limits.yml +0 -47
- data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -59
- data/vendor/c_exception/vendor/unity/test/targets/gcc_manual_math.yml +0 -47
- data/vendor/c_exception/vendor/unity/test/targets/hitech_picc18.yml +0 -101
- data/vendor/c_exception/vendor/unity/test/targets/iar_arm_v4.yml +0 -90
- data/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5.yml +0 -80
- data/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -80
- data/vendor/c_exception/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -94
- data/vendor/c_exception/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -84
- data/vendor/c_exception/vendor/unity/test/targets/iar_msp430.yml +0 -95
- data/vendor/c_exception/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -86
- data/vendor/c_exception/vendor/unity/test/testdata/CException.h +0 -11
- data/vendor/c_exception/vendor/unity/test/testdata/Defs.h +0 -8
- data/vendor/c_exception/vendor/unity/test/testdata/cmock.h +0 -14
- data/vendor/c_exception/vendor/unity/test/testdata/mockMock.h +0 -13
- data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGenerator.c +0 -183
- data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +0 -67
- data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +0 -192
- data/vendor/c_exception/vendor/unity/test/tests/test_generate_test_runner.rb +0 -1252
- data/vendor/c_exception/vendor/unity/test/tests/testparameterized.c +0 -110
- data/vendor/c_exception/vendor/unity/test/tests/testunity.c +0 -4993
- data/vendor/cmock/vendor/c_exception/vendor/unity/README.md +0 -220
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +0 -118
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +0 -39
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_config.yml +0 -36
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_module.rb +0 -308
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +0 -437
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/parse_output.rb +0 -220
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +0 -252
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +0 -25
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/type_sanitizer.rb +0 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.py +0 -139
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +0 -136
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_to_junit.py +0 -146
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +0 -207
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityAssertionsReference.md +0 -716
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityConfigurationGuide.md +0 -398
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityGettingStartedGuide.md +0 -191
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityHelperScriptsGuide.md +0 -242
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/license.txt +0 -21
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/makefile +0 -71
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/readme.txt +0 -5
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.c +0 -24
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.h +0 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +0 -11
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.h +0 -2
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode.c +0 -62
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode2.c +0 -31
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +0 -53
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +0 -57
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/makefile +0 -70
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/readme.txt +0 -5
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.c +0 -24
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.h +0 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.c +0 -11
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.h +0 -2
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode.c +0 -64
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode2.c +0 -33
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +0 -9
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +0 -11
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/all_tests.c +0 -12
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.c +0 -10
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.h +0 -12
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +0 -43
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile_helper.rb +0 -249
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/readme.txt +0 -13
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.c +0 -24
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.h +0 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.c +0 -11
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.h +0 -2
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/target_gcc_32.yml +0 -46
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode.c +0 -62
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode2.c +0 -31
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/unity_config.h +0 -237
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/eclipse/error_parsers.txt +0 -26
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +0 -48
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +0 -178
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/readme.txt +0 -9
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +0 -432
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +0 -83
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +0 -51
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +0 -47
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/Makefile +0 -74
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +0 -22
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/template_fixture_tests.c +0 -39
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +0 -543
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +0 -57
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +0 -57
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +0 -17
- data/vendor/cmock/vendor/c_exception/vendor/unity/release/build.info +0 -2
- data/vendor/cmock/vendor/c_exception/vendor/unity/release/version.info +0 -2
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.c +0 -1517
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.h +0 -339
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity_internals.h +0 -784
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/Makefile +0 -63
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +0 -61
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +0 -57
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.c +0 -55
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.h +0 -15
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +0 -80
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +0 -76
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.c +0 -75
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.h +0 -13
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +0 -89
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +0 -89
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +0 -77
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +0 -89
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +0 -89
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +0 -90
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +0 -67
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +0 -70
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +0 -58
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +0 -67
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +0 -70
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +0 -71
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/rakefile +0 -125
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/rakefile_helper.rb +0 -260
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/spec/generate_module_existing_file_spec.rb +0 -158
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +0 -78
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/clang_strict.yml +0 -78
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_32.yml +0 -49
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_64.yml +0 -50
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_limits.yml +0 -47
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -59
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_manual_math.yml +0 -47
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/hitech_picc18.yml +0 -101
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_arm_v4.yml +0 -90
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5.yml +0 -80
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -80
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -94
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -84
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_msp430.yml +0 -95
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -86
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/CException.h +0 -11
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/Defs.h +0 -8
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/cmock.h +0 -14
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/mockMock.h +0 -13
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGenerator.c +0 -183
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +0 -67
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +0 -192
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/test_generate_test_runner.rb +0 -1252
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/testparameterized.c +0 -110
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/testunity.c +0 -4993
- data/vendor/deep_merge/MIT-LICENSE +0 -20
- data/vendor/deep_merge/README +0 -94
- data/vendor/deep_merge/Rakefile +0 -28
- data/vendor/deep_merge/lib/deep_merge.rb +0 -211
- data/vendor/deep_merge/pkg/deep_merge-0.1.0.gem +0 -0
- data/vendor/deep_merge/test/test_deep_merge.rb +0 -553
@@ -1,437 +0,0 @@
|
|
1
|
-
# ==========================================
|
2
|
-
# Unity Project - A Test Framework for C
|
3
|
-
# Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
|
4
|
-
# [Released under MIT License. Please refer to license.txt for details]
|
5
|
-
# ==========================================
|
6
|
-
|
7
|
-
File.expand_path(File.join(File.dirname(__FILE__), 'colour_prompt'))
|
8
|
-
|
9
|
-
class UnityTestRunnerGenerator
|
10
|
-
def initialize(options = nil)
|
11
|
-
@options = UnityTestRunnerGenerator.default_options
|
12
|
-
case options
|
13
|
-
when NilClass then @options
|
14
|
-
when String then @options.merge!(UnityTestRunnerGenerator.grab_config(options))
|
15
|
-
when Hash then @options.merge!(options)
|
16
|
-
else raise 'If you specify arguments, it should be a filename or a hash of options'
|
17
|
-
end
|
18
|
-
require "#{File.expand_path(File.dirname(__FILE__))}/type_sanitizer"
|
19
|
-
end
|
20
|
-
|
21
|
-
def self.default_options
|
22
|
-
{
|
23
|
-
includes: [],
|
24
|
-
defines: [],
|
25
|
-
plugins: [],
|
26
|
-
framework: :unity,
|
27
|
-
test_prefix: 'test|spec|should',
|
28
|
-
mock_prefix: 'Mock',
|
29
|
-
setup_name: 'setUp',
|
30
|
-
teardown_name: 'tearDown',
|
31
|
-
main_name: 'main', # set to :auto to automatically generate each time
|
32
|
-
main_export_decl: '',
|
33
|
-
cmdline_args: false,
|
34
|
-
use_param_tests: false
|
35
|
-
}
|
36
|
-
end
|
37
|
-
|
38
|
-
def self.grab_config(config_file)
|
39
|
-
options = default_options
|
40
|
-
unless config_file.nil? || config_file.empty?
|
41
|
-
require 'yaml'
|
42
|
-
yaml_guts = YAML.load_file(config_file)
|
43
|
-
options.merge!(yaml_guts[:unity] || yaml_guts[:cmock])
|
44
|
-
raise "No :unity or :cmock section found in #{config_file}" unless options
|
45
|
-
end
|
46
|
-
options
|
47
|
-
end
|
48
|
-
|
49
|
-
def run(input_file, output_file, options = nil)
|
50
|
-
@options.merge!(options) unless options.nil?
|
51
|
-
|
52
|
-
# pull required data from source file
|
53
|
-
source = File.read(input_file)
|
54
|
-
source = source.force_encoding('ISO-8859-1').encode('utf-8', replace: nil)
|
55
|
-
tests = find_tests(source)
|
56
|
-
headers = find_includes(source)
|
57
|
-
testfile_includes = (headers[:local] + headers[:system])
|
58
|
-
used_mocks = find_mocks(testfile_includes)
|
59
|
-
testfile_includes = (testfile_includes - used_mocks)
|
60
|
-
testfile_includes.delete_if { |inc| inc =~ /(unity|cmock)/ }
|
61
|
-
|
62
|
-
# build runner file
|
63
|
-
generate(input_file, output_file, tests, used_mocks, testfile_includes)
|
64
|
-
|
65
|
-
# determine which files were used to return them
|
66
|
-
all_files_used = [input_file, output_file]
|
67
|
-
all_files_used += testfile_includes.map { |filename| filename + '.c' } unless testfile_includes.empty?
|
68
|
-
all_files_used += @options[:includes] unless @options[:includes].empty?
|
69
|
-
all_files_used += headers[:linkonly] unless headers[:linkonly].empty?
|
70
|
-
all_files_used.uniq
|
71
|
-
end
|
72
|
-
|
73
|
-
def generate(input_file, output_file, tests, used_mocks, testfile_includes)
|
74
|
-
File.open(output_file, 'w') do |output|
|
75
|
-
create_header(output, used_mocks, testfile_includes)
|
76
|
-
create_externs(output, tests, used_mocks)
|
77
|
-
create_mock_management(output, used_mocks)
|
78
|
-
create_suite_setup(output)
|
79
|
-
create_suite_teardown(output)
|
80
|
-
create_reset(output, used_mocks)
|
81
|
-
create_main(output, input_file, tests, used_mocks)
|
82
|
-
end
|
83
|
-
|
84
|
-
return unless @options[:header_file] && !@options[:header_file].empty?
|
85
|
-
|
86
|
-
File.open(@options[:header_file], 'w') do |output|
|
87
|
-
create_h_file(output, @options[:header_file], tests, testfile_includes, used_mocks)
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
def find_tests(source)
|
92
|
-
tests_and_line_numbers = []
|
93
|
-
|
94
|
-
source_scrubbed = source.clone
|
95
|
-
source_scrubbed = source_scrubbed.gsub(/"[^"\n]*"/, '') # remove things in strings
|
96
|
-
source_scrubbed = source_scrubbed.gsub(/\/\/.*$/, '') # remove line comments
|
97
|
-
source_scrubbed = source_scrubbed.gsub(/\/\*.*?\*\//m, '') # remove block comments
|
98
|
-
lines = source_scrubbed.split(/(^\s*\#.*$) # Treat preprocessor directives as a logical line
|
99
|
-
| (;|\{|\}) /x) # Match ;, {, and } as end of lines
|
100
|
-
|
101
|
-
lines.each_with_index do |line, _index|
|
102
|
-
# find tests
|
103
|
-
next unless line =~ /^((?:\s*TEST_CASE\s*\(.*?\)\s*)*)\s*void\s+((?:#{@options[:test_prefix]}).*)\s*\(\s*(.*)\s*\)/
|
104
|
-
arguments = Regexp.last_match(1)
|
105
|
-
name = Regexp.last_match(2)
|
106
|
-
call = Regexp.last_match(3)
|
107
|
-
params = Regexp.last_match(4)
|
108
|
-
args = nil
|
109
|
-
if @options[:use_param_tests] && !arguments.empty?
|
110
|
-
args = []
|
111
|
-
arguments.scan(/\s*TEST_CASE\s*\((.*)\)\s*$/) { |a| args << a[0] }
|
112
|
-
end
|
113
|
-
tests_and_line_numbers << { test: name, args: args, call: call, params: params, line_number: 0 }
|
114
|
-
end
|
115
|
-
tests_and_line_numbers.uniq! { |v| v[:test] }
|
116
|
-
|
117
|
-
# determine line numbers and create tests to run
|
118
|
-
source_lines = source.split("\n")
|
119
|
-
source_index = 0
|
120
|
-
tests_and_line_numbers.size.times do |i|
|
121
|
-
source_lines[source_index..-1].each_with_index do |line, index|
|
122
|
-
next unless line =~ /#{tests_and_line_numbers[i][:test]}/
|
123
|
-
source_index += index
|
124
|
-
tests_and_line_numbers[i][:line_number] = source_index + 1
|
125
|
-
break
|
126
|
-
end
|
127
|
-
end
|
128
|
-
|
129
|
-
tests_and_line_numbers
|
130
|
-
end
|
131
|
-
|
132
|
-
def find_includes(source)
|
133
|
-
# remove comments (block and line, in three steps to ensure correct precedence)
|
134
|
-
source.gsub!(/\/\/(?:.+\/\*|\*(?:$|[^\/])).*$/, '') # remove line comments that comment out the start of blocks
|
135
|
-
source.gsub!(/\/\*.*?\*\//m, '') # remove block comments
|
136
|
-
source.gsub!(/\/\/.*$/, '') # remove line comments (all that remain)
|
137
|
-
|
138
|
-
# parse out includes
|
139
|
-
includes = {
|
140
|
-
local: source.scan(/^\s*#include\s+\"\s*(.+)\.[hH]\s*\"/).flatten,
|
141
|
-
system: source.scan(/^\s*#include\s+<\s*(.+)\s*>/).flatten.map { |inc| "<#{inc}>" },
|
142
|
-
linkonly: source.scan(/^TEST_FILE\(\s*\"\s*(.+)\.[cC]\w*\s*\"/).flatten
|
143
|
-
}
|
144
|
-
includes
|
145
|
-
end
|
146
|
-
|
147
|
-
def find_mocks(includes)
|
148
|
-
mock_headers = []
|
149
|
-
includes.each do |include_path|
|
150
|
-
include_file = File.basename(include_path)
|
151
|
-
mock_headers << include_path if include_file =~ /^#{@options[:mock_prefix]}/i
|
152
|
-
end
|
153
|
-
mock_headers
|
154
|
-
end
|
155
|
-
|
156
|
-
def create_header(output, mocks, testfile_includes = [])
|
157
|
-
output.puts('/* AUTOGENERATED FILE. DO NOT EDIT. */')
|
158
|
-
create_runtest(output, mocks)
|
159
|
-
output.puts("\n/*=======Automagically Detected Files To Include=====*/")
|
160
|
-
output.puts("#include \"#{@options[:framework]}.h\"")
|
161
|
-
output.puts('#include "cmock.h"') unless mocks.empty?
|
162
|
-
output.puts('#include <setjmp.h>')
|
163
|
-
output.puts('#include <stdio.h>')
|
164
|
-
if @options[:defines] && !@options[:defines].empty?
|
165
|
-
@options[:defines].each { |d| output.puts("#define #{d}") }
|
166
|
-
end
|
167
|
-
if @options[:header_file] && !@options[:header_file].empty?
|
168
|
-
output.puts("#include \"#{File.basename(@options[:header_file])}\"")
|
169
|
-
else
|
170
|
-
@options[:includes].flatten.uniq.compact.each do |inc|
|
171
|
-
output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h', '')}.h\""}")
|
172
|
-
end
|
173
|
-
testfile_includes.each do |inc|
|
174
|
-
output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h', '')}.h\""}")
|
175
|
-
end
|
176
|
-
end
|
177
|
-
mocks.each do |mock|
|
178
|
-
output.puts("#include \"#{mock.gsub('.h', '')}.h\"")
|
179
|
-
end
|
180
|
-
output.puts('#include "CException.h"') if @options[:plugins].include?(:cexception)
|
181
|
-
|
182
|
-
return unless @options[:enforce_strict_ordering]
|
183
|
-
|
184
|
-
output.puts('')
|
185
|
-
output.puts('int GlobalExpectCount;')
|
186
|
-
output.puts('int GlobalVerifyOrder;')
|
187
|
-
output.puts('char* GlobalOrderError;')
|
188
|
-
end
|
189
|
-
|
190
|
-
def create_externs(output, tests, _mocks)
|
191
|
-
output.puts("\n/*=======External Functions This Runner Calls=====*/")
|
192
|
-
output.puts("extern void #{@options[:setup_name]}(void);")
|
193
|
-
output.puts("extern void #{@options[:teardown_name]}(void);")
|
194
|
-
tests.each do |test|
|
195
|
-
output.puts("extern void #{test[:test]}(#{test[:call] || 'void'});")
|
196
|
-
end
|
197
|
-
output.puts('')
|
198
|
-
end
|
199
|
-
|
200
|
-
def create_mock_management(output, mock_headers)
|
201
|
-
return if mock_headers.empty?
|
202
|
-
|
203
|
-
output.puts("\n/*=======Mock Management=====*/")
|
204
|
-
output.puts('static void CMock_Init(void)')
|
205
|
-
output.puts('{')
|
206
|
-
|
207
|
-
if @options[:enforce_strict_ordering]
|
208
|
-
output.puts(' GlobalExpectCount = 0;')
|
209
|
-
output.puts(' GlobalVerifyOrder = 0;')
|
210
|
-
output.puts(' GlobalOrderError = NULL;')
|
211
|
-
end
|
212
|
-
|
213
|
-
mocks = mock_headers.map { |mock| File.basename(mock) }
|
214
|
-
mocks.each do |mock|
|
215
|
-
mock_clean = TypeSanitizer.sanitize_c_identifier(mock)
|
216
|
-
output.puts(" #{mock_clean}_Init();")
|
217
|
-
end
|
218
|
-
output.puts("}\n")
|
219
|
-
|
220
|
-
output.puts('static void CMock_Verify(void)')
|
221
|
-
output.puts('{')
|
222
|
-
mocks.each do |mock|
|
223
|
-
mock_clean = TypeSanitizer.sanitize_c_identifier(mock)
|
224
|
-
output.puts(" #{mock_clean}_Verify();")
|
225
|
-
end
|
226
|
-
output.puts("}\n")
|
227
|
-
|
228
|
-
output.puts('static void CMock_Destroy(void)')
|
229
|
-
output.puts('{')
|
230
|
-
mocks.each do |mock|
|
231
|
-
mock_clean = TypeSanitizer.sanitize_c_identifier(mock)
|
232
|
-
output.puts(" #{mock_clean}_Destroy();")
|
233
|
-
end
|
234
|
-
output.puts("}\n")
|
235
|
-
end
|
236
|
-
|
237
|
-
def create_suite_setup(output)
|
238
|
-
return if @options[:suite_setup].nil?
|
239
|
-
|
240
|
-
output.puts("\n/*=======Suite Setup=====*/")
|
241
|
-
output.puts('static void suite_setup(void)')
|
242
|
-
output.puts('{')
|
243
|
-
output.puts(@options[:suite_setup])
|
244
|
-
output.puts('}')
|
245
|
-
end
|
246
|
-
|
247
|
-
def create_suite_teardown(output)
|
248
|
-
return if @options[:suite_teardown].nil?
|
249
|
-
|
250
|
-
output.puts("\n/*=======Suite Teardown=====*/")
|
251
|
-
output.puts('static int suite_teardown(int num_failures)')
|
252
|
-
output.puts('{')
|
253
|
-
output.puts(@options[:suite_teardown])
|
254
|
-
output.puts('}')
|
255
|
-
end
|
256
|
-
|
257
|
-
def create_runtest(output, used_mocks)
|
258
|
-
cexception = @options[:plugins].include? :cexception
|
259
|
-
va_args1 = @options[:use_param_tests] ? ', ...' : ''
|
260
|
-
va_args2 = @options[:use_param_tests] ? '__VA_ARGS__' : ''
|
261
|
-
output.puts("\n/*=======Test Runner Used To Run Each Test Below=====*/")
|
262
|
-
output.puts('#define RUN_TEST_NO_ARGS') if @options[:use_param_tests]
|
263
|
-
output.puts("#define RUN_TEST(TestFunc, TestLineNum#{va_args1}) \\")
|
264
|
-
output.puts('{ \\')
|
265
|
-
output.puts(" Unity.CurrentTestName = #TestFunc#{va_args2.empty? ? '' : " \"(\" ##{va_args2} \")\""}; \\")
|
266
|
-
output.puts(' Unity.CurrentTestLineNumber = TestLineNum; \\')
|
267
|
-
output.puts(' if (UnityTestMatches()) { \\') if @options[:cmdline_args]
|
268
|
-
output.puts(' Unity.NumberOfTests++; \\')
|
269
|
-
output.puts(' CMock_Init(); \\') unless used_mocks.empty?
|
270
|
-
output.puts(' UNITY_CLR_DETAILS(); \\') unless used_mocks.empty?
|
271
|
-
output.puts(' if (TEST_PROTECT()) \\')
|
272
|
-
output.puts(' { \\')
|
273
|
-
output.puts(' CEXCEPTION_T e; \\') if cexception
|
274
|
-
output.puts(' Try { \\') if cexception
|
275
|
-
output.puts(" #{@options[:setup_name]}(); \\")
|
276
|
-
output.puts(" TestFunc(#{va_args2}); \\")
|
277
|
-
output.puts(' } Catch(e) { TEST_ASSERT_EQUAL_HEX32_MESSAGE(CEXCEPTION_NONE, e, "Unhandled Exception!"); } \\') if cexception
|
278
|
-
output.puts(' } \\')
|
279
|
-
output.puts(' if (TEST_PROTECT()) \\')
|
280
|
-
output.puts(' { \\')
|
281
|
-
output.puts(" #{@options[:teardown_name]}(); \\")
|
282
|
-
output.puts(' CMock_Verify(); \\') unless used_mocks.empty?
|
283
|
-
output.puts(' } \\')
|
284
|
-
output.puts(' CMock_Destroy(); \\') unless used_mocks.empty?
|
285
|
-
output.puts(' UnityConcludeTest(); \\')
|
286
|
-
output.puts(' } \\') if @options[:cmdline_args]
|
287
|
-
output.puts("}\n")
|
288
|
-
end
|
289
|
-
|
290
|
-
def create_reset(output, used_mocks)
|
291
|
-
output.puts("\n/*=======Test Reset Option=====*/")
|
292
|
-
output.puts('void resetTest(void);')
|
293
|
-
output.puts('void resetTest(void)')
|
294
|
-
output.puts('{')
|
295
|
-
output.puts(' CMock_Verify();') unless used_mocks.empty?
|
296
|
-
output.puts(' CMock_Destroy();') unless used_mocks.empty?
|
297
|
-
output.puts(" #{@options[:teardown_name]}();")
|
298
|
-
output.puts(' CMock_Init();') unless used_mocks.empty?
|
299
|
-
output.puts(" #{@options[:setup_name]}();")
|
300
|
-
output.puts('}')
|
301
|
-
end
|
302
|
-
|
303
|
-
def create_main(output, filename, tests, used_mocks)
|
304
|
-
output.puts("\n\n/*=======MAIN=====*/")
|
305
|
-
main_name = @options[:main_name].to_sym == :auto ? "main_#{filename.gsub('.c', '')}" : (@options[:main_name]).to_s
|
306
|
-
if @options[:cmdline_args]
|
307
|
-
if main_name != 'main'
|
308
|
-
output.puts("#{@options[:main_export_decl]} int #{main_name}(int argc, char** argv);")
|
309
|
-
end
|
310
|
-
output.puts("#{@options[:main_export_decl]} int #{main_name}(int argc, char** argv)")
|
311
|
-
output.puts('{')
|
312
|
-
output.puts(' int parse_status = UnityParseOptions(argc, argv);')
|
313
|
-
output.puts(' if (parse_status != 0)')
|
314
|
-
output.puts(' {')
|
315
|
-
output.puts(' if (parse_status < 0)')
|
316
|
-
output.puts(' {')
|
317
|
-
output.puts(" UnityPrint(\"#{filename.gsub('.c', '')}.\");")
|
318
|
-
output.puts(' UNITY_PRINT_EOL();')
|
319
|
-
if @options[:use_param_tests]
|
320
|
-
tests.each do |test|
|
321
|
-
if test[:args].nil? || test[:args].empty?
|
322
|
-
output.puts(" UnityPrint(\" #{test[:test]}(RUN_TEST_NO_ARGS)\");")
|
323
|
-
output.puts(' UNITY_PRINT_EOL();')
|
324
|
-
else
|
325
|
-
test[:args].each do |args|
|
326
|
-
output.puts(" UnityPrint(\" #{test[:test]}(#{args})\");")
|
327
|
-
output.puts(' UNITY_PRINT_EOL();')
|
328
|
-
end
|
329
|
-
end
|
330
|
-
end
|
331
|
-
else
|
332
|
-
tests.each { |test| output.puts(" UnityPrint(\" #{test[:test]}\");\n UNITY_PRINT_EOL();") }
|
333
|
-
end
|
334
|
-
output.puts(' return 0;')
|
335
|
-
output.puts(' }')
|
336
|
-
output.puts(' return parse_status;')
|
337
|
-
output.puts(' }')
|
338
|
-
else
|
339
|
-
if main_name != 'main'
|
340
|
-
output.puts("#{@options[:main_export_decl]} int #{main_name}(void);")
|
341
|
-
end
|
342
|
-
output.puts("int #{main_name}(void)")
|
343
|
-
output.puts('{')
|
344
|
-
end
|
345
|
-
output.puts(' suite_setup();') unless @options[:suite_setup].nil?
|
346
|
-
output.puts(" UnityBegin(\"#{filename.gsub(/\\/, '\\\\\\')}\");")
|
347
|
-
if @options[:use_param_tests]
|
348
|
-
tests.each do |test|
|
349
|
-
if test[:args].nil? || test[:args].empty?
|
350
|
-
output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]}, RUN_TEST_NO_ARGS);")
|
351
|
-
else
|
352
|
-
test[:args].each { |args| output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]}, #{args});") }
|
353
|
-
end
|
354
|
-
end
|
355
|
-
else
|
356
|
-
tests.each { |test| output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]});") }
|
357
|
-
end
|
358
|
-
output.puts
|
359
|
-
output.puts(' CMock_Guts_MemFreeFinal();') unless used_mocks.empty?
|
360
|
-
output.puts(" return #{@options[:suite_teardown].nil? ? '' : 'suite_teardown'}(UnityEnd());")
|
361
|
-
output.puts('}')
|
362
|
-
end
|
363
|
-
|
364
|
-
def create_h_file(output, filename, tests, testfile_includes, used_mocks)
|
365
|
-
filename = File.basename(filename).gsub(/[-\/\\\.\,\s]/, '_').upcase
|
366
|
-
output.puts('/* AUTOGENERATED FILE. DO NOT EDIT. */')
|
367
|
-
output.puts("#ifndef _#{filename}")
|
368
|
-
output.puts("#define _#{filename}\n\n")
|
369
|
-
output.puts("#include \"#{@options[:framework]}.h\"")
|
370
|
-
output.puts('#include "cmock.h"') unless used_mocks.empty?
|
371
|
-
@options[:includes].flatten.uniq.compact.each do |inc|
|
372
|
-
output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h', '')}.h\""}")
|
373
|
-
end
|
374
|
-
testfile_includes.each do |inc|
|
375
|
-
output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h', '')}.h\""}")
|
376
|
-
end
|
377
|
-
output.puts "\n"
|
378
|
-
tests.each do |test|
|
379
|
-
if test[:params].nil? || test[:params].empty?
|
380
|
-
output.puts("void #{test[:test]}(void);")
|
381
|
-
else
|
382
|
-
output.puts("void #{test[:test]}(#{test[:params]});")
|
383
|
-
end
|
384
|
-
end
|
385
|
-
output.puts("#endif\n\n")
|
386
|
-
end
|
387
|
-
end
|
388
|
-
|
389
|
-
if $0 == __FILE__
|
390
|
-
options = { includes: [] }
|
391
|
-
|
392
|
-
# parse out all the options first (these will all be removed as we go)
|
393
|
-
ARGV.reject! do |arg|
|
394
|
-
case arg
|
395
|
-
when '-cexception'
|
396
|
-
options[:plugins] = [:cexception]
|
397
|
-
true
|
398
|
-
when /\.*\.ya?ml/
|
399
|
-
options = UnityTestRunnerGenerator.grab_config(arg)
|
400
|
-
true
|
401
|
-
when /--(\w+)=\"?(.*)\"?/
|
402
|
-
options[Regexp.last_match(1).to_sym] = Regexp.last_match(2)
|
403
|
-
true
|
404
|
-
when /\.*\.h/
|
405
|
-
options[:includes] << arg
|
406
|
-
true
|
407
|
-
else false
|
408
|
-
end
|
409
|
-
end
|
410
|
-
|
411
|
-
# make sure there is at least one parameter left (the input file)
|
412
|
-
unless ARGV[0]
|
413
|
-
puts ["\nusage: ruby #{__FILE__} (files) (options) input_test_file (output)",
|
414
|
-
"\n input_test_file - this is the C file you want to create a runner for",
|
415
|
-
' output - this is the name of the runner file to generate',
|
416
|
-
' defaults to (input_test_file)_Runner',
|
417
|
-
' files:',
|
418
|
-
' *.yml / *.yaml - loads configuration from here in :unity or :cmock',
|
419
|
-
' *.h - header files are added as #includes in runner',
|
420
|
-
' options:',
|
421
|
-
' -cexception - include cexception support',
|
422
|
-
' --setup_name="" - redefine setUp func name to something else',
|
423
|
-
' --teardown_name="" - redefine tearDown func name to something else',
|
424
|
-
' --main_name="" - redefine main func name to something else',
|
425
|
-
' --test_prefix="" - redefine test prefix from default test|spec|should',
|
426
|
-
' --suite_setup="" - code to execute for setup of entire suite',
|
427
|
-
' --suite_teardown="" - code to execute for teardown of entire suite',
|
428
|
-
' --use_param_tests=1 - enable parameterized tests (disabled by default)',
|
429
|
-
' --header_file="" - path/name of test header file to generate too'].join("\n")
|
430
|
-
exit 1
|
431
|
-
end
|
432
|
-
|
433
|
-
# create the default test runner name if not specified
|
434
|
-
ARGV[1] = ARGV[0].gsub('.c', '_Runner.c') unless ARGV[1]
|
435
|
-
|
436
|
-
UnityTestRunnerGenerator.new(options).run(ARGV[0], ARGV[1])
|
437
|
-
end
|
@@ -1,220 +0,0 @@
|
|
1
|
-
#============================================================
|
2
|
-
# Author: John Theofanopoulos
|
3
|
-
# A simple parser. Takes the output files generated during the build process and
|
4
|
-
# extracts information relating to the tests.
|
5
|
-
#
|
6
|
-
# Notes:
|
7
|
-
# To capture an output file under VS builds use the following:
|
8
|
-
# devenv [build instructions] > Output.txt & type Output.txt
|
9
|
-
#
|
10
|
-
# To capture an output file under GCC/Linux builds use the following:
|
11
|
-
# make | tee Output.txt
|
12
|
-
#
|
13
|
-
# To use this parser use the following command
|
14
|
-
# ruby parseOutput.rb [options] [file]
|
15
|
-
# options: -xml : produce a JUnit compatible XML file
|
16
|
-
# file : file to scan for results
|
17
|
-
#============================================================
|
18
|
-
|
19
|
-
class ParseOutput
|
20
|
-
def initialize
|
21
|
-
@test_flag = false
|
22
|
-
@xml_out = false
|
23
|
-
@array_list = false
|
24
|
-
@total_tests = false
|
25
|
-
@class_index = false
|
26
|
-
end
|
27
|
-
|
28
|
-
# Set the flag to indicate if there will be an XML output file or not
|
29
|
-
def set_xml_output
|
30
|
-
@xml_out = true
|
31
|
-
end
|
32
|
-
|
33
|
-
# if write our output to XML
|
34
|
-
def write_xml_output
|
35
|
-
output = File.open('report.xml', 'w')
|
36
|
-
output << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
|
37
|
-
@array_list.each do |item|
|
38
|
-
output << item << "\n"
|
39
|
-
end
|
40
|
-
output << "</testsuite>\n"
|
41
|
-
end
|
42
|
-
|
43
|
-
# This function will try and determine when the suite is changed. This is
|
44
|
-
# is the name that gets added to the classname parameter.
|
45
|
-
def test_suite_verify(test_suite_name)
|
46
|
-
return if @test_flag
|
47
|
-
|
48
|
-
@test_flag = true
|
49
|
-
# Split the path name
|
50
|
-
test_name = test_suite_name.split('/')
|
51
|
-
# Remove the extension
|
52
|
-
base_name = test_name[test_name.size - 1].split('.')
|
53
|
-
@test_suite = 'test.' + base_name[0]
|
54
|
-
printf "New Test: %s\n", @test_suite
|
55
|
-
end
|
56
|
-
|
57
|
-
# Test was flagged as having passed so format the output
|
58
|
-
def test_passed(array)
|
59
|
-
last_item = array.length - 1
|
60
|
-
test_name = array[last_item - 1]
|
61
|
-
test_suite_verify(array[@class_name])
|
62
|
-
printf "%-40s PASS\n", test_name
|
63
|
-
|
64
|
-
return unless @xml_out
|
65
|
-
|
66
|
-
@array_list.push ' <testcase classname="' + @test_suite + '" name="' + test_name + '"/>'
|
67
|
-
end
|
68
|
-
|
69
|
-
# Test was flagged as having passed so format the output.
|
70
|
-
# This is using the Unity fixture output and not the original Unity output.
|
71
|
-
def test_passed_unity_fixture(array)
|
72
|
-
test_suite = array[0].sub('TEST(', '')
|
73
|
-
test_suite = test_suite.sub(',', '')
|
74
|
-
test_name = array[1].sub(')', '')
|
75
|
-
|
76
|
-
return unless @xml_out
|
77
|
-
|
78
|
-
@array_list.push ' <testcase classname="' + test_suite + '" name="' + test_name + '"/>'
|
79
|
-
end
|
80
|
-
|
81
|
-
# Test was flagged as being ingored so format the output
|
82
|
-
def test_ignored(array)
|
83
|
-
last_item = array.length - 1
|
84
|
-
test_name = array[last_item - 2]
|
85
|
-
reason = array[last_item].chomp
|
86
|
-
test_suite_verify(array[@class_name])
|
87
|
-
printf "%-40s IGNORED\n", test_name
|
88
|
-
|
89
|
-
if test_name.start_with? 'TEST('
|
90
|
-
array2 = test_name.split(' ')
|
91
|
-
@test_suite = array2[0].sub('TEST(', '')
|
92
|
-
@test_suite = @test_suite.sub(',', '')
|
93
|
-
test_name = array2[1].sub(')', '')
|
94
|
-
end
|
95
|
-
|
96
|
-
return unless @xml_out
|
97
|
-
|
98
|
-
@array_list.push ' <testcase classname="' + @test_suite + '" name="' + test_name + '">'
|
99
|
-
@array_list.push ' <skipped type="TEST IGNORED"> ' + reason + ' </skipped>'
|
100
|
-
@array_list.push ' </testcase>'
|
101
|
-
end
|
102
|
-
|
103
|
-
# Test was flagged as having failed so format the line
|
104
|
-
def test_failed(array)
|
105
|
-
last_item = array.length - 1
|
106
|
-
test_name = array[last_item - 2]
|
107
|
-
reason = array[last_item].chomp + ' at line: ' + array[last_item - 3]
|
108
|
-
test_suite_verify(array[@class_name])
|
109
|
-
printf "%-40s FAILED\n", test_name
|
110
|
-
|
111
|
-
if test_name.start_with? 'TEST('
|
112
|
-
array2 = test_name.split(' ')
|
113
|
-
@test_suite = array2[0].sub('TEST(', '')
|
114
|
-
@test_suite = @test_suite.sub(',', '')
|
115
|
-
test_name = array2[1].sub(')', '')
|
116
|
-
end
|
117
|
-
|
118
|
-
return unless @xml_out
|
119
|
-
|
120
|
-
@array_list.push ' <testcase classname="' + @test_suite + '" name="' + test_name + '">'
|
121
|
-
@array_list.push ' <failure type="ASSERT FAILED"> ' + reason + ' </failure>'
|
122
|
-
@array_list.push ' </testcase>'
|
123
|
-
end
|
124
|
-
|
125
|
-
# Figure out what OS we are running on. For now we are assuming if it's not Windows it must
|
126
|
-
# be Unix based.
|
127
|
-
def detect_os
|
128
|
-
os = RUBY_PLATFORM.split('-')
|
129
|
-
@class_name = if os.size == 2
|
130
|
-
if os[1] == 'mingw32'
|
131
|
-
1
|
132
|
-
else
|
133
|
-
0
|
134
|
-
end
|
135
|
-
else
|
136
|
-
0
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
# Main function used to parse the file that was captured.
|
141
|
-
def process(name)
|
142
|
-
@test_flag = false
|
143
|
-
@array_list = []
|
144
|
-
|
145
|
-
detect_os
|
146
|
-
|
147
|
-
puts 'Parsing file: ' + name
|
148
|
-
|
149
|
-
test_pass = 0
|
150
|
-
test_fail = 0
|
151
|
-
test_ignore = 0
|
152
|
-
puts ''
|
153
|
-
puts '=================== RESULTS ====================='
|
154
|
-
puts ''
|
155
|
-
File.open(name).each do |line|
|
156
|
-
# Typical test lines look like this:
|
157
|
-
# <path>/<test_file>.c:36:test_tc1000_opsys:FAIL: Expected 1 Was 0
|
158
|
-
# <path>/<test_file>.c:112:test_tc5004_initCanChannel:IGNORE: Not Yet Implemented
|
159
|
-
# <path>/<test_file>.c:115:test_tc5100_initCanVoidPtrs:PASS
|
160
|
-
#
|
161
|
-
# where path is different on Unix vs Windows devices (Windows leads with a drive letter)
|
162
|
-
line_array = line.split(':')
|
163
|
-
|
164
|
-
# If we were able to split the line then we can look to see if any of our target words
|
165
|
-
# were found. Case is important.
|
166
|
-
if (line_array.size >= 4) || (line.start_with? 'TEST(')
|
167
|
-
# Determine if this test passed
|
168
|
-
if line.include? ':PASS'
|
169
|
-
test_passed(line_array)
|
170
|
-
test_pass += 1
|
171
|
-
elsif line.include? ':FAIL:'
|
172
|
-
test_failed(line_array)
|
173
|
-
test_fail += 1
|
174
|
-
elsif line.include? ':IGNORE:'
|
175
|
-
test_ignored(line_array)
|
176
|
-
test_ignore += 1
|
177
|
-
elsif line.start_with? 'TEST('
|
178
|
-
if line.include? ' PASS'
|
179
|
-
line_array = line.split(' ')
|
180
|
-
test_passed_unity_fixture(line_array)
|
181
|
-
test_pass += 1
|
182
|
-
end
|
183
|
-
# If none of the keywords are found there are no more tests for this suite so clear
|
184
|
-
# the test flag
|
185
|
-
else
|
186
|
-
@test_flag = false
|
187
|
-
end
|
188
|
-
else
|
189
|
-
@test_flag = false
|
190
|
-
end
|
191
|
-
end
|
192
|
-
puts ''
|
193
|
-
puts '=================== SUMMARY ====================='
|
194
|
-
puts ''
|
195
|
-
puts 'Tests Passed : ' + test_pass.to_s
|
196
|
-
puts 'Tests Failed : ' + test_fail.to_s
|
197
|
-
puts 'Tests Ignored : ' + test_ignore.to_s
|
198
|
-
@total_tests = test_pass + test_fail + test_ignore
|
199
|
-
|
200
|
-
return unless @xml_out
|
201
|
-
|
202
|
-
heading = '<testsuite tests="' + @total_tests.to_s + '" failures="' + test_fail.to_s + '"' + ' skips="' + test_ignore.to_s + '">'
|
203
|
-
@array_list.insert(0, heading)
|
204
|
-
write_xml_output
|
205
|
-
end
|
206
|
-
end
|
207
|
-
|
208
|
-
# If the command line has no values in, used a default value of Output.txt
|
209
|
-
parse_my_file = ParseOutput.new
|
210
|
-
|
211
|
-
if ARGV.size >= 1
|
212
|
-
ARGV.each do |a|
|
213
|
-
if a == '-xml'
|
214
|
-
parse_my_file.set_xml_output
|
215
|
-
else
|
216
|
-
parse_my_file.process(a)
|
217
|
-
break
|
218
|
-
end
|
219
|
-
end
|
220
|
-
end
|