Customizations our team has made

generate_test_runner.rb  
  1. Removed 'static' from CMock_Verify() generation to allow calling CMock_Verify() from tests.  This is useful for verify mock calls (really the absence of) between test cases in a test cases lookup table style test.
  2. Added call to TEST_RESET_GLOBAL_MESSAGE() in create_runtest() to clear a previously set global test message (see below).

unity.c/unity.h/unity_internals.h: 
  1. Added Windows cmd.exe specific and generic ANSI terminal coloring of unity output.
  2. Added UnitySetGlobalMessage(), TEST_SET_GLOBAL_MESSAGE(), TEST_RESET_GLOBAL_MESSAGE(), and const char* UnityStrGlobalTestMsg to allow a test (again mostly useful for lookup table style tests) to specify a global message to be printed for any TEST_ASSERT/TEST_FAIL/TEST_IGNORE/CMock failure.  Implementation of this includes refactoring of UnityAddMsgIfSpecified() and addition of UnityAddLonelyMsgIfSpecified() to handle assert specified messages and the global message.
  3. Added handy NUMBER_OF_ARRAY_ELEMENTS() macro
  4. Replaced 13 and 10 magic numbers with '\r' and '\n' character respectively.
  5. Abstracted usage of snprintf() vs. sprintf_s() via SAFE_SPRINTF() macro
  6. Initialize struct _Unity Unity to 0 just to be safe