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