(file) Return to peg_nightly_inova CVS log (file) (dir) Up to [Pegasus] / pegasus_unsupported / scripts / Unix

  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                    

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2