mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 09:01:40 +01:00 
			
		
		
		
	Apply the pre-commit hook whitespace fixes to all files in the repo. (Line endings, blank lines at end of file, trailing whitespace)
		
			
				
	
	
		
			32 lines
		
	
	
		
			999 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			999 B
		
	
	
	
		
			C++
		
	
	
	
	
	
#pragma once
 | 
						|
 | 
						|
#include "unity.h"
 | 
						|
 | 
						|
#define CXX_UNITY_TYPE_TO_STR(x) #x
 | 
						|
 | 
						|
/**
 | 
						|
 * Very simple helper macro to catch exceptions.
 | 
						|
 *
 | 
						|
 * @note
 | 
						|
 *  * If there is any exception which not a child of std::exception, it will terminate the program!
 | 
						|
 *  * If there is no exception, it will jump from the current frame without de-initializing
 | 
						|
 *    destructors!
 | 
						|
 */
 | 
						|
#define TEST_THROW(expr_, exception_) \
 | 
						|
    do { \
 | 
						|
        bool caught = false; \
 | 
						|
        bool caught_different = false; \
 | 
						|
        try { \
 | 
						|
            expr_; \
 | 
						|
        } catch ( exception_ &e) { \
 | 
						|
            caught = true; \
 | 
						|
        } catch ( std::exception &e) { \
 | 
						|
            caught_different = true; \
 | 
						|
        } \
 | 
						|
        TEST_ASSERT_FALSE_MESSAGE(caught_different, "ERROR: Expected " CXX_UNITY_TYPE_TO_STR(exception_) \
 | 
						|
                ", but caught different exception."); \
 | 
						|
        TEST_ASSERT_TRUE_MESSAGE(caught, "ERROR: Expected " CXX_UNITY_TYPE_TO_STR(exception_) \
 | 
						|
                ", but no exception thrown."); \
 | 
						|
    } \
 | 
						|
    while (0)
 |