From 859bf8f2aad2a836db35581274e5ac66afb882a3 Mon Sep 17 00:00:00 2001 From: John Lindgren Date: Tue, 22 Oct 2019 15:33:39 -0400 Subject: [PATCH] Make CMock_Verify() etc. available as UnityRunner_Verify() etc. Having UnityRunner_Verify() accessible from within tests is useful for verifying the call chain halfway through a longer, integration-style test. --- auto/generate_test_runner.rb | 12 ++++++------ auto/run_test.erb | 6 +++--- src/unity.h | 9 +++++++++ 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/auto/generate_test_runner.rb b/auto/generate_test_runner.rb index 9016f9a5..cb2d758b 100644 --- a/auto/generate_test_runner.rb +++ b/auto/generate_test_runner.rb @@ -231,7 +231,7 @@ def create_externs(output, tests, _mocks) def create_mock_management(output, mock_headers) output.puts("\n/*=======Mock Management=====*/") - output.puts('static void CMock_Init(void)') + output.puts('void UnityRunner_Init(void)') output.puts('{') if @options[:enforce_strict_ordering] @@ -247,7 +247,7 @@ def create_mock_management(output, mock_headers) end output.puts("}\n") - output.puts('static void CMock_Verify(void)') + output.puts('void UnityRunner_Verify(void)') output.puts('{') mocks.each do |mock| mock_clean = TypeSanitizer.sanitize_c_identifier(mock) @@ -255,7 +255,7 @@ def create_mock_management(output, mock_headers) end output.puts("}\n") - output.puts('static void CMock_Destroy(void)') + output.puts('void UnityRunner_Destroy(void)') output.puts('{') mocks.each do |mock| mock_clean = TypeSanitizer.sanitize_c_identifier(mock) @@ -300,9 +300,9 @@ def create_reset(output) output.puts("void #{@options[:test_reset_name]}(void)") output.puts('{') output.puts(" #{@options[:teardown_name]}();") - output.puts(' CMock_Verify();') - output.puts(' CMock_Destroy();') - output.puts(' CMock_Init();') + output.puts(' UnityRunner_Verify();') + output.puts(' UnityRunner_Destroy();') + output.puts(' UnityRunner_Init();') output.puts(" #{@options[:setup_name]}();") output.puts('}') end diff --git a/auto/run_test.erb b/auto/run_test.erb index 3d3b6d1e..17a0dc96 100644 --- a/auto/run_test.erb +++ b/auto/run_test.erb @@ -10,7 +10,7 @@ static void run_test(UnityTestFunction func, const char* name, int line_num) Unity.NumberOfTests++; UNITY_CLR_DETAILS(); UNITY_EXEC_TIME_START(); - CMock_Init(); + UnityRunner_Init(); if (TEST_PROTECT()) { <% if @options[:plugins].include?(:cexception) %> @@ -28,9 +28,9 @@ static void run_test(UnityTestFunction func, const char* name, int line_num) if (TEST_PROTECT()) { <%= @options[:teardown_name] %>(); - CMock_Verify(); + UnityRunner_Verify(); } - CMock_Destroy(); + UnityRunner_Destroy(); UNITY_EXEC_TIME_STOP(); UnityConcludeTest(); } diff --git a/src/unity.h b/src/unity.h index f97d1414..53072b6e 100644 --- a/src/unity.h +++ b/src/unity.h @@ -40,6 +40,15 @@ void tearDown(void); void suiteSetUp(void); int suiteTearDown(int num_failures); +/*------------------------------------------------------- + * Test Runner Interface + *-------------------------------------------------------*/ + +/* These functions are provided by the generated test runner. */ +void UnityRunner_Init(void); +void UnityRunner_Verify(void); +void UnityRunner_Destroy(void); + /*------------------------------------------------------- * Configuration Options *-------------------------------------------------------