File: sh20kb.sh

package info (click to toggle)
libnb-platform18-java 12.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 729,800 kB
  • sloc: java: 5,059,097; xml: 574,432; php: 78,788; javascript: 29,039; ansic: 10,278; sh: 6,386; cpp: 4,612; jsp: 3,643; sql: 1,097; makefile: 540; objc: 288; perl: 277; haskell: 93
file content (388 lines) | stat: -rw-r--r-- 22,173 bytes parent folder | download | duplicates (4)
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
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
#!/bin/bash
# itest bash script
# name : test-installer-creator.sh
# desc : Standalone installer test core script
# parameters which has to be exported from server:
#       ITEST_BUILD_NAME
#       ITEST_BUILD_VERSION
#       ITEST_CREATOR_PATH
#       ITEST_CREATOR_SUBDIRS
#       ITEST_CREATOR_FILES


# ****************************
# PREPARING OF THE ENVIRONMENT
# ****************************
echo "System environment preparing ..."

cd ~

declare ITEST_DIR=$(pwd)/itest
declare ITEST_ARCHIVE=installer/test/qa-functional/itest.zip
declare ITEST_SLEEP=10000
declare SYSTEM_TEMP=/tmp

cd $ITEST_DIR

if [ "$(test -f config && echo "OK")" == "" ]; then
    echo "config file is missing or it is corrupted"
    exit 1
fi

# The path where the JDK which will be used is installed
declare TEMP_BUFFER=$(cat config | grep "itest.jdk")
declare ITEST_JDK=${TEMP_BUFFER:10}
# The version of the JDK on tha ITEST_JDK path -> it's important only for standalone and asbundle package
declare TEMP_BUFFER=$(cat config | grep "itest.reqjdkver")
declare ITEST_REQJDKVER=${TEMP_BUFFER:16}
# The path where all builds of nb/jdkbundles/asbundles are situated (on unix stations it is "/net/phoenix/space/builds/netbeans"
declare TEMP_BUFFER=$(cat config | grep "itest.nbsourcepath")
declare ITEST_NBSOURCEPATH=${TEMP_BUFFER:19}
# Path to the CVS command which is used for checkouting of the actual versions of the test's scripts
declare TEMP_BUFFER=$(cat config | grep "itest.cvs")
declare ITEST_CVS=${TEMP_BUFFER:10}
# Path to the SCP command which is used for copying of the test report to the beetle
declare TEMP_BUFFER=$(cat config | grep "itest.scp")
declare ITEST_SCP=${TEMP_BUFFER:10}

# checking the existence of the global variables
if [ "${ITEST_DIR}" == "" ]; then
    echo "ITEST_DIR parameter missing"
    exit 1
elif [ "${ITEST_JDK}" == "" ]; then
    echo "ITEST_JDK parameter missing"
    exit 1
elif [ "${ITEST_REQJDKVER}" == "" ]; then
    echo "ITEST_REQJDKVER parameter missing"
    exit 1
elif [ "${ITEST_NBSOURCEPATH}" == "" ]; then
    echo "ITEST_NBSOURCEPATH parameter missing"
    exit 1
elif [ "${ITEST_CVS}" == "" ]; then
    echo "ITEST_CVS parameter missing"
    exit 1
elif [ "${ITEST_SCP}" == "" ]; then
    echo "ITEST_SCP parameter missing"
    exit 1
fi

if [ "$(test -f config && echo "OK")" != "" ]; then
    mv ./config $SYSTEM_TEMP/config
    declare MOVE=yes
fi

rm -rf *
rm -rf ~/InstallShield

if [ "$MOVE" == "yes" ]; then
    mv $SYSTEM_TEMP/config ./config
fi
            
$ITEST_CVS -d :pserver:qatester:user@server.domain:/cvs checkout $ITEST_ARCHIVE &>/dev/null
            
unzip -d ./ $ITEST_ARCHIVE &>/dev/null
rm -rf installer
            
if [ "$(test -f config && echo "OK")" == "" ]; then
    mv ./config.new ./config
fi

if [ "$(test -f config && echo "OK")" == "" ]; then
    echo "config file is missing or it is corrupted"
    exit 1
fi

# ***********************
# UPDATING THE TEST FILES
# ***********************
echo "Updating the test files ..."

# Additional settings
export ITEST_TEMP=$ITEST_DIR/temp
export ITEST_LOGS=$ITEST_DIR/logs
export ITEST_BIN=$ITEST_DIR/bin
export ITEST_JTOOL=$ITEST_DIR/jtool

# Inicialization of the local variables
declare CVS_SCRIPTS=installer/test/qa-functional/scripts/actions
declare LOCAL_SCRIPTS=$ITEST_DIR/scripts

