#ifndef TESTS_H #define TESTS_H #if XASH_ENGINE_TESTS struct tests_stats_s { uint passed; uint failed; }; extern struct tests_stats_s tests_stats; #define TRUN( x ) Msg( "Starting " #x "\n" ); \ x; \ Msg( "Finished " #x "\n" ) #define _TASSERT( exp, msg ) \ if( exp ) \ { \ tests_stats.failed++; \ msg; \ } \ else tests_stats.passed++; #define TASSERT( exp ) \ _TASSERT( !(exp), Msg( S_ERROR "assert failed at %s:%i\n", __FILE__, __LINE__ ) ) #define TASSERT_EQi( val1, val2 ) \ _TASSERT( ( val1 ) != ( val2 ), Msg( S_ERROR "assert failed at %s:%i, \"%d\" != \"%d\"\n", __FILE__, __LINE__, val1, val2 )) #define TASSERT_STR( str1, str2 ) \ _TASSERT( Q_strcmp(( str1 ), ( str2 )), Msg( S_ERROR "assert failed at %s:%i, \"%s\" != \"%s\"\n", __FILE__, __LINE__, ( str1 ), ( str2 ))) void Test_RunImagelib( void ); void Test_RunLibCommon( void ); void Test_RunCommon( void ); void Test_RunCmd( void ); void Test_RunCvar( void ); void Test_RunCon( void ); void Test_RunVOX( void ); void Test_RunIPFilter( void ); void Test_RunGamma( void ); void Test_RunDelta( void ); #define TEST_LIST_0 \ Test_RunLibCommon(); \ Test_RunCommon(); \ Test_RunCmd(); \ Test_RunCvar(); \ Test_RunIPFilter(); \ Test_RunDelta(); #define TEST_LIST_0_CLIENT \ Test_RunCon(); \ Test_RunGamma(); #define TEST_LIST_1 \ Test_RunImagelib(); #define TEST_LIST_1_CLIENT \ Test_RunVOX(); #endif #endif /* TESTS_H */