glib/tsrc/BC/inc/mrt2_glib2_test.h
changeset 31 ce057bb09d0b
child 45 4b03adbd26ca
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/glib/tsrc/BC/inc/mrt2_glib2_test.h	Fri Jun 04 16:20:51 2010 +0100
@@ -0,0 +1,166 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Lesser General Public
+* License as published by the Free Software Foundation; either
+* version 2 of the License, or (at your option) any later version.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this library; if not, write to the
+* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+* Boston, MA 02111-1307, USA.
+*
+* Description:
+*
+*/
+
+
+
+#ifndef __G_LOG_MRT2_GLIB2_TEST
+#define __G_LOG_MRT2_GLIB2_TEST
+#include <stdio.h>
+#include <time.h>
+#include <string.h>
+#include <dirent.h>
+#include <sys/stat.h>
+
+gboolean assert_failed = FALSE;
+
+#undef g_assert
+#define g_assert(expr)			G_STMT_START{	if (expr) { } else	 {g_log (G_LOG_DOMAIN,G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING | G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO | G_LOG_LEVEL_DEBUG, "file %s: line %d: assertion failed: (%s)",    __FILE__,	 __LINE__,	 #expr);assert_failed  = TRUE;			}}G_STMT_END
+
+	
+void mrtLogHandler(const gchar* log_domain, GLogLevelFlags log_level,
+					const gchar* message, gpointer user_data)
+{
+	FILE *fp;
+	fp = fopen("c:\\logtests.txt","a");
+	
+	if(fp)
+	{
+		fprintf(fp,message);
+		fprintf(fp,"\n");
+		fclose(fp);
+	}
+}
+
+void mrtPrintHandler(const gchar *message)
+{
+	FILE *fp;
+	fp = fopen("c:\\logtests.txt","a");
+	
+	if(fp)
+	{
+		fprintf(fp,message);
+		fprintf(fp,"\n");
+		fclose(fp);
+	}
+}
+
+
+// This function is used to generate the xml file used bt ATS
+void testResultXml(char *filename)
+{
+	char time_buf[50];
+	
+	char result[10];
+	
+	char xmlfilename[256];
+		
+	time_t t = time(NULL);
+	
+	struct tm *tm1 = localtime(&t);
+	
+	char *atsinitmsg 	= 	"<test-report>\n\t<test-batch>";
+	
+	char *atsbatchinit1	=   \
+							"\n\t\t<batch-init>\
+							\n\t\t\t<description></description>\
+							\n\t\t\t<date>";						
+							
+	char *atsbatchinit2 =	"</date>\
+							\n\t\t\t<factory>NA</factory>\
+							\n\t\t\t<component>\
+							\n\t\t\t\t<name>NA</name>\
+							\n\t\t\t\t<version>NA</version>\
+							\n\t\t\t</component>\
+							\n\t\t</batch-init>";
+							
+	char *atsbatchresult=	\
+							"\n\t\t<batch-result>\
+							\n\t\t\t<run-time>00:00:00</run-time>\
+							\n\t\t</batch-result>";
+							
+	char *atsclosemsg	=   \
+							"\n\t</test-batch>\
+							\n</test-report>\n ";
+
+	char *atstestinit	=	"\n\t\t<test-case time-stamp=\"00:00:00\">";
+
+	
+	char *atscaseinit1	=	\
+							"\n\t\t\t<case-init>\
+							\n\t\t\t\t<version></version>\
+							\n\t\t\t\t<id>";
+												
+	char *atscaseinit2 = 	"</id>\
+							\n\t\t\t\t<expected-result description=\"\">0</expected-result>\
+							\n\t\t\t</case-init>";
+							
+	char *atscaseresult1=	\
+							"\n\t\t\t<case-result status=\"";
+							
+	char *atscaseresult2=	"\">\
+							\n\t\t\t\t<actual-result>0</actual-result>\
+							\n\t\t\t\t<run-time>00:00:00</run-time>\
+							\n\t\t\t</case-result>";
+
+	char *atstestclose	=	"\n\t\t</test-case>";
+	
+	/* Check and see if spd_logs/xml is existent or not. If not present create it */
+	DIR *dir;
+	FILE *fp;
+	
+	dir = opendir("c:\\spd_logs");
+	if(!dir)
+		mkdir("c:\\spd_logs",0777);
+	
+	dir = opendir("c:\\spd_logs\\xml");
+	if(!dir)
+		mkdir("c:\\spd_logs\\xml",0777);
+	
+	// create the xml file name
+	strcpy(xmlfilename,"c:/spd_logs/xml/");
+	strcat(xmlfilename,filename);
+	strcat(xmlfilename,".xml");
+	
+	strftime(time_buf,50,"%c",tm1);
+	
+	if(assert_failed )
+		strcpy(result,"FAILED");
+	else
+		strcpy(result,"PASSED");
+	
+	fp = fopen(xmlfilename,"w");
+	
+	if(fp)
+	{
+		fprintf(fp,"%s%s%s%s%s%s%s%s%s%s%s%s%s%s",atsinitmsg,atsbatchinit1,time_buf,atsbatchinit2,atstestinit,
+			atscaseinit1,filename,atscaseinit2,atscaseresult1,result,atscaseresult2,
+			atstestclose,atsbatchresult,atsclosemsg);
+			
+		fclose(fp);	
+	}
+	else
+	{
+		g_assert(FALSE && "Failed to create the xml file");
+	}
+}
+
+#endif