# Checkouting for the actual version

cd $ITEST_DIR
    
$ITEST_CVS -d :pserver:qatester:user@server.domain:/cvs checkout $CVS_SCRIPTS &>/dev/null

rm -rf $LOCAL_SCRIPTS
                    
mv $ITEST_DIR/$CVS_SCRIPTS $LOCAL_SCRIPTS

rm -rf $ITEST_DIR/installer
                            
chmod +x $LOCAL_SCRIPTS/*

# *********************************
# POST UPDATING ENVIRONMENT SETTING
# *********************************
echo "Post updating environment setting ..."

# Directories existence check
if [ "$(test -d $ITEST_TEMP && echo "OK")" == "" ]; then
    mkdir $ITEST_TEMP
fi
    
if [ "$(test -d $ITEST_LOGS && echo "OK")" == "" ]; then
    mkdir $ITEST_LOGS
fi

# Post-checkout configuration of the environment
cd ${LOCAL_SCRIPTS}

# testing of the parameters exported from server
if [ "${ITEST_BUILD_NAME}" == "" ]; then
    echo "ITEST_BUILD_NAME parameter missing"
    exit 1
elif [ "${ITEST_BUILD_VERSION}" == "" ]; then
    echo "ITEST_BUILD_VERSION parameter missing"
    exit 1
elif [ "${ITEST_CREATOR_PATH}" == "" ]; then                                                                                                                                                                  
    echo "ITEST_CREATOR_PATH parameter missing"                                                                                                                                                             
    exit 1                                                                                                                                                                                                
elif [ "${ITEST_CREATOR_SUBDIRS}" == "" ]; then                                                                                                                                                                
    echo "ITEST_CREATOR_SUBDIRS parameter missing"                                                                                                                                                             
    exit 1                                                                                                                                                                                                
elif [ "${ITEST_CREATOR_FILES}" == "" ]; then                                                                                                                                                             
    echo "ITEST_CREATOR_FILES parameter missing"                                                                                                                                                          
    exit 1 
fi


# finding out of the platform
case $(uname) in
    CYGWIN_NT-5.1) declare ITEST_PLATFORM_IDENTIFIER=win
                   ;;
    CYGWIN_NT-5.0) declare ITEST_PLATFORM_IDENTIFIER=win
                   ;;
    Linux) declare ITEST_PLATFORM_IDENTIFIER=linux
           ;;
    SunOS) if [ "$(uname -p | grep "i386")" != "" ]; then
                declare ITEST_PLATFORM_IDENTIFIER=x86
           else
                declare ITEST_PLATFORM_IDENTIFIER=sparc
           fi
           ;;
    *) echo "UNKNOWN PLATFORM"
       exit 1
       ;;
esac

# ********************
# STARTING OF THE TEST
# ********************
echo "Test started ..."
echo "***"
echo ""

declare ITEST_PLATFORM_DETAIL=$(uname -a)
declare ITEST_TESTED_FILE=${ITEST_NBSOURCEPATH}$ITEST_CREATOR_PATH$(ls ${ITEST_NBSOURCEPATH}$ITEST_CREATOR_PATH | grep "${ITEST_PLATFORM_IDENTIFIER}" | grep netbeans)
declare ITEST_TESTED_CREATOR_FILE=${ITEST_NBSOURCEPATH}$ITEST_CREATOR_PATH$(ls ${ITEST_NBSOURCEPATH}$ITEST_CREATOR_PATH | grep "${ITEST_PLATFORM_IDENTIFIER}" | grep CreatorPack)
declare ITEST_JAVA=${ITEST_JDK}/jre/bin/java
declare ITEST_JAR=${ITEST_JDK}/bin/jar
declare ITEST_TEST_NAME="NetBeans IDE Standalone + Creator Pack Installer Test"
declare ITEST_CORE_LIB=${ITEST_JTOOL}/itest-core.jar
declare ITEST_JEMMY_LIB=${ITEST_JTOOL}/lib/jemmy.jar
declare ITEST_CANCEL_LIB=${ITEST_JTOOL}/itest-action-cancel.jar
declare ITEST_INSTALLERCREATOR_LIB=${ITEST_JTOOL}/itest-action-installercreator.jar
declare ITEST_IDE_JARFILE=${ITEST_TEMP}/standalone.jar
declare ITEST_CREATOR_JARFILE=${ITEST_TEMP}/creator.jar

# report header
echo "Testname : "$ITEST_TEST_NAME
echo ""
echo "Platform : "$ITEST_PLATFORM_DETAIL
echo "Tested IDE file : "$ITEST_TESTED_FILE
echo "Tested Creator file : "$ITEST_TESTED_CREATOR_FILE
echo "Date : "$(date)
echo ""
echo "Results :"

# runing the action script "action-bintojar.sh"
# TESTSTEP 1
# **********
echo -n "Teststep 1 - Converting the IDE binary file to the JAR....."

sleep 1
    
export ACTION_BINTOJAR_BINSOURCE=${ITEST_TESTED_FILE}
export ACTION_BINTOJAR_JARTARGET=${ITEST_IDE_JARFILE}
export ACTION_BINTOJAR_JAR=${ITEST_JAR}
export ACTION_BINTOJAR_TEMPDIR=${ITEST_TEMP}
export ACTION_BINTOJAR_PLATFORM=${ITEST_PLATFORM_IDENTIFIER}

./action-fail.sh
./action-bintojar.sh &>/dev/null

if [ "$?" = "0" ]; then
    echo PASS
else
    echo FAIL
fi

# runing the action script "action-bintojar.sh"                                                                                                                                                             
# TESTSTEP 2                                                                                                                                                                                               
# **********                                                                                                                                                                                                
echo -n "Teststep 2 - Converting the Creator binary file to the JAR....."                                                                                                                                       
                                                                                                                                                                                                            
sleep 1                                                                                                                                                                                                     
                                            
export ACTION_BINTOJAR_BINSOURCE=${ITEST_TESTED_CREATOR_FILE}                                                                                                                                                                
export ACTION_BINTOJAR_JARTARGET=${ITEST_CREATOR_JARFILE}
                                                                                                                                                                                                            
./action-fail.sh                                                                                                                                                                                            
./action-bintojar.sh &>/dev/null                                                                                                                                                                            
                                                                                                                                                                                                            
if [ "$?" = "0" ]; then                                                                                                                                                                                     
    echo PASS                                                                                                                                                                                               
else                                                                                                                                                                                                        
    echo FAIL                                                                                                                                                                                               
fi

# install the IDE
# TESTSTEP 3
# **********
echo "Teststep 3 - IDE Installer test"
echo ""
echo "==>"
echo ""

sleep 1

declare INSTALLER_TEST_INSTALLDIR=${ITEST_TEMP}/nb-standalone-$RANDOM
                            
if [ "${ITEST_PLATFORM_IDENTIFIER}" != "win" ]; then
    declare INSTALLER_TEST_NWRITEDIR=${ITEST_TEMP}/nwritedir

    rm -rf ${INSTALLER_TEST_NWRITEDIR}
    mkdir ${INSTALLER_TEST_NWRITEDIR}
    chmod 000 ${INSTALLER_TEST_NWRITEDIR}
else
    declare INSTALLER_TEST_NWRITEDIR=${ITEST_NBSOURCEPATH}
fi

if [ "${ITEST_PLATFORM_IDENTIFIER}" == "win" ]; then
    declare INSTALL_CLASSPATH=$(cygpath -wp ${ITEST_IDE_JARFILE}:${ITEST_CORE_LIB}:${ITEST_JEMMY_LIB})
    declare INSTALL_DIR=$(cygpath -wp ${INSTALLER_TEST_INSTALLDIR})
    declare INSTALL_JDKHOME=$(cygpath -wp ${ITEST_JDK})
    declare INSTALL_NWRITEDIR=$(cygpath -wp ${INSTALLER_TEST_NWRITEDIR})
else
    declare INSTALL_CLASSPATH=${ITEST_IDE_JARFILE}:${ITEST_CORE_LIB}:${ITEST_JEMMY_LIB}
    declare INSTALL_DIR=${INSTALLER_TEST_INSTALLDIR}
    declare INSTALL_JDKHOME=${ITEST_JDK}
    declare INSTALL_NWRITEDIR=${INSTALLER_TEST_NWRITEDIR}
fi

$ITEST_JAVA -cp $INSTALL_CLASSPATH org.netbeans.itest.Run -action installersa -log console -sleep $ITEST_SLEEP -name "netbeans standalone installer test" -installersa.nbpath $INSTALL_DIR -installersa.jdkpath $INSTALL_JDKHOME -installersa.nwritedir $INSTALL_NWRITEDIR -installersa.buildname "$ITEST_BUILD_NAME" -installersa.buildversion "$ITEST_BUILD_VERSION"

if [ "${ITEST_PLATFORM_IDENTIFIER}" != "win" ]; then
    chmod 777 ${INSTALLER_TEST_NWRITEDIR}
    rm -rf ${INSTALLER_TEST_NWRITEDIR}
fi

echo ""
echo "==>"
echo ""

# packing installed netbeans into zip archive
# *******************************************
echo "Packing installed netbeans..."

declare INSTALLER_ARCHIVE=$ITEST_TEMP/nb.zip

zip -r $INSTALLER_ARCHIVE $INSTALLER_TEST_INSTALLDIR &>/dev/null

echo ""

# running the uninstaller test                                                                                                                                                                              
# TESTSTEP 4                                                                                                                                                                                                
# **********                                                                                                                                                                                                
echo "Teststep 4 - NetBeans IDE Uninstaller test"                                                                                                                                                                    
echo ""                                                                                                                                                                                                     
echo "==>"                                                                                                                                                                                                  
echo ""                                                                                                                                                                                                     
                                                                                                                                                                                                            
sleep 1                                                                                                                                                                                                     
                                                                                                                                                                                                            
declare UNINSTALLER_JAR=${INSTALLER_TEST_INSTALLDIR}/_uninst/uninstall.jar                                                                                                                                  
                                                                                                                                                                                                            
if [ "${ITEST_PLATFORM_IDENTIFIER}" == "win" ]; then                                                                                                                                                        
    declare UNINSTALL_CLASSPATH=$(cygpath -wp ${UNINSTALLER_JAR}:${ITEST_CORE_LIB}:${ITEST_JEMMY_LIB})                                                                                                      
else                                                                                                                                                                                                        
    declare UNINSTALL_CLASSPATH=${UNINSTALLER_JAR}:${ITEST_CORE_LIB}:${ITEST_JEMMY_LIB}                                                                                                                     
fi                                                                                                                                                                                                          
                                                                                                                                                                                                                    
$ITEST_JAVA -cp $UNINSTALL_CLASSPATH org.netbeans.itest.Run -action uninstaller -log console -sleep $ITEST_SLEEP -name "netbeans uninstaller test" -uninstaller.buildname "$ITEST_BUILD_NAME" -uninstaller.buildversion "$INSTALL_BUILD_VERSION"
                                                                                                                                                                                                                    
echo ""                                                                                                                                                                                                     
echo "==>"
echo ""

# unpacking netbeans
# ******************
echo "Unpacking netbeans..."

unzip $INSTALLER_ARCHIVE -d / &>/dev/null

echo ""

# install the creator pack                                                                                                                                                                                
# TESTSTEP 5                                                                                                                                                                                           
# **********                                                                                                                                                                                                
echo "Teststep 5 - Creator Installer test"                                                                                                                                                                          
echo ""                                                                                                                                                                                                     
echo "==>"                                                                                                                                                                                                  
echo ""                                                                                                                                                                                                     
                                                                                                                                                                                                            
sleep 1                                                                                                                                                                                                     
                                                
if [ "${ITEST_PLATFORM_IDENTIFIER}" == "win" ]; then                                                                                                  
    declare INSTALL_CREATOR_CLASSPATH=$(cygpath -wp ${ITEST_CREATOR_JARFILE}:${ITEST_CORE_LIB}:${ITEST_JEMMY_LIB})                                          
else                                                                                                                                            
    declare INSTALL_CREATOR_CLASSPATH=${ITEST_CREATOR_JARFILE}:${ITEST_CORE_LIB}:${ITEST_JEMMY_LIB}                                                         
fi
                                                                                                                                                            
$ITEST_JAVA -cp $INSTALL_CREATOR_CLASSPATH org.netbeans.itest.Run -action installercreator -log console -sleep $ITEST_SLEEP -name "netbeans standalone+creator pack installer test" -Installercreator.NetBeansPath "$INSTALL_DIR" -Installercreator.NetBeansVersion "$ITEST_BUILD_VERSION" -Installercreator.CreatorPackDir "rave2.0" -Installercreator.CreatorPackSubdirList "$ITEST_CREATOR_SUBDIRS" -Installercreator.CreatorPackFileList "$ITEST_CREATOR_FILES"
                                                                                                                                                                                                                                                        
echo ""                                                                                                                                                                                                     
echo "==>"                                                                                                                                                                                                  
echo ""  

# ***************************
# CLEANING UP THE ENVIRONMENT
# ***************************
echo ""
echo "***"
echo "Test finished ..."
echo "System environment cleaning ..."

cd $ITEST_DIR

if [ "$(test -f config && echo "OK")" != "" ]; then
    mv ./config $SYSTEM_TEMP/config
    declare MOVE=yes
fi

rm -rf *
rm -rf ~/InstallShield

if [ "$MOVE" == "yes" ]; then
    mv $SYSTEM_TEMP/config ./config
fi

# ****
# DONE
# ****
echo "Done"

pkill -u tester &>/dev/null

exit 0