Index: /pjproject/trunk/tests/cdash/README.TXT
===================================================================
--- /pjproject/trunk/tests/cdash/README.TXT	(revision 2409)
+++ /pjproject/trunk/tests/cdash/README.TXT	(revision 2410)
@@ -44,4 +44,8 @@
      $ python main.py cfg_msvc
 
+   To execute tests for Symbian target:
+
+     $ python main.py cfg_symbian
+
 
    If you have a different site configuration file, you may specify it in the
@@ -49,2 +53,7 @@
 
      $ python main.py cfg_gnu my_site_config
+
+   For more information you can also pass "-h" or "--help", e.g.:
+
+     $ python main.py cfg_gnu --help
+
Index: /pjproject/trunk/tests/cdash/builder.py
===================================================================
--- /pjproject/trunk/tests/cdash/builder.py	(revision 2409)
+++ /pjproject/trunk/tests/cdash/builder.py	(revision 2410)
@@ -80,14 +80,4 @@
     Operation(Operation.TEST, "./pjsip-test$SUFFIX", name="pjsip test",
               wdir="pjsip/bin")
-]
-
-#
-# These are operations to build the software on GNU/Posix systems
-#
-gnu_build_ops = [
-    Operation(Operation.CONFIGURE, "sh ./configure"),
-    Operation(Operation.BUILD, "sh -c 'make distclean && make dep && make && cd pjsip-apps/src/python && python setup.py clean build'"),
-    #Operation(Operation.BUILD, "python setup.py clean build",
-    #          wdir="pjsip-apps/src/python")
 ]
 
@@ -237,4 +227,5 @@
             self.build_tests()
         self.pre_action()
+	mandatory_op = ["update", "configure", "build"]
         counter = 0
         for a in self.ccdash_args:
@@ -262,5 +253,8 @@
             a = b
             #print a
-            ccdash.main(a)
+            rc = ccdash.main(a)
+	    if rc!=0 and a[1] in mandatory_op:
+		print "Stopping because of error.."
+		break
             counter = counter + 1
         self.post_action()
@@ -316,5 +310,15 @@
         cmds = []
         cmds.extend(update_ops)
-        cmds.extend(gnu_build_ops)
+	cmds.append(Operation(Operation.CONFIGURE, "sh ./configure"))
+	if sys.platform == "win32":
+	    # Don't build python module on Mingw
+	    cmds.append(Operation(Operation.BUILD, 
+			    "sh -c 'make distclean && make dep && make'"))
+	else:
+	    cmds.append(Operation(Operation.BUILD, 
+			    "sh -c 'make distclean && make dep && make" + \
+			    " && cd pjsip-apps/src/python && " + \
+			    "python setup.py clean build'"))
+
         cmds.extend(std_test_ops)
         cmds.extend(build_pjsua_test_ops())
Index: /pjproject/trunk/tests/cdash/cfg_gnu.py
===================================================================
--- /pjproject/trunk/tests/cdash/cfg_gnu.py	(revision 2409)
+++ /pjproject/trunk/tests/cdash/cfg_gnu.py	(revision 2410)
@@ -60,8 +60,11 @@
                                   cfg_site.OPTIONS)
 
+    config_site = "#define PJ_TODO(x)\n" + cfg_site.CONFIG_SITE
+    user_mak = "export CFLAGS+=-Wall\n" + cfg_site.USER_MAK
+
     builders = [
         builder.GNUTestBuilder(test_cfg, build_config_name="default",
-                               user_mak="export CFLAGS+=-Wall\n",
-                               config_site="#define PJ_TODO(x)\n",
+                               user_mak=user_mak,
+                               config_site=config_site,
                                exclude=cfg_site.EXCLUDE,
                                not_exclude=cfg_site.NOT_EXCLUDE)
Index: /pjproject/trunk/tests/cdash/cfg_msvc.py
===================================================================
--- /pjproject/trunk/tests/cdash/cfg_msvc.py	(revision 2409)
+++ /pjproject/trunk/tests/cdash/cfg_msvc.py	(revision 2410)
@@ -67,9 +67,12 @@
                                   cfg_site.OPTIONS)
 
