ARTEMIS-555 Allowing examples to be executed as part of a testsuite

the current examples can't be executed in sequence as maven will OME.
The script will help it validating it.
This commit is contained in:
Clebert Suconic 2016-06-29 18:23:04 -04:00
parent 3f3a13564b
commit a4c69d26ab
2 changed files with 158 additions and 5 deletions

View File

@ -0,0 +1,153 @@
#!/usr/bin/env bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# This script will run all the examples on the distribution
rm -rf target
mkdir target
# Setting the script to fail if anything goes wrong
set -e
export CURRENT_DIR=`pwd`
if [ $# -eq 0 ]; then
export LOCAL_USED=`ls ../../../target/apache-artemis-*bin.tar.gz`
echo Unziping $LOCAL_USED
tar -zxf $LOCAL_USED -C "./target/"
cd "./target/"
export ARTEMIS_HOME="`pwd`/`ls`"
echo home is $ARTEMIS_HOME
else
if [ -z "$1" ] ; then
echo "Couldn't find folder $1"
exit -1
fi
export ARTEMIS_HOME="$CURRENT_DIR/target/artemis_home"
cp -r "$1" "$ARTEMIS_HOME"
fi
cd $CURRENT_DIR
echo home used is $ARTEMIS_HOME
cd $ARTEMIS_HOME/examples/features/standard/
cd bridge; mvn verify; cd ..
cd bridge; mvn verify; cd ..
cd browser; mvn verify; cd ..
cd client-kickoff; mvn verify; cd ..
cd consumer-rate-limit; mvn verify; cd ..
cd dead-letter; mvn verify; cd ..
cd delayed-redelivery; mvn verify; cd ..
cd divert; mvn verify; cd ..
cd durable-subscription; mvn verify; cd ..
cd embedded; mvn verify; cd ..
cd embedded-simple; mvn verify; cd ..
cd expiry; mvn verify; cd ..
cd http-transport; mvn verify; cd ..
cd interceptor; mvn verify; cd ..
cd interceptor-client; mvn verify; cd ..
cd jms-auto-closeable; mvn verify; cd ..
cd instantiate-connection-factory; mvn verify; cd ..
cd jms-bridge; mvn verify; cd ..
cd jms-completion-listener; mvn verify; cd ..
cd jms-context; mvn verify; cd ..
cd jms-shared-consumer; mvn verify; cd ..
cd jmx; mvn verify; cd ..
# too big for most CI machines
#cd large-message; mvn verify; cd ..
cd last-value-queue; mvn verify; cd ..
cd management; mvn verify; cd ..
cd management-notifications; mvn verify; cd ..
cd message-counters; mvn verify; cd ..
cd message-group; mvn verify; cd ..
cd message-group2; mvn verify; cd ..
cd message-priority; mvn verify; cd ..
cd no-consumer-buffering; mvn verify; cd ..
cd paging; mvn verify; cd ..
cd pre-acknowledge; mvn verify; cd ..
cd producer-rate-limit; mvn verify; cd ..
cd queue; mvn verify; cd ..
cd queue-requestor; mvn verify; cd ..
cd queue-selector; mvn verify; cd ..
cd reattach-node; mvn verify; cd ..
cd request-reply; mvn verify; cd ..
cd rest; mvn verify; cd ..
cd scheduled-message; mvn verify; cd ..
cd security; mvn verify; cd ..
cd security-ldap; mvn verify; cd ..
cd send-acknowledgements; mvn verify; cd ..
cd spring-integration; mvn verify; cd ..
cd ssl-enabled; mvn verify; cd ..
cd ssl-enabled-dual-authentication; mvn verify; cd ..
cd static-selector; mvn verify; cd ..
cd temp-queue; mvn verify; cd ..
cd topic; mvn verify; cd ..
cd topic-hierarchies; mvn verify; cd ..
cd topic-selector-example1; mvn verify; cd ..
cd topic-selector-example2; mvn verify; cd ..
cd transactional; mvn verify; cd ..
cd xa-heuristic; mvn verify; cd ..
cd xa-receive; mvn verify; cd ..
cd xa-send; mvn verify; cd ..
cd $ARTEMIS_HOME/examples/features/clustered/
cd client-side-load-balancing; mvn verify; cd ..
cd clustered-durable-subscription; mvn verify; cd ..
cd clustered-grouping; mvn verify; cd ..
cd clustered-jgroups; mvn verify; cd ..
cd clustered-queue; mvn verify; cd ..
cd clustered-static-oneway; mvn verify; cd ..
cd clustered-static-discovery; mvn verify; cd ..
cd clustered-static-discovery-uri; mvn verify; cd ..
cd clustered-topic; mvn verify; cd ..
cd clustered-topic-uri; mvn verify; cd ..
cd queue-message-redistribution; mvn verify; cd ..
cd symmetric-cluster; mvn verify; cd ..
# TODO: these will hung eventually when ran in series
#cd $ARTEMIS_HOME/examples/features/ha/
#
#cd application-layer-failover; mvn verify; cd ..
#cd client-side-failoverlistener; mvn verify; cd ..
#cd colocated-failover; mvn verify; cd ..
#cd colocated-failover-scale-down; mvn verify; cd ..
#cd ha-policy-autobackup; mvn verify; cd ..
#cd multiple-failover; mvn verify; cd ..
#cd multiple-failover-failback; mvn verify; cd ..
#cd non-transaction-failover; mvn verify; cd ..
#cd replicated-failback; mvn verify; cd ..
#cd replicated-failback-static; mvn verify; cd ..
#cd replicated-multiple-failover; mvn verify; cd ..
#cd replicated-transaction-failover; mvn verify; cd ..
#cd scale-down; mvn verify; cd ..
#cd transaction-failover; mvn verify; cd ..
cd $CURRENT_DIR
rm -rf target

View File

@ -59,11 +59,6 @@ public class MessagePriorityExample {
// Step 6. Create a JMS Message Producer // Step 6. Create a JMS Message Producer
MessageProducer producer = session.createProducer(queue); MessageProducer producer = session.createProducer(queue);
// Step 7. Create a JMS Message Consumer
MessageConsumer redConsumer = session.createConsumer(queue);
redConsumer.setMessageListener(new SimpleMessageListener(msgReceived, result));
// Step 8. Create three messages // Step 8. Create three messages
TextMessage[] sentMessages = new TextMessage[3]; TextMessage[] sentMessages = new TextMessage[3];
sentMessages[0] = session.createTextMessage("first message"); sentMessages[0] = session.createTextMessage("first message");
@ -84,6 +79,11 @@ public class MessagePriorityExample {
"with priority: " + "with priority: " +
sentMessages[2].getJMSPriority()); sentMessages[2].getJMSPriority());
MessageConsumer redConsumer = session.createConsumer(queue);
redConsumer.setMessageListener(new SimpleMessageListener(msgReceived, result));
// Step 10. Start the connection now. // Step 10. Start the connection now.
connection.start(); connection.start();