kusano 2b45e8
/*****************************************************************************
kusano 2b45e8
Copyright (c) 2011, Lab of Parallel Software and Computational Science,ICSAS
kusano 2b45e8
All rights reserved.
kusano 2b45e8
kusano 2b45e8
Redistribution and use in source and binary forms, with or without
kusano 2b45e8
modification, are permitted provided that the following conditions are
kusano 2b45e8
met:
kusano 2b45e8
kusano 2b45e8
   1. Redistributions of source code must retain the above copyright
kusano 2b45e8
      notice, this list of conditions and the following disclaimer.
kusano 2b45e8
kusano 2b45e8
   2. Redistributions in binary form must reproduce the above copyright
kusano 2b45e8
      notice, this list of conditions and the following disclaimer in
kusano 2b45e8
      the documentation and/or other materials provided with the
kusano 2b45e8
      distribution.
kusano 2b45e8
   3. Neither the name of the ISCAS nor the names of its contributors may 
kusano 2b45e8
      be used to endorse or promote products derived from this software 
kusano 2b45e8
      without specific prior written permission.
kusano 2b45e8
kusano 2b45e8
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
kusano 2b45e8
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
kusano 2b45e8
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
kusano 2b45e8
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
kusano 2b45e8
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
kusano 2b45e8
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
kusano 2b45e8
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
kusano 2b45e8
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
kusano 2b45e8
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 
kusano 2b45e8
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
kusano 2b45e8
kusano 2b45e8
**********************************************************************************/
kusano 2b45e8
kusano 2b45e8
#include <stdio.h></stdio.h>
kusano 2b45e8
#include <string.h></string.h>
kusano 2b45e8
kusano 2b45e8
#include "common_utest.h"
kusano 2b45e8
#include <cunit basic.h=""></cunit>
kusano 2b45e8
kusano 2b45e8
CU_TestInfo test_level1[]={
kusano 2b45e8
	{"Testing srot when incx || incy == 0",test_srot_inc_0},
kusano 2b45e8
	{"Testing drot when incx || incy == 0",test_drot_inc_0},
kusano 2b45e8
	{"Testing csrot when incx || incy == 0",test_csrot_inc_0},
kusano 2b45e8
	{"Testing zdrot when incx || incy == 0",test_zdrot_inc_0},
kusano 2b45e8
kusano 2b45e8
	{"Testing sswap with incx || incy == 0",test_sswap_inc_0},
kusano 2b45e8
	{"Testing dswap with incx || incy == 0",test_dswap_inc_0},
kusano 2b45e8
	{"Testing cswap with incx || incy == 0",test_cswap_inc_0},
kusano 2b45e8
	{"Testing zswap with incx || incy == 0",test_zswap_inc_0},
kusano 2b45e8
kusano 2b45e8
	{"Testing saxpy with incx || incy == 0",test_saxpy_inc_0},
kusano 2b45e8
	{"Testing daxpy with incx || incy == 0",test_daxpy_inc_0},
kusano 2b45e8
	{"Testing caxpy with incx || incy == 0",test_caxpy_inc_0},
kusano 2b45e8
	{"Testing zaxpy with incx || incy == 0",test_zaxpy_inc_0},
kusano 2b45e8
kusano 2b45e8
	{"Testing zdotu with n == 1",test_zdotu_n_1},
kusano 2b45e8
	{"Testing zdotu with input x & y offset == 1",test_zdotu_offset_1},
kusano 2b45e8
kusano 2b45e8
	{"Testing drotmg",test_drotmg},
kusano 2b45e8
kusano 2b45e8
	{"Testing dsdot with n == 1",test_dsdot_n_1},
kusano 2b45e8
kusano 2b45e8
	{"Testing samax", test_samax},
kusano 2b45e8
	CU_TEST_INFO_NULL,
kusano 2b45e8
};
kusano 2b45e8
kusano 2b45e8
CU_SuiteInfo suites[]={
kusano 2b45e8
	{"Level1 Test Suite", NULL,NULL,test_level1},
kusano 2b45e8
	CU_SUITE_INFO_NULL,
kusano 2b45e8
};
kusano 2b45e8
kusano 2b45e8
int main()
kusano 2b45e8
{
kusano 2b45e8
	CU_ErrorCode error;
kusano 2b45e8
	if (CUE_SUCCESS != CU_initialize_registry())
kusano 2b45e8
		return CU_get_error();
kusano 2b45e8
	
kusano 2b45e8
	error=CU_register_suites(suites);
kusano 2b45e8
	
kusano 2b45e8
	if (error != CUE_SUCCESS) {
kusano 2b45e8
		perror(CU_get_error_msg());
kusano 2b45e8
		CU_cleanup_registry();
kusano 2b45e8
		return CU_get_error();
kusano 2b45e8
		
kusano 2b45e8
	}
kusano 2b45e8
	
kusano 2b45e8
kusano 2b45e8
	
kusano 2b45e8
	printf("Seting OK\n");
kusano 2b45e8
	fflush(stdout);
kusano 2b45e8
	
kusano 2b45e8
	/* Run all tests using the CUnit Basic interface */
kusano 2b45e8
	CU_basic_set_mode(CU_BRM_VERBOSE);
kusano 2b45e8
	
kusano 2b45e8
	CU_basic_run_tests();
kusano 2b45e8
	
kusano 2b45e8
	CU_cleanup_registry();
kusano 2b45e8
	
kusano 2b45e8
	return CU_get_error();
kusano 2b45e8
	
kusano 2b45e8
}
kusano 2b45e8