Author: alex.guizar(a)jboss.com
Date: 2010-12-01 18:05:01 -0500 (Wed, 01 Dec 2010)
New Revision: 6854
Modified:
jbpm3/branches/jbpm-3.2-soa/ci/container.sh
Log:
inline run.sh into container.sh to properly capture jbossas pid
Modified: jbpm3/branches/jbpm-3.2-soa/ci/container.sh
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/ci/container.sh 2010-12-01 15:40:02 UTC (rev 6853)
+++ jbpm3/branches/jbpm-3.2-soa/ci/container.sh 2010-12-01 23:05:01 UTC (rev 6854)
@@ -14,6 +14,16 @@
# SOURCE_REPO JBoss distributions directory
# MAVEN_SETTINGS Maven settings file; optional, defaults to ci/settings-qa.xml
+PROGNAME=`basename $0`
+
+#
+# Helper to puke
+#
+die() {
+ echo "$PROGNAME: $*"
+ exit 1
+}
+
# Determine JBoss AS version
case $CONTAINER in
jboss405)
@@ -29,8 +39,7 @@
JBOSS_VERSION=jboss-5.1.0.GA
;;
*)
- echo "ERROR: invalid container: $CONTAINER"
- exit 1
+ die "Invalid container: $CONTAINER"
;;
esac
JBOSS_HOME=$WORKSPACE/$JBOSS_VERSION
@@ -40,13 +49,13 @@
JAVA=$JAVA_HOME/bin/java
JAVA_VERSION=`$JAVA -version 2>&1 | grep version | awk '{ print substr($3, 2,
3); }'`
+ORIG_JAVA=$JAVA
+ORIG_JAVA_HOME=$JAVA_HOME
+
if [ $JAVA_VERSION = 1.4 ]; then
# Switch to JDK 1.5 for building and installing jBPM
- ORIG_JAVA_HOME=$JAVA_HOME
JAVA=$JAVA_15_HOME/bin/java
export JAVA_HOME=$JAVA_15_HOME
-else
- ORIG_JAVA_HOME=$JAVA_HOME
fi
# Set up Maven
@@ -64,8 +73,7 @@
mvn -U -s $MAVEN_SETTINGS -Pdistro -Djbpm.home=$WORKSPACE/jbpm-$JBPM_VERSION \
-Dcontainer=$CONTAINER -Djboss.home=$JBOSS_HOME -Djboss.server=$JBOSS_SERVER clean
install
if [ $? -ne 0 ]; then
- echo "ERROR: failed to build distro"
- exit 1
+ die "Failed to build distro"
fi
# Install JBoss AS
@@ -76,8 +84,7 @@
$JAVA -jar distribution/target/jbpm-distribution-$JBPM_VERSION-installer.jar \
distribution/target/classes/auto-install-template.xml
if [ $? -ne 0 ]; then
- echo "ERROR: failed to install distro"
- exit 1
+ die "Failed to install distro"
fi
# Fetch proprietary JDBC drivers
@@ -90,15 +97,13 @@
if [ -f $DB2JCC_JAR ]; then
ln -s $DB2JCC_JAR $JBOSS_HOME/server/$JBOSS_SERVER/lib
else
- echo "ERROR: DB2 driver not found: $DB2JCC_JAR"
- exit 1
+ die "DB2 driver not found: $DB2JCC_JAR"
fi
DB2JCC_LICENSE=~/.m2/repository/com/ibm/db2jcc_license_cu/$DB2JCC_VERSION/db2jcc_license_cu-$DB2JCC_VERSION.jar
if [ -f $DB2JCC_LICENSE ]; then
ln -s $DB2JCC_LICENSE $JBOSS_HOME/server/$JBOSS_SERVER/lib
else
- echo "ERROR: DB2 driver license not found: $DB2JCC_LICENSE"
- exit 1
+ die "DB2 driver license not found: $DB2JCC_LICENSE"
fi
fi
@@ -109,8 +114,7 @@
if [ -f $MSJDBC_JAR ]; then
ln -s $MSJDBC_JAR $JBOSS_HOME/server/$JBOSS_SERVER/lib
else
- echo "ERROR: SQL Server driver not found: $MSJDBC_JAR"
- exit 1
+ die "SQL Server driver not found: $MSJDBC_JAR"
fi
fi
@@ -121,8 +125,7 @@
if [ -f $OJDBC_JAR ]; then
ln -s $OJDBC_JAR $JBOSS_HOME/server/$JBOSS_SERVER/lib
else
- echo "ERROR: Oracle driver not found: $OJDBC_JAR"
- exit 1
+ die "Oracle driver not found: $OJDBC_JAR"
fi
fi
@@ -133,34 +136,60 @@
if [ -f $JCONNECT_JAR ]; then
ln -s $JCONNECT_JAR $JBOSS_HOME/server/$JBOSS_SERVER/lib
else
- echo "ERROR: Sybase driver not found: $JCONNECT_JAR"
- exit 1
+ die "Sybase driver not found: $JCONNECT_JAR"
fi
fi
# Switch back to JDK 1.4 for running test suite
export JAVA_HOME=$ORIG_JAVA_HOME
+JAVA=$ORIG_JAVA
-# Start JBoss AS
-$JBOSS_HOME/bin/run.sh -b $MYTESTIP_1 -c $JBOSS_SERVER -g jbpm3-$CONTAINER-$DATABASE \
- -u $MCAST_ADDR &> /dev/null &
+# BEGIN section taken from run.sh
-# Symlink log files
-ln -sf $JBOSS_HOME/server/$JBOSS_SERVER/log/boot.log $WORKSPACE
+# Force IPv4 on Linux systems since IPv6 doesn't work correctly with jdk5 and lower
+JAVA_OPTS="-Djava.net.preferIPv4Stack=true"
+
+# Setup the classpath
+runjar="$JBOSS_HOME/bin/run.jar"
+if [ ! -f "$runjar" ]; then
+ die "Missing required file: $runjar"
+fi
+JBOSS_CLASSPATH="$runjar"
+
+# Setup JBoss specific properties
+JAVA_OPTS="-Dprogram.name=$PROGNAME $JAVA_OPTS"
+
+# Setup the java endorsed dirs
+JBOSS_ENDORSED_DIRS="$JBOSS_HOME/lib/endorsed"
+
+# Execute the JVM in the background
+$JAVA $JAVA_OPTS -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" -classpath
"$JBOSS_CLASSPATH" \
+ org.jboss.Main -b $MYTESTIP_1 -c $JBOSS_SERVER -g jbpm3-$CONTAINER-$DATABASE -u
$MCAST_ADDR \
+ &> /dev/null &
+JBOSS_PID=$!
+
+# END section adapted from run.sh
+
+# Symlink server log file
ln -sf $JBOSS_HOME/server/$JBOSS_SERVER/log/server.log $WORKSPACE
# Was it successfully started?
-wget --spider --retry-connrefused --tries=24 --waitretry=24 $MYTESTIP_1:8080
-if [ $? -ne 0 ]; then
- echo '***BOOT LOG***' ; tail -n 100 $WORKSPACE/boot.log
- echo '***SERVER LOG***' ; tail -n 100 $WORKSPACE/server.log
- kill $!
- exit 1
-fi
+for (( TRY=1 ; ; TRY++ )); do
+ curl --head --fail http://$MYTESTIP_1:8080/jbpm-console
+ if [ $? -eq 0 ]; then
+ break
+ elif [ $TRY -lt 5 ]; then
+ sleep 30
+ else
+ tail -n 100 $WORKSPACE/server.log
+ kill $JBOSS_PID
+ die "JBoss AS failed to start"
+ fi
+done
# Run enterprise test suite
mvn -f enterprise/pom.xml -s $MAVEN_SETTINGS -Djboss.bind.address=$MYTESTIP_1 \
- -Dsurefire.jvm.args="-Xms64m -Xmx256m" verify | tee $WORKSPACE/tests.log
+ verify | tee $WORKSPACE/tests.log
# Stop JBoss AS
$JBOSS_HOME/bin/shutdown.sh -s jnp://$MYTESTIP_1:1099 -S
Show replies by date