1 jim.wunderlich 1.1 #!/bin/bash
2
3 #### bash shell
4
5 ##############################################################################
6 ##############################################################################
7 ##
8 ## pegasus nightly run script
9 ##
10 ## This script presumes that CVS, Complier and GNU make are all installed
11 ## and pathed.
12 ##
13 ## It will checkout the tree, build it, and run test.
14 ##
15 ## There is a status output file that is output to during the running of
16 ## the script (running_status_file) and the results are summarized in the
17 ## mail file (mail_file) that will be mailed to the selected destination.
18 ##
19 ## The nightly directory will contain the following after the script has
20 ## been run.
21 ##
22 jim.wunderlich 1.1 ## all_out pegasus runtime
23 ## cvs_co_out poststarttests_out standardtests_out
24 ## mail_file perftests_out
25 ## patch_out running_status_file tests_out
26 ##
27 ## There are sevearl execution steps within the script that can be
28 ## configured to TO_RUN or NOT_TO_RUN. Each step outputs to a file based on
29 ## its name by appending "_out"
30 ##
31 ## The steps are:
32 ##
33 ## STEP NAME OUTPUT FILE DESCRIPTION
34 ## ---------- ---------------------- ------------
35 ## cvs_co cvs_co_out file checkout
36 ## all all_out build source tree
37 ## tests test_out runs the unit tests
38 ## perftests perftests_out runs perftest
39 ## poststarttests poststarttests_out runs server tests
40 ## standardtests standardtests_out runs more server tests
41 ##
42 #############################################################################
43 jim.wunderlich 1.1 #############################################################################
44 ##
45 ## Set up the configuration for the nightly build
46 ##
47 ## There are three configuration areas.
48 ## 1. The variables that may be changed between runs to test different things
49 ## 2. Tha variables to be changed to set this script up for a particular system
50 ## 3. The variables to be changed to contrl the PEGASUS build evironment
51 ##
52
53 #############################################################################
54 #############################################################################
55 ## CONFIG area 1 - Variables to control the run charecteristics
56 ##
57 ##
58 ## The starting status of each step is set to TO_RUN. This string is
59 ## also used to initialize the respective output file
60 ## for that step.
61 ##
62 ## If the step status is set to the special string "NOT_TO_RUN" then
63 ## that step will be skipped.
64 jim.wunderlich 1.1 ##
65
66 cvs_co_status=TO_RUN
67 patch_status=TO_RUN
68 all_status=TO_RUN
69 tests_status=TO_RUN
70 perftests_status=TO_RUN
71 poststarttests_status=TO_RUN
72 standardtests_status=TO_RUN
73
74
75 status=NOT_DONE
76
77 ##
78 ## The RUN_NUM string is appended to theoutput files name and can be used to
79 ## prevent overwriting output files from previous runs.
80 ##
81 RUN_NUM="" # string appended to the output files
82 ###RUN_NUM="2"
83
84 ##############################################################################
85 jim.wunderlich 1.1 ##############################################################################
86 ## CONFIG area 2 - Variables to setup this script to run on a particular system
87 ##
88
89 ##
90 ## export the CVS repository info
91 ##
92 ## for user anon the password is anon you will have to do a cvs login
93 ## one time on your machine. After that CVS will remember the password
94 ##
95 ## CVS_USER_PASSWD=anon
96 ##
97 CVS_USER=anon
98
99 export CVSROOT=:pserver:${CVS_USER}@cvs.opengroup.org:/cvs/MSB
100
101 MOD_NAME="pegasus" # module to checkout to name pegasus
102
103
104 ##
105 ## Set up the diretory names and export the PEGASUS env variables
106 jim.wunderlich 1.1 ##
107 PEG_LOC_ROOT=~wunder/peg ## directory where the nightly directory is
108
109 dirName=TOGnightly ## nightly directory name
110 ##dirName=INnightly ## nightly directory name
111
112 cd $PEG_LOC_ROOT
113
114 BASE_DIR=$PEG_LOC_ROOT/$dirName
115
116 OS_NAME_VER="SUSE 9.2 Pro" # set the OS name for the report
117 ## OS_NAME_VER="SunOS 5.8"
118 CPU_TYPE="Intel Pentium III" # set the CPU type for the report
119 CPU_FREQ="800 Mhz" # set the CPU freq for the report
120 CPU_CNT="1" # set the number of CPU's for the report
121
122 export PEGASUS_PLATFORM=LINUX_IX86_GNU
|
123 jim.wunderlich 1.2 ## export PEGASUS_PLATFORM=SOLARIS_SPARC_GNU
|
124 jim.wunderlich 1.1
125 export PEGASUS_ROOT=$BASE_DIR/pegasus
126 export PEGASUS_HOME=$BASE_DIR/runtime
127
128 export PATH=$PATH:$PEGASUS_HOME/bin ## set path to include the pegaus bin dir
129
130
131 PATCH_FILE=$BASE_DIR/../SW_changes_TOG ## set the Patch File location
132 PATCH_ERRORS=$BASE_DIR/patching_errors_TOG ## set the patch errors file location
133
134 MAIL_TO="pegasus-build-status@opengroup.org"
135
136 ###############################################################################
137 ###############################################################################
138 ## CONFIG area 3 - Variables to control the pegasus build charecteristics
139 ##
140
141
142 ######################################################
143 ## PEGASUS_HAS_SSL specifies SSL is to be compiled on
144 ## OPENSSL_BIN specifies the location of the OpenSSL binary.
145 jim.wunderlich 1.1 ## OPENSSL_HOME Specifies the location of the OpenSSL SDK directory.
146 ## This directory must contain the OpenSSL include and library directory.
147 ##
148 ## export PEGASUS_HAS_SSL=true
149 ## export OPENSSL_BIN=TBD_PATH
150 ## export OPENSSL_HOME=TBD_PATH
151 ## PEGASUS_ENABLE_SSLV2=true
152 ##
153 ## export PEGASUS_HAS_SSL=true
154 ## export OPENSSL_HOME=/usr ## needed on SUSE Linux
155
156 ######################################################
157 ## Controls how repository is built.
158 ##
159 ## PEGASUS_REPOSITORY_MODE= XML or BIN
160 ## PEGASUS_ENABLE_COMPRESSED_REPOSITORY Enables compressed repository
161 ## PEGASUS_ENABLE_COMPRESSED_REPOSITORY=true
162 ##
163
164 ######################################################
165 ## Controls Service Locator Protocol
166 jim.wunderlich 1.1 ##
167 ## PEGASUS_ENABLE_SLP Enables Service Locator Protocol.
168 ## SLP is used in discovery of CIMOMs location.
169 ##
170 ## PEGASUS_ENABLE_SLP=true
171 ##
172
173 ######################################################
174 ## Controls Debugging Capabilities
175 ##
176 ## PEGASUS_NOASSERTS Remove asserts
177 ## PEGASUS_DEBUG enables build with symble tables
178 ## PEGASUS_DISABLE_DEPRECATED_INTERFACES Removes deprecated symbol definitions
179 ## PEGASUS_EXTRA_C_FLAGS Extra C compiler flags,
180 ## PEGASUS_EXTRA_CXX_FLAGS Extra C++ compiler flags
181 ## PEGASUS_EXTRA_LINK_FLAGS Extra link flag,
182 ## PEGASUS_TEST_VERBOSE Sets verbose mode for most of the tests
183 ##
184 ## export PEGASUS_DEBUG=true
185 ## export PEGASUS_NOASSERTS=true
186 ## export PEGASUS_DISABLE_DEPRECATED_INTERFACES=true
187 jim.wunderlich 1.1 ## export PEGASUS_TEST_VERBOSE=true
188 ##
189 export PEGASUS_DEBUG=true
190
191 ######################################################
192 ## Internationalization support
193 ##
194 ## PEGASUS_HAS_MESSAGES Enable localization support,
195 ## ICU_INSTALL Directory with ICU libraries
196 ## ICU_ROOT Directory with ICU source code,
197 ##
198 ## export PEGASUS_HAS_MESSAGES=true
199 ##
200
201 #####################################################
202 ## CQL language support
203 ##
204 ## PEGASUS_DISABLE_CQL Disables CQL language support
205 ##
206 ## export PEGASUS_DISABLE_CQL=true
207 ##
208 jim.wunderlich 1.1
|
209 jim.wunderlich 1.2 #####################################################
210 ##
211 ## PEGASUS_DISABLE_PROV_USERCTXT
212 ##
213 ##
214 ## Builds a version of OpenPegasus that disables supports for the Provider
215 ## User Context feature. This feature allows a Provider to choose the
216 ## user context in which it is invoked, including the ability to run in
217 ## the context of the user requesting an operation.
218 ##
219 ## PEGASUS_DISABLE_PROV_USERCTXT
220 ## PEGASUS_DISABLE_PROV_USERCTXT_REQUESTOR
221 ## PEGASUS_DISABLE_PROV_USERCTXT_DESIGNATED
222 ## PEGASUS_DISABLE_PROV_USERCTXT_PRIVILEGED
223 ## PEGASUS_DISABLE_PROV_USERCTXT_CIMSERVER
224
225 export PEGASUS_DISABLE_PROV_USERCTXT=true
226 # export PEGASUS_DISABLE_PROV_USERCTXT_REQUESTOR=true
227 # export PEGASUS_DISABLE_PROV_USERCTXT_DESIGNATED=true
228 # export PEGASUS_DISABLE_PROV_USERCTXT_PRIVILEGED=true
229 # export PEGASUS_DISABLE_PROV_USERCTXT_CIMSERVER=true
230 jim.wunderlich 1.2
|
231 jim.wunderlich 1.4
232 #####################################################
233 ##
234 ## PEGASUS_DEFAULT_ENABLE_OOP
235 ##
236 ## set the servers default value for OOP
237 ##
238 ## When set to true, the Out-of-Process Providers feature is enabled.
239 ## (forceProviderProcesses=false).
240 ## When set to false, the Out-of-Process Providers feature is disabled.
241 ## (forceProviderProcesses=true).
242 ##
243 ## export PEGASUS_DEFAULT_ENABLE_OOP=true
244 ## export PEGASUS_DEFAULT_ENABLE_OOP=false
245 ##
246
247 export PEGASUS_DEFAULT_ENABLE_OOP=false
248
249
|
250 jim.wunderlich 1.3 #####################################################
251 ##
|
252 jim.wunderlich 1.4 ## PEGASUS_DISABLE_PRIVILEGED_TESTS
253 ##
254 ## turn privaleged test off
255 ##
256 ## export PEGASUS_DISABLE_PRIVILEGED_TESTS=true
|
257 jim.wunderlich 1.3 ##
|
258 jim.wunderlich 1.4
259 export PEGASUS_DISABLE_PRIVILEGED_TESTS=true
260
261
262 ######################################################
|
263 jim.wunderlich 1.3 ##
|
264 jim.wunderlich 1.4 ## PEGASUS_USE_MU_DEPEND
|
265 jim.wunderlich 1.3 ##
|
266 jim.wunderlich 1.4 ## Set linux to use the mu depend.
|
267 jim.wunderlich 1.3 ##
|
268 jim.wunderlich 1.4 ## use this if makedepend is not installed on Linux
|
269 jim.wunderlich 1.3 ##
|
270 jim.wunderlich 1.4 ## export PEGASUS_USE_MU_DEPEND=true
|
271 jim.wunderlich 1.3 ##
272
273
|
274 jim.wunderlich 1.2
275
|
276 jim.wunderlich 1.1 ##############################################################################
277 ##############################################################################
278 ##############################################################################
279 ##############################################################################
280 #####
281 ##### DO NOT MAKE EDITS BELOW THIS POINT
282 #####
283 ##### The rest of the file should not need to be edited.
284 #####
285 ##### All the speciic configuration parameters should be above this
286 ##### demarcation point. Everthing below uses the configuration data
287 ##### and runs the requested tests outputing the results to the output files
288 ##### and the "running_status_file" and the summary "mail_file"
289 #####
290 ##############################################################################
291 ##############################################################################
292 ##############################################################################
293 ##############################################################################
294
|
295 jim.wunderlich 1.5 ## set variable to cvs revisionnumber
|
296 jim.wunderlich 1.7 PEG_NIGHTLY_REV="\$Revision: 1.6 $"
|
297 jim.wunderlich 1.1
298
299 ##############################################################################
300 ##############################################################################
301 ##
302 ## Function defintions
303 ##
304
305 ##################
306 # function to put output to the $status_file
307 #
308 function STATUS_OUT()
309 {
310 echo "$1" ;
311 echo "$1" >> $status_file ;
312 return 0 ;
313 }
314
315 ##################
316 # function to put output to the $MAIL_FILE
317 #
318 jim.wunderlich 1.1 function MAIL_OUT()
319 {
320 echo "$1" >> $MAIL_FILE ;
321 return 0 ;
322 }
323
324 ##################
325 # Function to initialise the step file name and to initialze the file
326 #
327 # Creates the output file and the assigns its name to a variable
328 #
329 # eg: for the step called tests the following will be created
330 # $tests_out_file set to $BASE_DIR/tests_out$RUN_NUM
331 # and the initial step status will be output to the file
332 #
333 # create the output file names
334 # tests_out_file=$BASE_DIR/tests_out$RUN_NUM
335 # create the output files
336 # echo "$tests_status" > $tests_out_file
337 #
338 function INIT_STEP_FILE()
339 jim.wunderlich 1.1 {
340 CMD=$1
341 out_file=${CMD}_out_file
342 name=${CMD}_out
343 step_status=${CMD}_status
344 step_start_time=${CMD}_start_time
345 step_stop_time=${CMD}_stop_time
346
347 export $step_start_time=NA
348 export $step_stop_time=NA
349
350 #create the output file name
351 export $out_file=$BASE_DIR/$name$RUN_NUM
352
353 #create the output file
354 echo ${!step_status} > ${!out_file}
355 }
356
357
358 ##################
359 # function to execute the step for a Makefile step
360 jim.wunderlich 1.1 #
361 function EXEC_MAKE_STEP()
362 {
363 CMD=$1
364 out_file=${CMD}_out_file
365 step_status=${CMD}_status
366 step_start_time=${CMD}_start_time
367 step_stop_time=${CMD}_stop_time
368
369 if [ "${!step_status}" != "NOT_TO_RUN" ] ; then
370
371 STATUS_OUT "make -s $CMD started at `$TIME_CMD` "
372
373 export $step_start_time=`$TIME_CMD`
374
375 if make -s $CMD 1>${!out_file} 2>&1
376 then
377 export $step_status="SUCCESS"
378 else
379 export $step_status="FAILURE"
380 fi
381 jim.wunderlich 1.1
382 export $step_stop_time=`$TIME_CMD`
383
384 fi
385
386 STATUS_OUT "make $CMD ${!step_status} at `$TIME_CMD` "
387
388 }
389
390 ##################
391 # function to execute the step for a TestMakefile step
392 #
393 function EXEC_TESTMAKE_STEP()
394 {
395 CMD=$1
396 out_file=${CMD}_out_file
397 step_status=${CMD}_status
398 step_start_time=${CMD}_start_time
399 step_stop_time=${CMD}_stop_time
400
401
402 jim.wunderlich 1.1 if [ "${!step_status}" != "NOT_TO_RUN" ] ; then
403 STATUS_OUT "make $CMD started at `$TIME_CMD` "
404
405 export $step_start_time=`$TIME_CMD`
406
407 if time make -f TestMakefile -s $CMD 1>>${!out_file} 2>&1
408 then
409 export $step_status="SUCCESS"
410 else
411 export $step_status="FAILURE"
412 fi
413
414 export $step_stop_time=`$TIME_CMD`
415
416 fi
417
418 STATUS_OUT "make $CMD ${!step_status} at `$TIME_CMD` "
419
420 }
421
422 ##################
423 jim.wunderlich 1.1 # function to output status for a step
424 #
425 function REPORT_STEP_STATUS ()
426 {
427 CMD=$1
428 out_file=${CMD}_out_file
429 step_status=${CMD}_status
430 step_start_time=${CMD}_start_time
431 step_stop_time=${CMD}_stop_time
432
433 MAIL_OUT "Make $CMD Status: ${!step_status}"
434 MAIL_OUT "Make $CMD Start Time: ${!step_start_time}"
435 MAIL_OUT "Make $CMD Stop Time: ${!step_stop_time}"
436 MAIL_OUT " "
437
438 }
439
440 ##################
441 # function to output report for a step
442 #
443 function REPORT_STEP ()
444 jim.wunderlich 1.1 {
445 CMD=$1
446 CNT=$2
447 out_file=${CMD}_out_file
448 step_status=${CMD}_status
449
450 MAIL_OUT "-------------------------------------------------------"
451 MAIL_OUT "Make $CMD output: "
452 MAIL_OUT " "
453 tail -${CNT} ${!out_file} >> $MAIL_FILE
454 MAIL_OUT " "
455
456 }
457
458 ##################
459 # function to output report for a step
460 #
461 function REPORT_STEP_ALL ()
462 {
463 CMD=$1
464 out_file=${CMD}_out_file
465 jim.wunderlich 1.1 step_status=${CMD}_status
466
467 MAIL_OUT "-------------------------------------------------------"
468 MAIL_OUT "Make $CMD output: "
469 MAIL_OUT " "
470 cat ${!out_file} >> $MAIL_FILE
471 MAIL_OUT " "
472
473 }
474
475 ###########################################################################
476 ###########################################################################
477 ##
478 ## Configuration is now complete
479 ## Begin execution
480 ##
481
482 if [ ! -e "$PEG_LOC_ROOT" ] ; then
483 mkdir $PEG_LOC_ROOT
484 fi
485
486 jim.wunderlich 1.1
487 TIME_CMD="date -u +%H%M%S"
488
489 platform="$PEGASUS_PLATFORM ($OS_NAME_VER)"
490 branch="MAIN"
491 datestamp=`date -u +%y%m%d`
492 timestamp=`date -u +%H%M`
493 endtimestamp="NOT_DONE"
494 header="UNKNOWN STATUS: $branch: $platform: $datestamp"
495
496 if [ "$cvs_co_status" != "NOT_TO_RUN" ] ; then
497
498 rm -rf $BASE_DIR
499 mkdir $BASE_DIR
500 fi
501
502 cd $BASE_DIR
503
504
505 INIT_STEP_FILE cvs_co
506 INIT_STEP_FILE patch
507 jim.wunderlich 1.1 INIT_STEP_FILE all
508 INIT_STEP_FILE tests
509 INIT_STEP_FILE perftests
510 INIT_STEP_FILE poststarttests
511 INIT_STEP_FILE standardtests
512
513 # create the running status file
514 touch $BASE_DIR/test_running
515
516 # Create new make output file for mail message.
517 MAIL_FILE=$BASE_DIR/mail_file$RUN_NUM
518 echo " " > $MAIL_FILE
519
520 status_file=$BASE_DIR/running_status_file$RUN_NUM
521 echo " " > $status_file
522
523 STATUS_OUT "Starting nightly test"
524 STATUS_OUT "platform=$platform"
525 STATUS_OUT "Date: $datestamp "
526 STATUS_OUT "Time: $timestamp GMT"
527 STATUS_OUT "Current User=`whoami`"
528 jim.wunderlich 1.1 STATUS_OUT "BASE_DIR=$BASE_DIR"
529 STATUS_OUT "CVSROOT=$CVSROOT"
530 STATUS_OUT "PEGASUS_HOME=$PEGASUS_HOME"
531 STATUS_OUT "PEGASUS_ROOT=$PEGASUS_ROOT"
532 STATUS_OUT "PEGASUS_PLATFORM=$PEGASUS_PLATFORM"
533 STATUS_OUT " "
534 STATUS_OUT "cvs_co_file=$cvs_co_out_file"
535 STATUS_OUT "patch_file=$patch_out_file"
536 STATUS_OUT "make_file=$all_out_file"
537 STATUS_OUT "tests_file=$tests_out_file"
538 STATUS_OUT "perftests_file=$perftests_out_file"
539 STATUS_OUT "poststarttests_file=$poststarttests_out_file"
540 STATUS_OUT "standardtests_file=$standardtests_out_file"
541
542
543 STATUS_OUT " "
544 STATUS_OUT "cvs_co_status=$cvs_co_status"
545 STATUS_OUT "patch_status=$patch_status"
546 STATUS_OUT "all_status=$all_status"
547 STATUS_OUT "tests_status=$tests_status"
548 STATUS_OUT "poststarttests_status=$poststarttests_status"
549 jim.wunderlich 1.1 STATUS_OUT "standardtests_status=$standardtests_status"
550 STATUS_OUT "perftests_status=$perftests_status"
551
552 # checkout a new tree
553 if [ "$cvs_co_status" != "NOT_TO_RUN" ] ; then
554
555 STATUS_OUT "checkout of $MOD_NAME module started at `$TIME_CMD` "
556
|
557 jim.wunderlich 1.4 cvs -z6 co -d pegasus $MOD_NAME 1>$cvs_co_out_file 2>&1
|
558 jim.wunderlich 1.1 fi
559
560 if [ -d pegasus ] ; then
561 cvs_co_status="SUCCESS"
562 cd pegasus/src/utils
563 make 1>>$cvs_co_out_file 2>&1
564 cd mu
565 make 1>>$cvs_co_out_file 2>&1
566 cd $BASE_DIR
567 else
568 cvs_co_status="FAILURE"
569 fi
570
571 STATUS_OUT "checkout of file $cvs_co_status at `$TIME_CMD` "
572
573 cd pegasus
574
575 if [ "$patch_status" != "NOT_TO_RUN" ] ; then
576 if [ -e $PATCH_FILE ] ; then
577 STATUS_OUT "SW changes needed, applying $PATCH_FILE patches"
578 patch -p0 -b -r $PATCH_ERRORS < $PATCH_FILE 1>$patch_out_file 2>&1
579 jim.wunderlich 1.1
580 if [ -e $PATCH_ERRORS ] ; then
581 STATUS_OUT echo "ERROR applying patch $PATCH_FILE: see $PATCH_ERRORS file "
582 exit
583 fi
584 else
585 STATUS_OUT "SW changes not needed, no file $PATCH_FILE"
586
587 fi
588 fi
589
590 if [ "$cvs_co_status" == "SUCCESS" ] ; then
591
592 EXEC_MAKE_STEP all
593
594 fi
595
596 if [ "$cvs_co_status" == "SUCCESS" ] \
597 || [ "$cvs_co_status" == "NOT_TO_RUN" ] \
598 && [ "$all_status" == "SUCCESS" ] \
599 || [ "$all_status" == "NOT_TO_RUN" ]
600 jim.wunderlich 1.1 then
601 EXEC_MAKE_STEP tests
602
603 ##
604 ## The setupdevserver rule is available in 2.5.1 but not in 2.5
605 ##
606
607 make setupdevserver 1>>../all_out 2>&1
608
609 ##
610 ## use the following on 2.5. They will also work on 2.5.1
611 ## On 2.5 you have to build the repository or run the prestarttests rule
612 ## rather than then tests rule above. The prestarttests rule built the
613 ## repositories and then ran the unit functional tests.
614 ##
615 ##
616 ## make --directory=./src/Server -f Makefile install_run 1>>$poststarttests_out_file 2>&1
617 ## make --directory=./src/Clients/ssltrustmgr/tests -f Makefile test_setup 1>>$poststarttests_out_file 2>&1
618 ##
619 ##
620
621 jim.wunderlich 1.1 EXEC_TESTMAKE_STEP perftests
622 EXEC_TESTMAKE_STEP poststarttests
623 EXEC_TESTMAKE_STEP standardtests
624 fi
625
626 # Build the test report for mailing
627
628 endtimestamp=`date -u +%H%M` ## get the completion time
629
630 # Determine the overall status of the tests
631
632 if [ "$cvs_co_status" == "SUCCESS" ] \
633 || [ "$cvs_co_status" == "NOT_TO_RUN" ] \
634 && [ "$all_status" == "SUCCESS" ] \
635 || [ "$all_status" == "NOT_TO_RUN" ] \
636 && [ "$tests_status" == "SUCCESS" ] \
637 || [ "$tests_status" == "NOT_TO_RUN" ] \
638 && [ "$perftests_status" == "SUCCESS" ] \
639 || [ "$perftests_status" == "NOT_TO_RUN" ] \
640 && [ "$poststarttests_status" == "SUCCESS" ] \
641 || [ "$poststarttests_status" == "NOT_TO_RUN" ] \
642 jim.wunderlich 1.1 && [ "$standardtests_status" == "SUCCESS" ] \
643 || [ "$standardtests_status" == "NOT_TO_RUN" ]
644 then
645 status="SUCCESS"
646 else
647 status="FAILURE"
648 fi
649
650 header="$status: $branch: $platform: $datestamp"
651
652 MAIL_OUT "Platform: $platform"
653 MAIL_OUT "Branch: $branch"
654 MAIL_OUT "Date: $datestamp"
655 MAIL_OUT "Time: $timestamp GMT"
656 MAIL_OUT "Status: $status "
657 MAIL_OUT "End Time: $endtimestamp GMT"
658 MAIL_OUT " "
659 MAIL_OUT "-------------------------------------------------------"
660 MAIL_OUT "Mail_To: $MAIL_TO"
661 MAIL_OUT "The_Subject: $header"
662 MAIL_OUT "-------------------------------------------------------"
663 jim.wunderlich 1.1 MAIL_OUT " "
664 MAIL_OUT "SW changes:"
665 if [ -e $PATCH_FILE ] ; then
666 MAIL_OUT "Yes SW changes used, and attached below"
667 else
668 MAIL_OUT "No SW changes needed"
669 fi
670
671 MAIL_OUT " "
672 MAIL_OUT "The Time Format is HHMMSS GMT time"
673 MAIL_OUT " "
674 REPORT_STEP_STATUS all
675 REPORT_STEP_STATUS tests
676 REPORT_STEP_STATUS perftests
677 REPORT_STEP_STATUS poststarttests
678 REPORT_STEP_STATUS standardtests
679
|
680 jim.wunderlich 1.5 MAIL_OUT "------------------------------"
681 MAIL_OUT "Peg_nightly script cvs version:"
682 MAIL_OUT " "
683 MAIL_OUT "Peg_nightly version is $PEG_NIGHTLY_REV"
684 MAIL_OUT " "
|
685 jim.wunderlich 1.1 MAIL_OUT "-------------------------------------------------------"
686 MAIL_OUT "Pegasus Environment Variables:"
687 printenv | grep PEGASUS >> $MAIL_FILE
688 printenv | grep OPENSSL >> $MAIL_FILE
689 MAIL_OUT " "
690 MAIL_OUT " "
691 MAIL_OUT "-------------------------------------------------------"
692 MAIL_OUT "Additional Configuration Information:"
693 MAIL_OUT " "
694 MAIL_OUT "Current User: `whoami`"
695 MAIL_OUT "CPU Type: $CPU_TYPE"
696 MAIL_OUT "CPU Freq: $CPU_FREQ"
697 MAIL_OUT "CPU Count: $CPU_CNT"
698 MAIL_OUT " "
699 MAIL_OUT "------------------------------"
700 MAIL_OUT "Make version (make -v output):"
701 MAIL_OUT " "
702 make -v >> $MAIL_FILE 2>&1
703 MAIL_OUT " "
704 MAIL_OUT "------------------------------"
705 MAIL_OUT "Compiler version (c++ -v output):"
706 jim.wunderlich 1.1 MAIL_OUT " "
707 c++ -v >> $MAIL_FILE 2>&1
708 MAIL_OUT " "
709 MAIL_OUT "------------------------------"
710 MAIL_OUT "SSL version ( openssl version output):"
711 MAIL_OUT " "
712 openssl version >> $MAIL_FILE 2>&1
713 MAIL_OUT " "
714 MAIL_OUT "------------------------------"
715 MAIL_OUT "uname -a output:"
716 MAIL_OUT " "
717 uname -a >> $MAIL_FILE 2>&1
718 MAIL_OUT " "
719 MAIL_OUT "------------------------------"
720 MAIL_OUT "OS Details (cimserver startup & osinfo output):"
721 MAIL_OUT " "
722 cimserver >> $MAIL_FILE 2>&1
723 MAIL_OUT " "
724 osinfo >> $MAIL_FILE 2>&1
725 MAIL_OUT " "
726 MAIL_OUT "------------------------------"
727 jim.wunderlich 1.1 MAIL_OUT "ending cimserver configuration (cimconfig -lc output):"
728 MAIL_OUT " "
729 cimconfig -lc >> $MAIL_FILE 2>&1
730 MAIL_OUT " "
731 cimserver -s >> $MAIL_FILE 2>&1
732 MAIL_OUT " "
733
734 ## if [ -e $PATCH_FILE ] ; then
735 MAIL_OUT "-------------------------------------------------------"
736 MAIL_OUT "SW Changes used: "
737 MAIL_OUT " "
738 ## cat $PATCH_FILE >> $MAIL_FILE
739 cvs diff 1>> $MAIL_FILE 2>&1
740 MAIL_OUT " "
741 ## fi
742
743 REPORT_STEP all 30
744 REPORT_STEP tests 30
745 REPORT_STEP perftests 150
746 REPORT_STEP poststarttests 30
747 REPORT_STEP standardtests 30
748 jim.wunderlich 1.1
749 MAIL_OUT "-------------------------------------------------------"
750 MAIL_OUT " "
751
752
753 # Mail the report
754
755 #cat $MAIL_FILE | mail -s "$header" $MAIL_TO
756
757
758 # remove the running status file
759
760 rm $BASE_DIR/test_running
761
762 STATUS_OUT "+++++ nightly test all done ++++++++++++++++++++++++++"
763
|