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
296
297 jim.wunderlich 1.1 ##############################################################################
298 ##############################################################################
299 ##
300 ## Function defintions
301 ##
302
303 ##################
304 # function to put output to the $status_file
305 #
306 function STATUS_OUT()
307 {
308 echo "$1" ;
309 echo "$1" >> $status_file ;
310 return 0 ;
311 }
312
313 ##################
314 # function to put output to the $MAIL_FILE
315 #
316 function MAIL_OUT()
317 {
318 jim.wunderlich 1.1 echo "$1" >> $MAIL_FILE ;
319 return 0 ;
320 }
321
322 ##################
323 # Function to initialise the step file name and to initialze the file
324 #
325 # Creates the output file and the assigns its name to a variable
326 #
327 # eg: for the step called tests the following will be created
328 # $tests_out_file set to $BASE_DIR/tests_out$RUN_NUM
329 # and the initial step status will be output to the file
330 #
331 # create the output file names
332 # tests_out_file=$BASE_DIR/tests_out$RUN_NUM
333 # create the output files
334 # echo "$tests_status" > $tests_out_file
335 #
336 function INIT_STEP_FILE()
337 {
338 CMD=$1
339 jim.wunderlich 1.1 out_file=${CMD}_out_file
340 name=${CMD}_out
341 step_status=${CMD}_status
342 step_start_time=${CMD}_start_time
343 step_stop_time=${CMD}_stop_time
344
345 export $step_start_time=NA
346 export $step_stop_time=NA
347
348 #create the output file name
349 export $out_file=$BASE_DIR/$name$RUN_NUM
350
351 #create the output file
352 echo ${!step_status} > ${!out_file}
353 }
354
355
356 ##################
357 # function to execute the step for a Makefile step
358 #
359 function EXEC_MAKE_STEP()
360 jim.wunderlich 1.1 {
361 CMD=$1
362 out_file=${CMD}_out_file
363 step_status=${CMD}_status
364 step_start_time=${CMD}_start_time
365 step_stop_time=${CMD}_stop_time
366
367 if [ "${!step_status}" != "NOT_TO_RUN" ] ; then
368
369 STATUS_OUT "make -s $CMD started at `$TIME_CMD` "
370
371 export $step_start_time=`$TIME_CMD`
372
373 if make -s $CMD 1>${!out_file} 2>&1
374 then
375 export $step_status="SUCCESS"
376 else
377 export $step_status="FAILURE"
378 fi
379
380 export $step_stop_time=`$TIME_CMD`
381 jim.wunderlich 1.1
382 fi
383
384 STATUS_OUT "make $CMD ${!step_status} at `$TIME_CMD` "
385
386 }
387
388 ##################
389 # function to execute the step for a TestMakefile step
390 #
391 function EXEC_TESTMAKE_STEP()
392 {
393 CMD=$1
394 out_file=${CMD}_out_file
395 step_status=${CMD}_status
396 step_start_time=${CMD}_start_time
397 step_stop_time=${CMD}_stop_time
398
399
400 if [ "${!step_status}" != "NOT_TO_RUN" ] ; then
401 STATUS_OUT "make $CMD started at `$TIME_CMD` "
402 jim.wunderlich 1.1
403 export $step_start_time=`$TIME_CMD`
404
405 if time make -f TestMakefile -s $CMD 1>>${!out_file} 2>&1
406 then
407 export $step_status="SUCCESS"
408 else
409 export $step_status="FAILURE"
410 fi
411
412 export $step_stop_time=`$TIME_CMD`
413
414 fi
415
416 STATUS_OUT "make $CMD ${!step_status} at `$TIME_CMD` "
417
418 }
419
420 ##################
421 # function to output status for a step
422 #
423 jim.wunderlich 1.1 function REPORT_STEP_STATUS ()
424 {
425 CMD=$1
426 out_file=${CMD}_out_file
427 step_status=${CMD}_status
428 step_start_time=${CMD}_start_time
429 step_stop_time=${CMD}_stop_time
430
431 MAIL_OUT "Make $CMD Status: ${!step_status}"
432 MAIL_OUT "Make $CMD Start Time: ${!step_start_time}"
433 MAIL_OUT "Make $CMD Stop Time: ${!step_stop_time}"
434 MAIL_OUT " "
435
436 }
437
438 ##################
439 # function to output report for a step
440 #
441 function REPORT_STEP ()
442 {
443 CMD=$1
444 jim.wunderlich 1.1 CNT=$2
445 out_file=${CMD}_out_file
446 step_status=${CMD}_status
447
448 MAIL_OUT "-------------------------------------------------------"
449 MAIL_OUT "Make $CMD output: "
450 MAIL_OUT " "
451 tail -${CNT} ${!out_file} >> $MAIL_FILE
452 MAIL_OUT " "
453
454 }
455
456 ##################
457 # function to output report for a step
458 #
459 function REPORT_STEP_ALL ()
460 {
461 CMD=$1
462 out_file=${CMD}_out_file
463 step_status=${CMD}_status
464
465 jim.wunderlich 1.1 MAIL_OUT "-------------------------------------------------------"
466 MAIL_OUT "Make $CMD output: "
467 MAIL_OUT " "
468 cat ${!out_file} >> $MAIL_FILE
469 MAIL_OUT " "
470
471 }
472
473 ###########################################################################
474 ###########################################################################
475 ##
476 ## Configuration is now complete
477 ## Begin execution
478 ##
479
480 if [ ! -e "$PEG_LOC_ROOT" ] ; then
481 mkdir $PEG_LOC_ROOT
482 fi
483
484
485 TIME_CMD="date -u +%H%M%S"
486 jim.wunderlich 1.1
487 platform="$PEGASUS_PLATFORM ($OS_NAME_VER)"
488 branch="MAIN"
489 datestamp=`date -u +%y%m%d`
490 timestamp=`date -u +%H%M`
491 endtimestamp="NOT_DONE"
492 header="UNKNOWN STATUS: $branch: $platform: $datestamp"
493
494 if [ "$cvs_co_status" != "NOT_TO_RUN" ] ; then
495
496 rm -rf $BASE_DIR
497 mkdir $BASE_DIR
498 fi
499
500 cd $BASE_DIR
501
502
503 INIT_STEP_FILE cvs_co
504 INIT_STEP_FILE patch
505 INIT_STEP_FILE all
506 INIT_STEP_FILE tests
507 jim.wunderlich 1.1 INIT_STEP_FILE perftests
508 INIT_STEP_FILE poststarttests
509 INIT_STEP_FILE standardtests
510
511 # create the running status file
512 touch $BASE_DIR/test_running
513
514 # Create new make output file for mail message.
515 MAIL_FILE=$BASE_DIR/mail_file$RUN_NUM
516 echo " " > $MAIL_FILE
517
518 status_file=$BASE_DIR/running_status_file$RUN_NUM
519 echo " " > $status_file
520
521 STATUS_OUT "Starting nightly test"
522 STATUS_OUT "platform=$platform"
523 STATUS_OUT "Date: $datestamp "
524 STATUS_OUT "Time: $timestamp GMT"
525 STATUS_OUT "Current User=`whoami`"
526 STATUS_OUT "BASE_DIR=$BASE_DIR"
527 STATUS_OUT "CVSROOT=$CVSROOT"
528 jim.wunderlich 1.1 STATUS_OUT "PEGASUS_HOME=$PEGASUS_HOME"
529 STATUS_OUT "PEGASUS_ROOT=$PEGASUS_ROOT"
530 STATUS_OUT "PEGASUS_PLATFORM=$PEGASUS_PLATFORM"
531 STATUS_OUT " "
532 STATUS_OUT "cvs_co_file=$cvs_co_out_file"
533 STATUS_OUT "patch_file=$patch_out_file"
534 STATUS_OUT "make_file=$all_out_file"
535 STATUS_OUT "tests_file=$tests_out_file"
536 STATUS_OUT "perftests_file=$perftests_out_file"
537 STATUS_OUT "poststarttests_file=$poststarttests_out_file"
538 STATUS_OUT "standardtests_file=$standardtests_out_file"
539
540
541 STATUS_OUT " "
542 STATUS_OUT "cvs_co_status=$cvs_co_status"
543 STATUS_OUT "patch_status=$patch_status"
544 STATUS_OUT "all_status=$all_status"
545 STATUS_OUT "tests_status=$tests_status"
546 STATUS_OUT "poststarttests_status=$poststarttests_status"
547 STATUS_OUT "standardtests_status=$standardtests_status"
548 STATUS_OUT "perftests_status=$perftests_status"
549 jim.wunderlich 1.1
550 # checkout a new tree
551 if [ "$cvs_co_status" != "NOT_TO_RUN" ] ; then
552
553 STATUS_OUT "checkout of $MOD_NAME module started at `$TIME_CMD` "
554
|
555 jim.wunderlich 1.4 cvs -z6 co -d pegasus $MOD_NAME 1>$cvs_co_out_file 2>&1
|
556 jim.wunderlich 1.1 fi
557
558 if [ -d pegasus ] ; then
559 cvs_co_status="SUCCESS"
560 cd pegasus/src/utils
561 make 1>>$cvs_co_out_file 2>&1
562 cd mu
563 make 1>>$cvs_co_out_file 2>&1
564 cd $BASE_DIR
565 else
566 cvs_co_status="FAILURE"
567 fi
568
569 STATUS_OUT "checkout of file $cvs_co_status at `$TIME_CMD` "
570
571 cd pegasus
572
573 if [ "$patch_status" != "NOT_TO_RUN" ] ; then
574 if [ -e $PATCH_FILE ] ; then
575 STATUS_OUT "SW changes needed, applying $PATCH_FILE patches"
576 patch -p0 -b -r $PATCH_ERRORS < $PATCH_FILE 1>$patch_out_file 2>&1
577 jim.wunderlich 1.1
578 if [ -e $PATCH_ERRORS ] ; then
579 STATUS_OUT echo "ERROR applying patch $PATCH_FILE: see $PATCH_ERRORS file "
580 exit
581 fi
582 else
583 STATUS_OUT "SW changes not needed, no file $PATCH_FILE"
584
585 fi
586 fi
587
588 if [ "$cvs_co_status" == "SUCCESS" ] ; then
589
590 EXEC_MAKE_STEP all
591
592 fi
593
594 if [ "$cvs_co_status" == "SUCCESS" ] \
595 || [ "$cvs_co_status" == "NOT_TO_RUN" ] \
596 && [ "$all_status" == "SUCCESS" ] \
597 || [ "$all_status" == "NOT_TO_RUN" ]
598 jim.wunderlich 1.1 then
599 EXEC_MAKE_STEP tests
600
601 ##
602 ## The setupdevserver rule is available in 2.5.1 but not in 2.5
603 ##
604
605 make setupdevserver 1>>../all_out 2>&1
606
607 ##
608 ## use the following on 2.5. They will also work on 2.5.1
609 ## On 2.5 you have to build the repository or run the prestarttests rule
610 ## rather than then tests rule above. The prestarttests rule built the
611 ## repositories and then ran the unit functional tests.
612 ##
613 ##
614 ## make --directory=./src/Server -f Makefile install_run 1>>$poststarttests_out_file 2>&1
615 ## make --directory=./src/Clients/ssltrustmgr/tests -f Makefile test_setup 1>>$poststarttests_out_file 2>&1
616 ##
617 ##
618
619 jim.wunderlich 1.1 EXEC_TESTMAKE_STEP perftests
620 EXEC_TESTMAKE_STEP poststarttests
621 EXEC_TESTMAKE_STEP standardtests
622 fi
623
624 # Build the test report for mailing
625
626 endtimestamp=`date -u +%H%M` ## get the completion time
627
628 # Determine the overall status of the tests
629
630 if [ "$cvs_co_status" == "SUCCESS" ] \
631 || [ "$cvs_co_status" == "NOT_TO_RUN" ] \
632 && [ "$all_status" == "SUCCESS" ] \
633 || [ "$all_status" == "NOT_TO_RUN" ] \
634 && [ "$tests_status" == "SUCCESS" ] \
635 || [ "$tests_status" == "NOT_TO_RUN" ] \
636 && [ "$perftests_status" == "SUCCESS" ] \
637 || [ "$perftests_status" == "NOT_TO_RUN" ] \
638 && [ "$poststarttests_status" == "SUCCESS" ] \
639 || [ "$poststarttests_status" == "NOT_TO_RUN" ] \
640 jim.wunderlich 1.1 && [ "$standardtests_status" == "SUCCESS" ] \
641 || [ "$standardtests_status" == "NOT_TO_RUN" ]
642 then
643 status="SUCCESS"
644 else
645 status="FAILURE"
646 fi
647
648 header="$status: $branch: $platform: $datestamp"
649
650 MAIL_OUT "Platform: $platform"
651 MAIL_OUT "Branch: $branch"
652 MAIL_OUT "Date: $datestamp"
653 MAIL_OUT "Time: $timestamp GMT"
654 MAIL_OUT "Status: $status "
655 MAIL_OUT "End Time: $endtimestamp GMT"
656 MAIL_OUT " "
657 MAIL_OUT "-------------------------------------------------------"
658 MAIL_OUT "Mail_To: $MAIL_TO"
659 MAIL_OUT "The_Subject: $header"
660 MAIL_OUT "-------------------------------------------------------"
661 jim.wunderlich 1.1 MAIL_OUT " "
662 MAIL_OUT "SW changes:"
663 if [ -e $PATCH_FILE ] ; then
664 MAIL_OUT "Yes SW changes used, and attached below"
665 else
666 MAIL_OUT "No SW changes needed"
667 fi
668
669 MAIL_OUT " "
670 MAIL_OUT "The Time Format is HHMMSS GMT time"
671 MAIL_OUT " "
672 REPORT_STEP_STATUS all
673 REPORT_STEP_STATUS tests
674 REPORT_STEP_STATUS perftests
675 REPORT_STEP_STATUS poststarttests
676 REPORT_STEP_STATUS standardtests
677
678 MAIL_OUT "-------------------------------------------------------"
679 MAIL_OUT "Pegasus Environment Variables:"
680 printenv | grep PEGASUS >> $MAIL_FILE
681 printenv | grep OPENSSL >> $MAIL_FILE
682 jim.wunderlich 1.1 MAIL_OUT " "
683 MAIL_OUT " "
684 MAIL_OUT "-------------------------------------------------------"
685 MAIL_OUT "Additional Configuration Information:"
686 MAIL_OUT " "
687 MAIL_OUT "Current User: `whoami`"
688 MAIL_OUT "CPU Type: $CPU_TYPE"
689 MAIL_OUT "CPU Freq: $CPU_FREQ"
690 MAIL_OUT "CPU Count: $CPU_CNT"
691 MAIL_OUT " "
692 MAIL_OUT "------------------------------"
693 MAIL_OUT "Make version (make -v output):"
694 MAIL_OUT " "
695 make -v >> $MAIL_FILE 2>&1
696 MAIL_OUT " "
697 MAIL_OUT "------------------------------"
698 MAIL_OUT "Compiler version (c++ -v output):"
699 MAIL_OUT " "
700 c++ -v >> $MAIL_FILE 2>&1
701 MAIL_OUT " "
702 MAIL_OUT "------------------------------"
703 jim.wunderlich 1.1 MAIL_OUT "SSL version ( openssl version output):"
704 MAIL_OUT " "
705 openssl version >> $MAIL_FILE 2>&1
706 MAIL_OUT " "
707 MAIL_OUT "------------------------------"
708 MAIL_OUT "uname -a output:"
709 MAIL_OUT " "
710 uname -a >> $MAIL_FILE 2>&1
711 MAIL_OUT " "
712 MAIL_OUT "------------------------------"
713 MAIL_OUT "OS Details (cimserver startup & osinfo output):"
714 MAIL_OUT " "
715 cimserver >> $MAIL_FILE 2>&1
716 MAIL_OUT " "
717 osinfo >> $MAIL_FILE 2>&1
718 MAIL_OUT " "
719 MAIL_OUT "------------------------------"
720 MAIL_OUT "ending cimserver configuration (cimconfig -lc output):"
721 MAIL_OUT " "
722 cimconfig -lc >> $MAIL_FILE 2>&1
723 MAIL_OUT " "
724 jim.wunderlich 1.1 cimserver -s >> $MAIL_FILE 2>&1
725 MAIL_OUT " "
726
727 ## if [ -e $PATCH_FILE ] ; then
728 MAIL_OUT "-------------------------------------------------------"
729 MAIL_OUT "SW Changes used: "
730 MAIL_OUT " "
731 ## cat $PATCH_FILE >> $MAIL_FILE
732 cvs diff 1>> $MAIL_FILE 2>&1
733 MAIL_OUT " "
734 ## fi
735
736 REPORT_STEP all 30
737 REPORT_STEP tests 30
738 REPORT_STEP perftests 150
739 REPORT_STEP poststarttests 30
740 REPORT_STEP standardtests 30
741
742 MAIL_OUT "-------------------------------------------------------"
743 MAIL_OUT " "
744
745 jim.wunderlich 1.1
746 # Mail the report
747
748 #cat $MAIL_FILE | mail -s "$header" $MAIL_TO
749
750
751 # remove the running status file
752
753 rm $BASE_DIR/test_running
754
755 STATUS_OUT "+++++ nightly test all done ++++++++++++++++++++++++++"
756
|