diff --git a/auto/generate_test_runner.rb b/auto/generate_test_runner.rb index 18da54c0..ee04be82 100755 --- a/auto/generate_test_runner.rb +++ b/auto/generate_test_runner.rb @@ -533,7 +533,7 @@ def create_main(output, filename, tests, used_mocks) output.puts(' CMock_Guts_MemFreeFinal();') unless used_mocks.empty? if @options[:has_suite_teardown] if @options[:omit_begin_end] - output.puts(' (void) suite_teardown(0);') + output.puts(' (void) suiteTearDown(0);') else output.puts(' return suiteTearDown(UNITY_END());') end diff --git a/docs/UnityChangeLog.md b/docs/UnityChangeLog.md index 16ea340e..d1d41609 100644 --- a/docs/UnityChangeLog.md +++ b/docs/UnityChangeLog.md @@ -30,6 +30,7 @@ Significant Bugfixes: - display of failures fixed on ARM processors, particularly with arrays (#807) - fixed each-equal assertion for memory (#797) - fix many warnings. + - Test runner generator calls custom suite teardown when begin/end calls are omitted. @94xhn Other: diff --git a/test/tests/test_generate_test_runner.rb b/test/tests/test_generate_test_runner.rb index 201c24de..118670b0 100644 --- a/test/tests/test_generate_test_runner.rb +++ b/test/tests/test_generate_test_runner.rb @@ -1303,6 +1303,26 @@ def verify_number(expected, expression, output) end end +should 'GenerateSuiteTeardownWhenBeginAndEndAreOmitted' do + runner_name = OUT_FILE + 'SuiteTeardownWithoutBeginEnd_runner.c' + UnityTestRunnerGenerator.new( + :test_prefix => 'test', + :suite_teardown => ' return num_failures;', + :omit_begin_end => true, + ).run('testdata/testRunnerGenerator.c', runner_name) + + runner = File.read(runner_name) + correct_call = runner.include?('(void) suiteTearDown(0);') + incorrect_call = runner.include?('(void) suite_teardown(0);') + if correct_call && !incorrect_call + report 'Runner_GenerateSuiteTeardownWhenBeginAndEndAreOmitted:PASS' + else + report 'Runner_GenerateSuiteTeardownWhenBeginAndEndAreOmitted:FAIL' + $generate_test_runner_failures += 1 + end + $generate_test_runner_tests += 1 +end + RUNNER_TESTS.each do |testset| basename = File.basename(testset[:testfile], C_EXTENSION) testset_name = "Runner_#{basename}_#{testset[:name]}"