+    config_site = "#define PJ_TODO(x)\n" + cfg_site.CONFIG_SITE
+    user_mak = cfg_site.USER_MAK
+
     builders = [
         builder.MSVCTestBuilder(test_cfg, 
                                 target=target,
                                 build_config_name="default",
-                                config_site="#define PJ_TODO(x)\n",
+                                config_site=config_site,
                                 exclude=cfg_site.EXCLUDE,
                                 not_exclude=cfg_site.NOT_EXCLUDE)
Index: /pjproject/trunk/tests/cdash/cfg_site_sample.py
===================================================================
--- /pjproject/trunk/tests/cdash/cfg_site_sample.py	(revision 2409)
+++ /pjproject/trunk/tests/cdash/cfg_site_sample.py	(revision 2410)
@@ -36,4 +36,10 @@
 OPTIONS = []
 
+# What's the content of config_site.h
+CONFIG_SITE = ""
+
+# What's the content of user.mak
+USER_MAK = ""
+
 # List of regular expression of test patterns to be excluded
 EXCLUDE = []
Index: /pjproject/trunk/tests/cdash/cfg_symbian.py
===================================================================
--- /pjproject/trunk/tests/cdash/cfg_symbian.py	(revision 2409)
+++ /pjproject/trunk/tests/cdash/cfg_symbian.py	(revision 2410)
@@ -72,4 +72,6 @@
 """
 
+    config_Site = config_site1 + cfg_site.CONFIG_SITE
+
     builders = [
         builder.SymbianTestBuilder(test_cfg, 
Index: /pjproject/trunk/tests/cdash/starttest_sample.bat
===================================================================
--- /pjproject/trunk/tests/cdash/starttest_sample.bat	(revision 2410)
+++ /pjproject/trunk/tests/cdash/starttest_sample.bat	(revision 2410)
@@ -0,0 +1,44 @@
+@echo off
+
+rem ***
+rem ************** VS 2005 **************
+rem ***
+set OLD_PATH=%PATH%
+set OLD_INCLUDE=%INCLUDE%
+set OLD_LIB=%LIB%
+set OLD_LIBPATH=%LIBPATH%
+
+call "C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat" x86
+python main.py cfg_msvc -t "Debug|Win32"
+python main.py cfg_msvc -t "Release|Win32"
+
+set PATH=%OLD_PATH%
+set INCLUDE=%OLD_INCLUDE%
+set LIB=%OLD_LIB%
+set LIBPATH=%OLD_LIBPATH%
+
+
+rem ***
+rem ************** S60 3rd FP1 **************
+rem ***
+set EPOCROOT=\symbian\9.2\S60_3rd_FP1\
+devices -setdefault @S60_3rd_FP1:com.nokia.s60
+python main.py cfg_symbian -t "winscw udeb"
+python main.py cfg_symbian -t "gcce udeb"
+python main.py cfg_symbian -t "gcce urel"
+
+
+rem ***
+rem ************** Mingw **************
+rem ***
+set MSYSTEM=MINGW32
+set DISPLAY=
+C:\msys\1.0\bin\sh -c "python main.py cfg_gnu"
+
+
+rem ***
+rem ************** Linux **************
+rem ***
+set PATH=%PATH%;c:\msys\1.0\bin
+set HOME=C:\msys\1.0\home\Administrator
+C:\mingw\bin\ssh test@192.168.0.12 "cd project/pjproject/tests/cdash && python main.py cfg_gnu"
Index: /pjproject/trunk/tests/pjsua/run.py
===================================================================
--- /pjproject/trunk/tests/pjsua/run.py	(revision 2409)
+++ /pjproject/trunk/tests/pjsua/run.py	(revision 2410)
@@ -162,5 +162,6 @@
 	def wait(self):
 		self.trace("wait")
-		self.proc.wait()
+		self.proc.communicate("q")
+
 	def trace(self, s):
 		if self.trace_enabled:
@@ -178,6 +179,18 @@
 			p.send("q")
 			p.send("q")
-			p.expect(const.DESTROYED, False)
-			p.wait()
+			is_err = False
+			try:
+				ret = p.expect(const.DESTROYED, False)
+				if not ret:
+					is_err = True
+			except:
+				is_err = True
+			if is_err:
+				if sys.hexversion >= 0x02060000:
+					p.proc.terminate()
+				else:
+					p.wait()
+			else:
+				p.wait()
 	print "Test completed with error: " + errmsg
 	sys.exit(1)
