embedded IPsec source code documentation


structural_test.h

Go to the documentation of this file.
00001 /*
00002  * embedded IPsec
00003  * Copyright (c) 2003 Niklaus Schild and Christian Scheurer, HTI Biel/Bienne
00004  * All rights reserved.
00005  *
00006  * Redistribution and use in source and binary forms, with or without modification,
00007  * are permitted provided that the following conditions are met:
00008  *
00009  * 1. Redistributions of source code must retain the above copyright notice,
00010  *    this list of conditions and the following disclaimer.
00011  * 2. Redistributions in binary form must reproduce the above copyright notice,
00012  *    this list of conditions and the following disclaimer in the documentation
00013  *    and/or other materials provided with the distribution.
00014  * 3. The name of the author may not be used to endorse or promote products
00015  *    derived from this software without specific prior written permission.
00016  *
00017  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
00018  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
00019  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
00020  * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00021  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
00022  * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00023  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00024  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
00025  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
00026  * OF SUCH DAMAGE.
00027  *
00028  */
00029 
00041 #ifndef __STRUCTURAL_TEST_H__
00042 #define __STRUCTURAL_TEST_H__
00043 
00044 typedef struct test_result_struct
00045 {
00046         unsigned int tests;                     
00047         unsigned int functions;                 
00048         unsigned int errors;                    
00049         unsigned int notimplemented;    
00050 } test_result;
00051 
00057 #define IPSEC_TESTING_EVALUATE(__retcode__, __sub_results__, __functionname__, __msg__)   { \   
00058                         switch(__retcode__) { \
00059                                 case IPSEC_STATUS_SUCCESS: ; \
00060                                                 IPSEC_LOG_TST_NOMSG(__functionname__, "SUCCESS  "); \
00061                                                 printf __msg__ ;  \
00062                                                 printf("\n"); \
00063                                                 break; \
00064                                 case IPSEC_STATUS_NOT_IMPLEMENTED: ; __sub_results__.notimplemented++; \
00065                                                 IPSEC_LOG_TST_NOMSG(__functionname__, "NOT IMPL."); \
00066                                                 printf __msg__ ;  \
00067                                                 printf("\n"); \
00068                                                 break; \
00069                                 default: ; __sub_results__.errors += __retcode__; \
00070                                                 IPSEC_LOG_TST_NOMSG(__functionname__, "ERROR    "); \
00071                                                 printf("(%d errors)", __retcode__); \
00072                                                 printf __msg__ ;  \
00073                                                 printf("\n"); \
00074                         } \
00075                 } \
00076 
00077 
00078 
00079 
00080 #endif
00081 
00082 

Copyright 2003 by Christian Scheurer and Niklaus Schild