-
Notifications
You must be signed in to change notification settings - Fork 21
/
cts-smoke.sh
177 lines (144 loc) · 4.27 KB
/
cts-smoke.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
#!/bin/bash -ex
#
# Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Distribution License v. 1.0, which is available at
# http://www.eclipse.org/org/documents/edl-v10.php.
#
# SPDX-License-Identifier: BSD-3-Clause
#
source setenv.sh
USAGE="Usage: `basename $0` -c cts.zip (-g glassfish.zip || -s gfsvnroot) [-w workingdir] [-m metro.zip]"
while getopts "c:g:w:s:m:" opt; do
case $opt in
c)
CTS_ZIP=$OPTARG
;;
s)
GF_SVN_ROOT=$OPTARG
;;
g)
GF_ZIP=$OPTARG
;;
w)
WORK_DIR=$OPTARG
;;
m)
METRO_ZIP=$OPTARG
;;
\?)
echo $USAGE >&2
exit 1
;;
esac
done
#fallback to defaults if needed
if [[ ( -z "$GF_ZIP" ) && ( ! -z "$GF_SVN_ROOT" ) && ( -d $GF_SVN_ROOT ) ]] ; then
GF_ZIP=$GF_SVN_ROOT/appserver/distributions/glassfish/target/glassfish.zip
echo "setting GF_ZIP to $GF_ZIP"
fi
set_common
set_ports
#CTS specific:
if [ -z "$DERBY_PORT" ] ; then
DERBY_PORT=1527
fi
if [ -z "$WEB_SERVICE_SECURE_PORT" ] ; then
WEB_SERVICE_SECURE_PORT=1044
fi
if [ -z "$MAIL_USER" ]; then
MAIL_USER="root"
fi
CTS_WORK_DIR=$WORK_DIR/tmp-cts
ORB_HOST=localhost
print_env
echo "Test settings:"
echo "====================="
echo "CTS zip: $CTS_ZIP"
print_test_env
echo "Working directory - CTS: $CTS_WORK_DIR"
print_ports
echo "DERBY_PORT: $DERBY_PORT"
echo "WEB_SERVICE_SECURE_PORT: $WEB_SERVICE_SECURE_PORT"
echo
#validate input
declare -a errors
if [[ ( -z "$CTS_ZIP" ) || ( ! -f $CTS_ZIP ) ]]; then
errors+="CTS_ZIP, "
fi
if [[ ( -z "$GF_SVN_ROOT" ) && ( ! -f "$GF_ZIP" ) ]]; then
errors+="GF_SVN_ROOT or GF_ZIP, "
fi
if [ ! -w "$WORK_DIR" ]; then
errors+="WORK_DIR, "
fi
if [[ ( ! -z "$METRO_ZIP" ) && ( ! -f $METRO_ZIP ) ]]; then
errors+="METRO_ZIP "
fi
if [ ${#errors[@]} -gt 0 ]; then
echo "${errors[*]} not set correctly"
exit 1
fi
_unzip $GF_ZIP $GF_WORK_DIR
if [ -d "$GF_WORK_DIR/glassfish4" ]; then
SERVER_DIR=glassfish4
else
SERVER_DIR=glassfish3
fi
AS_HOME=$GF_WORK_DIR/$SERVER_DIR/glassfish
echo "AS_HOME: $AS_HOME"
echo
if [ ! -z "$METRO_ZIP" ]; then
install_metro $AS_HOME
fi
#domain setup
echo "Re-creating default domain"
create_domain
_unzip $CTS_ZIP $CTS_WORK_DIR
pushd $CTS_WORK_DIR/javaee-smoke/bin
echo "Updating ts.jte in `pwd`"
X=`echo "$AS_HOME" | awk '{gsub(/\//,"\\\/");print}'`
Y=`echo "$WORK_DIR/test_results-cts" | awk '{gsub(/\//,"\\\/");print}'`
echo "CTS java.home(.ri): $X"
sed -in 's/^javaee.home=.*/javaee.home='"$X"'/g' ts.jte
sed -in 's/^javaee.home.ri=.*/javaee.home.ri='"$X"'/g' ts.jte
echo "CTS orb.host(.ri): $ORB_HOST"
sed -in 's/^orb.host=.*/orb.host='"$ORB_HOST"'/g' ts.jte
sed -in 's/^orb.host.ri=.*/orb.host.ri='"$ORB_HOST"'/g' ts.jte
echo "CTS orb.port.ri: $ORB_PORT"
sed -in 's/3700/'$ORB_PORT'/g' ts.jte
echo "CTS *.admin.port: $ADMIN_PORT"
sed -in 's/4848/'$ADMIN_PORT'/g' ts.jte
echo "CTS derby.port: $DERBY_PORT"
sed -in 's/1527/'$DERBY_PORT'/g' ts.jte
echo "CTS webServerPort: $ALTERNATE_PORT"
sed -in 's/8001/'$ALTERNATE_PORT'/g' ts.jte
echo "CTS securedWebServicePort: $WEB_SERVICE_SECURE_PORT"
sed -in 's/1044/'$WEB_SERVICE_SECURE_PORT'/g' ts.jte
if [ ! -z "$MAIL_HOST" ]; then
echo "CTS mailuser1: $MAIL_USER@$MAIL_HOST"
sed -in 's/^mailuser1=/mailuser1='"$MAIL_USER@$MAIL_HOST"'/g' ts.jte
echo "CTS mailHost: $MAIL_HOST"
sed -in 's/^mailHost=/mailHost='"$MAIL_HOST"'/g' ts.jte
echo "CTS mailFrom: $MAIL_USER_FROM@$MAIL_HOST"
sed -in 's/^mailFrom=/mailFrom='"$MAIL_USER_FROM@$MAIL_HOST"'/g' ts.jte
echo "CTS javamail.password: $MAIL_PWD"
sed -in 's/^javamail.password=/javamail.password='"$MAIL_PWD"'/g' ts.jte
fi
echo "CTS report.dir: $Y"
sed -in 's/^report.dir=.*/report.dir='"$Y"'/g' ts.jte
echo "CTS work.dir: /tmp/JTWork"
sed -in 's/^work.dir=.*/work.dir=\/tmp\/JTWork/g' ts.jte
popd
echo "Running GlassFish CTS smoke tests..."
pushd $CTS_WORK_DIR/javaee-smoke/bin/xml
ant -f smoke.xml smoke | tee $WORK_DIR/test-cts-smoke.log.txt
popd
if [ -z "$MAIL_HOST" ]; then
echo
echo "6 failures are expected because nobody told me how to send emails..."
echo "(MAIL_HOST has not been set)"
echo
fi
echo "Done."