[mapguide-commits] r8406 - trunk/MgDev

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Thu Oct 16 21:03:42 PDT 2014


Author: jng
Date: 2014-10-16 21:03:42 -0700 (Thu, 16 Oct 2014)
New Revision: 8406

Added:
   trunk/MgDev/run_tests.sh
Log:
#2493: Add first cut of run_tests.sh to run server and web-tier tests within a single script on Linux

Added: trunk/MgDev/run_tests.sh
===================================================================
--- trunk/MgDev/run_tests.sh	                        (rev 0)
+++ trunk/MgDev/run_tests.sh	2014-10-17 04:03:42 UTC (rev 8406)
@@ -0,0 +1,125 @@
+#!/bin/bash
+
+#
+# run_tests.sh
+#
+# Simple wrapper script to execute all applicable tests on Linux
+SERVER_SAFE_SUBSET=1
+MG_INST=/usr/local/mapguideopensource
+PHP_CMD=$MG_INST/webserverextensions/php/bin/php
+TEST_SERVER=0
+TEST_PHP=0
+TEST_JAVA=1
+LOG_PATH=~
+TEST_COMPONENT=
+MG_SERVER_PID=
+
+check_test()
+{
+	error=$?
+	if [ $error -ne 0 ]; then
+		echo "[warning]: ${TEST_COMPONENT} - Test returned non-zero result ($error)"
+		echo "[warning]: ${TEST_COMPONENT} - Test returned non-zero result ($error)" >> $LOG_PATH/unit_test_status.log
+	fi
+}
+
+start_mapguide_server()
+{
+	pushd Server/src/Core > /dev/null
+		echo "[test]: Start mgserver (with 30s wait)"
+		./mgserver run > $LOG_PATH/mapguide_server_run.log 2>&1 &
+		MG_SERVER_PID=$!
+		# Give some time for the mgserver to actually fully initialize
+		sleep 30
+		echo "[test]: mgserver started ($MG_SERVER_PID)"
+	popd > /dev/null
+}
+
+stop_mapguide_server()
+{
+	echo "[test]: Stop mgserver"
+	kill $MG_SERVER_PID
+	echo "[test]: mgserver stopped ($MG_SERVER_PID)"
+	MG_SERVER_PID=
+}
+
+# Build server unit test suite (regardless of whether we're running
+# server tests or not)
+
+echo "[build]: Server unit tests"
+pushd Server/src/UnitTesting > /dev/null
+make libMgUnitTesting.la
+popd > /dev/null
+
+pushd Server/src/Core > /dev/null
+make unittest.sh
+popd > /dev/null
+
+pushd Server/src/Core > /dev/null
+if [ $TEST_SERVER -eq 1 ]; then
+	if [ $SERVER_FAST_SUBSET -eq 1 ]; then
+		for comp in FeatureService Geometry KmlService LogManager MappingService MdfModel Misc Performance RenderingService ServerAdminService ServerManager ServiceManager SiteManager SiteService ProfilingService TransformMesh
+		do
+			TEST_COMPONENT="MapGuide Server Test Suite ($comp)"
+			echo "[test]: $TEST_COMPONENT"
+			./mgserver test $comp $LOG_PATH/UnitTestResult_${comp}.xml 2>&1 | tee $LOG_PATH/mapguide_${comp}_unit_test.log
+			check_test
+		done
+	else
+		TEST_COMPONENT="MapGuide Server Test Suite (all)"
+		echo "[test]: $TEST_COMPONENT"
+		./mgserver test 2>&1 | tee $LOG_PATH/mapguide_test.log
+		check_test
+	fi
+else
+	echo "[test]: Skipping Server Test Suite"
+fi
+popd > /dev/null
+
+if [ $TEST_PHP -eq 1 ]; then
+	#clear out old dbs
+	pushd UnitTest/TestData > /dev/null
+		rm -rf Unicode/UnicodeTest.db
+		rm -rf WmsTest/WmsTest.db
+		rm -rf WebLayout/WebLayoutTest.db
+		rm -rf WfsTest/WfsTest.db
+		rm -rf MapLayer/MapLayerTest.db
+		rm -rf ServerAdmin/ServerAdminTest.db
+		rm -rf MappingService/MappingServiceTest.db
+		rm -rf SiteService/SiteServiceTest.db
+		rm -rf FeatureService/FeatureServiceTest.db
+		rm -rf DrawingService/DrawingServiceTest.db
+		rm -rf ResourceService/ResourceServiceTest.db
+	popd > /dev/null
+	pushd UnitTest\WebTier\Php > /dev/null
+		TEST_COMPONENT="PHP Web Tier Tests"
+		echo "[test]: $TEST_COMPONENT"
+		$PHP_CMD RunTests.php
+		check_test
+	popd > /dev/null
+fi
+
+if [ $TEST_JAVA -eq 1 ]; then
+	#clear out old dbs
+	pushd UnitTest/TestData > /dev/null
+		rm -rf Unicode/UnicodeTest.db
+		rm -rf WmsTest/WmsTest.db
+		rm -rf WebLayout/WebLayoutTest.db
+		rm -rf WfsTest/WfsTest.db
+		rm -rf MapLayer/MapLayerTest.db
+		rm -rf ServerAdmin/ServerAdminTest.db
+		rm -rf MappingService/MappingServiceTest.db
+		rm -rf SiteService/SiteServiceTest.db
+		rm -rf FeatureService/FeatureServiceTest.db
+		rm -rf DrawingService/DrawingServiceTest.db
+		rm -rf ResourceService/ResourceServiceTest.db
+	popd > /dev/null
+	start_mapguide_server
+	pushd UnitTest/WebTier/Java > /dev/null
+		TEST_COMPONENT="Java Web Tier Tests"
+		echo "[test]: $TEST_COMPONENT"
+		ant checkunix 2>&1 | tee $LOG_PATH/java_test_output.log
+		check_test
+	popd > /dev/null
+	stop_mapguide_server
+fi


Property changes on: trunk/MgDev/run_tests.sh
___________________________________________________________________
Added: svn:executable
   + *



More information about the mapguide-commits mailing list