IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Aug 11, 2004, 1:42:49 PM (22 years ago)
Author:
desonia
Message:

ran perltidy on the scripts to format it to approximately the perlstyle
guidelines.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/test/runTest

    r1404 r1490  
    66#  deemed a failure.  STDOUT and STDERR files will be place in a subdirectory
    77#  named temp and the files will be compared with verified STDOUT, STDERR files
    8 #  in a subdirectory named verified.  If there are no STDOUT, STDERR files in 
     8#  in a subdirectory named verified.  If there are no STDOUT, STDERR files in
    99#  the verified directory, the captured STDOUT, STDERR files will be scanned
    1010#  for words which indicate a failure.
    1111#
    12 #  Assumptions:  A verified subdirectory with STDOUT, STDERR files exists for 
     12#  Assumptions:  A verified subdirectory with STDOUT, STDERR files exists for
    1313#                the test driver specified in the arguements if an exact
    1414#                match of the streams STDOUT, STDERR is necessary.
     
    3030#
    3131#  $Revison:  $  $Name: not supported by cvs2svn $
    32 #  $Date: 2004-08-06 21:50:13 $
     32#  $Date: 2004-08-11 23:42:49 $
    3333#
    3434#  Copyright 2004 Maui High Performance Computering Center, University of Hawaii
     
    4040
    4141# Assign variables based on the presence of command line options to the script
    42 GetOptions("reset!"=>\$reset,
    43            "resetStderr!"=>\$resetStderr,
    44            "resetStdout!"=>\$resetStdout,
    45            "help!"=>\$help);
     42GetOptions(
     43    "reset!"       => \$reset,
     44    "resetStderr!" => \$resetStderr,
     45    "resetStdout!" => \$resetStdout,
     46    "help!"        => \$help
     47);
    4648
    4749if ($help) {
     
    5456    $resetStdout = 1;
    5557}
    56    
     58
    5759# Initialize exit value
    5860$exitValue = 0;
    5961
    6062# Set up the PSLIB_ROOT environment variable if the user doesn't have it set
    61 if ( ! $ENV{'PSLIB_ROOT'}) {
     63if ( !$ENV{'PSLIB_ROOT'} ) {
     64
    6265    # Use the directory directly above test
    6366    $PSLIB_ROOT = `cd ..;pwd`;
     67
    6468    # Remove newline for the end of path returned
    6569    chomp($PSLIB_ROOT);
     70
    6671    # Set the environment variable
    6772    $ENV{'PSLIB_ROOT'} = $PSLIB_ROOT;
    68     # Display message that PSLIB_ROOT not found and set to
     73
     74    # Display message that PSLIB_ROOT not found and set to
    6975    print("PSLIB_ROOT not found: set to $PSLIB_ROOT\n");
    7076}
    7177
    7278# Add PSLIB_ROOT/lib to LD_LIBRARY_PATH and DYLD_LIBRARY_PATH environment vars
    73 $ENV{'LD_LIBRARY_PATH'} = "$ENV{'PSLIB_ROOT'}/lib:$ENV{'LD_LIBRARY_PATH'}";
     79$ENV{'LD_LIBRARY_PATH'}   = "$ENV{'PSLIB_ROOT'}/lib:$ENV{'LD_LIBRARY_PATH'}";
    7480$ENV{'DYLD_LIBRARY_PATH'} = "$ENV{'PSLIB_ROOT'}/lib:$ENV{'DYLD_LIBRARY_PATH'}";
    7581
     
    8086
    8187    # Check if a temp directory already exists in the current work directory
    82     if ( !( -e "temp" )) {
    83     # Create temp directory to store STDOUT, STDERR files during test run
    84     `mkdir temp`;
    85     # Display message of new directory created
    86     print("Creating temp directory\n");
    87     }
    88    
     88    if ( !( -e "temp" ) ) {
     89
     90        # Create temp directory to store STDOUT, STDERR files during test run
     91        `mkdir temp`;
     92
     93        # Display message of new directory created
     94        print("Creating temp directory\n");
     95    }
     96
    8997    # Check if a verified directory exists in the current work directory
    90     if ( !( -e "verified" )) {
     98    if ( !( -e "verified" ) ) {
     99
    91100        # Display message that verified subdirectory doesn't exist
    92101        print("        Verified directory doesn't exist.\n");
     102
    93103        # Exit script since the test cannot be run with verified files
    94104        $exitValue = 1;
    95105    }
    96    
     106
    97107    # Check if the test driver file exists and is executable
    98     if ( (-e $testFile) && (-x $testFile) ) {
    99    
     108    if ( ( -e $testFile ) && ( -x $testFile ) ) {
     109
    100110        # Display message the test driver is being executed
    101111        print("--- Executing test driver: $testFile\n");
    102    
     112
    103113        # Invoke the test driver
    104114        system("./$testFile 1> temp/$testFile.stdout 2> temp/$testFile.stderr");
    105        
     115
    106116        # Check the return value of the test driver.  A value other than 0
    107117        # indicates failure of the test driver unless the test driver is name
    108118        # with a leading 'a' which indicates the test driver is expecting an
    109119        # abort condition to terminate the driver.
    110         if ( ( $? != 0  && ( $testFile !~ /^A/i)) ||
    111             ( $? == 0  && ( $testFile =~ /^A/i)) ) {
    112    
     120        if (   ( $? != 0 && ( $testFile !~ /^A/i ) )
     121            || ( $? == 0 && ( $testFile =~ /^A/i ) ) )
     122        {
     123
    113124            # Display failure message with return value to user
    114             if ( $? != 0 && ( $testFile !~ /^A/i) ) {
     125            if ( $? != 0 && ( $testFile !~ /^A/i ) ) {
    115126                print("        Failed - Test Driver expected 0 return value (Return value $?)\n");
    116             } elsif ( $? == 0 && ( $testFile =~ /^A/i) ) {
     127            }
     128            elsif ( $? == 0 && ( $testFile =~ /^A/i ) ) {
    117129                print("        Failed - Test Driver expected abort (Return value $?)\n");
    118130            }
    119131            $exitValue |= 256;
    120         } else {
    121    
     132        }
     133        else {
     134
    122135            # Test driver succeeded.
    123    
     136
    124137            # Create filtered version of stdout and stderr
    125                
    126             # Open the STDOUT file for reading       
    127             open(OUTFILE, "< temp/$testFile.stdout");
     138
     139            # Open the STDOUT file for reading
     140            open( OUTFILE, "< temp/$testFile.stdout" );
     141
    128142            # Open mod file to place filtered STDOUT
    129             open(MODFILE, "> temp/$testFile.stdout.mod");
    130             open(MODFILE2, "> verified/$testFile.stdout") if $resetStdout;
     143            open( MODFILE,  "> temp/$testFile.stdout.mod" );
     144            open( MODFILE2, "> verified/$testFile.stdout" ) if $resetStdout;
     145
    131146            # Replace the variable date, time and host information with constants
    132147            $hostname = `hostname`;
    133148            chop $hostname;
    134             while( <OUTFILE> ) {
     149            while (<OUTFILE>) {
    135150                s/\s+\d+:\d+:\d+\w/<TIME>/g;
    136151                s/\d+:\d+:\d+/<DATE>/g;
     
    138153                s/: Line \d+/: Line <LINENO>/g;
    139154                s/\:\d+/\:<LINENO>/g;
     155
    140156                # Filter lines with malloc.  This is an artifact of memory testing
    141157                # with the Mac testbed
    142                 if ( ! m/\*\*\*\smalloc/ ) {
    143                 print MODFILE ($_);
    144                 print MODFILE2 ($_) if $resetStdout;
     158                if ( !m/\*\*\*\smalloc/ ) {
     159                    print MODFILE ($_);
     160                    print MODFILE2 ($_) if $resetStdout;
    145161                }
    146162            }
     163
    147164            # Close mod file
    148165            close(MODFILE);
    149166            close(MODFILE2) if $resetStdout;
     167
    150168            # Close STDERR file
    151169            close(OUTFILE);
    152    
    153             # Open the STDERR file for reading
    154             open(OUTFILE, "< temp/$testFile.stderr");
     170
     171            # Open the STDERR file for reading
     172            open( OUTFILE, "< temp/$testFile.stderr" );
     173
    155174            # Open mod file to place filtered STDERR
    156             open(MODFILE, "> temp/$testFile.stderr.mod");
    157             open(MODFILE2, "> verified/$testFile.stderr") if $resetStderr;
     175            open( MODFILE,  "> temp/$testFile.stderr.mod" );
     176            open( MODFILE2, "> verified/$testFile.stderr" ) if $resetStderr;
     177
    158178            # Replace the variable date, time and host information with constants
    159             while( <OUTFILE> ) {
     179            while (<OUTFILE>) {
    160180                s/\s+\d+:\d+:\d+\w/<TIME>/g;
    161181                s/\d+:\d+:\d+/<DATE>/g;
     
    163183                s/: Line \d+/: Line <LINENO>/g;
    164184                s/\:\d+/\:<LINENO>/g;
     185
    165186                # Filter lines with malloc.  This is an artifact of memory testing
    166187                # with the Mac testbed
    167                 if ( ! m/\*\*\*\smalloc/ ) {
    168                 print MODFILE ($_);
    169                 print MODFILE2 ($_) if $resetStderr;
     188                if ( !m/\*\*\*\smalloc/ ) {
     189                    print MODFILE ($_);
     190                    print MODFILE2 ($_) if $resetStderr;
    170191                }
    171192            }
     193
    172194            # Close mod file
    173195            close(MODFILE);
    174196            close(MODFILE2) if $resetStderr;
     197
    175198            # Close STDERR file
    176199            close(OUTFILE);
    177    
     200
    178201            # Compare STDOUT capture with verified file
    179202            $exitValue |= &compareStream("verified/$testFile.stdout");
    180    
     203
    181204            # Check exit value to determine if verified file doesn't exist
    182205            if ( $exitValue & 2 ) {
    183    
     206
    184207                # STDOUT verified doesn't exist.  Search STDOUT capture
    185208                # for strings indicating error or failure
    186209                $exitValue |= &errorStrSearch("$testFile.stdout");
    187210            }
    188    
     211
    189212            # Compare STDERR capture with verified file
    190213            $exitValue |= &compareStream("verified/$testFile.stderr");
    191    
     214
    192215            # Check exit value to determine if verified file doesn't exist
    193216            if ( $exitValue & 4 ) {
    194    
     217
    195218                # STDERR verified doesn't exist.  Search STDERR capture
    196219                # for strings indicating error or failure
     
    198221            }
    199222        }
    200     } else {
    201         # Since test driver doesn't exist or is not executable then display
     223    }
     224    else {
     225
     226        # Since test driver doesn't exist or is not executable then display
    202227        # message to user.
    203228        print("        Need to specify an executable test file within directory.\n");
    204        
     229
    205230        # Exit value set to indicate test driver doesn't exist or not executable
    206231        $exitValue |= 32;
     
    211236# Ignore the first three bit flags in exitValue since there are not indicators
    212237# of a failed test
    213 if ( ($exitValue >> 3) != 0 ) {
     238if ( ( $exitValue >> 3 ) != 0 ) {
    214239    print("Test failed - return status = $exitValue\n\n");
    215 } else {
     240}
     241else {
    216242    print("Test successful\n\n");
    217243}
     
    235261
    236262sub errorStrSearch {
    237     local($fileName) = @_;
    238     local($returnVal) = 0;
     263    local ($fileName) = @_;
     264    local ($returnVal) = 0;
    239265
    240266    # Open the captured file
    241     open(CAPT_FILE, "<temp/$fileName");
     267    open( CAPT_FILE, "<temp/$fileName" );
    242268
    243269    # Scan through all the lines of the file searching for error strings
    244     while ( <CAPT_FILE> ) {
    245         if ( m/FAIL/i || m/FAULT/i || m/ERROR/i || m/Not Found/i
    246                       || m/SIGNAL/i || m/NO SUCH FILE/i || m/\|E\|/i
    247                       || m/\|A\|/i ) {
     270    while (<CAPT_FILE>) {
     271        if (   m/FAIL/i
     272            || m/FAULT/i
     273            || m/ERROR/i
     274            || m/Not Found/i
     275            || m/SIGNAL/i
     276            || m/NO SUCH FILE/i
     277            || m/\|E\|/i
     278            || m/\|A\|/i )
     279        {
    248280            if ( $fileName =~ m/out/ ) {
    249281                print("        Failed - File $fileName contains error strings.\n");
    250282                $returnVal = 64;
    251             } elsif ( $fileName =~ m/err/ ) {
     283            }
     284            elsif ( $fileName =~ m/err/ ) {
    252285                print("        Failed - File $fileName contains error strings.\n");
    253286                $returnVal = 128;
     
    256289        }
    257290    }
     291
    258292    # Close the capture file
    259293    close(CAPT_FILE);
     294
    260295    # Return the return value
    261     return($returnVal);
     296    return ($returnVal);
    262297}
    263298
     
    280315
    281316sub compareStream {
    282     local($streamFile) = @_;
    283     local($returnVal) = 0;
    284     local($tempFile) = "";
     317    local ($streamFile) = @_;
     318    local ($returnVal) = 0;
     319    local ($tempFile)  = "";
    285320
    286321    # Check for existence of verified STD stream files
    287     if ( !( -e $streamFile) ) {
    288            
     322    if ( !( -e $streamFile ) ) {
     323
    289324        # Display message to user that verified STDOUT file doesn't exist
    290325        print("        File $streamFile doesn't exist.\n");
    291            
     326
    292327        # Set exit value bit 1 to indicate proper failure
    293328        if ( $streamFile =~ /out$/ ) {
    294329            $returnVal |= 2;
    295         } elsif ( $streamFile =~ /err$/ ) {
     330        }
     331        elsif ( $streamFile =~ /err$/ ) {
    296332            $returnVal |= 4;
    297333        }
    298     } else {
     334    }
     335    else {
    299336
    300337        # Verified STD stream file exists
    301338
    302339        # Create name of the temp file to compare
    303         $tempFile = $streamFile; 
     340        $tempFile = $streamFile;
    304341        $tempFile =~ s/verified/temp/;
    305342        $tempFile = $tempFile . ".mod";
    306    
     343
    307344        # Perform difference on the STD stream files
    308345        $diffstdout = `diff $streamFile $tempFile`;
     
    310347        # Check the return value of the difference
    311348        if ( $? != 0 ) {
    312    
     349
    313350            # Difference of STD stream files failed
    314351
    315352            # Check for STDOUT in file name to convey appropirate return value
    316353            if ( $streamFile =~ /out$/ ) {
    317                # Display message of the failure of difference to user
    318                print("        Failed - STDOUT difference\n$diffstdout\n");
    319  
    320                # Exit value to indicate STDOUT did not compare
    321                $returnVal |= 8;
    322             } elsif ( $streamFile =~ /err$/ ) {
    323                # Display message of the failure of difference to user
    324                print("        Failed - STDERR difference\n$diffstdout\n");
    325 
    326                # Exit value to indicate STDERR did not compare
    327                $returnVal |= 16;
    328             }
    329         }
    330     }
    331    
     354
     355                # Display message of the failure of difference to user
     356                print("        Failed - STDOUT difference\n$diffstdout\n");
     357
     358                # Exit value to indicate STDOUT did not compare
     359                $returnVal |= 8;
     360            }
     361            elsif ( $streamFile =~ /err$/ ) {
     362
     363                # Display message of the failure of difference to user
     364                print("        Failed - STDERR difference\n$diffstdout\n");
     365
     366                # Exit value to indicate STDERR did not compare
     367                $returnVal |= 16;
     368            }
     369        }
     370    }
     371
    332372    # Return the result of the compare
    333     return($returnVal);
    334 }
    335 
     373    return ($returnVal);
     374}
     375
Note: See TracChangeset for help on using the changeset viewer.