Changeset 3696
- Timestamp:
- Apr 12, 2005, 11:51:00 AM (21 years ago)
- Location:
- trunk/psModules
- Files:
-
- 4 edited
-
psmodule.kdevses (modified) (1 diff)
-
src/pmObjects.c (modified) (3 diffs)
-
test/FullUnitTest (modified) (5 diffs)
-
test/runTest (modified) (16 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/psmodule.kdevses
r3675 r3696 6 6 <View0 line="24" Type="Source" /> 7 7 </Doc0> 8 <Doc1 NumberOfViews="1" URL="file:///home/desonia/panstarrs/psModule/ configure.ac" >9 <View0 line=" 10" Type="Source" />8 <Doc1 NumberOfViews="1" URL="file:///home/desonia/panstarrs/psModule/Makefile.am" > 9 <View0 line="2" Type="Source" /> 10 10 </Doc1> 11 11 </DocsAndViews> -
trunk/psModules/src/pmObjects.c
r3625 r3696 5 5 * @author GLG, MHPCC 6 6 * 7 * @version $Revision: 1.1 2$ $Name: not supported by cvs2svn $8 * @date $Date: 2005-04- 01 20:47:40 $7 * @version $Revision: 1.13 $ $Name: not supported by cvs2svn $ 8 * @date $Date: 2005-04-12 21:51:00 $ 9 9 * 10 10 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 112 112 } 113 113 114 p _psMemSetDeallocator(tmp, (psFreeFcn) p_psModelFree);114 psMemSetDeallocator(tmp, (psFreeFcn) p_psModelFree); 115 115 return(tmp); 116 116 } … … 141 141 tmp->moments = NULL; 142 142 tmp->models = NULL; 143 p _psMemSetDeallocator(tmp, (psFreeFcn) p_psSourceFree);143 psMemSetDeallocator(tmp, (psFreeFcn) p_psSourceFree); 144 144 145 145 return(tmp); -
trunk/psModules/test/FullUnitTest
r3623 r3696 19 19 # RETURN : integer number of tests which failed 20 20 # 21 # $Revision: 1. 2$ $Name: not supported by cvs2svn $22 # $Date: 2005-04- 01 20:11:19$21 # $Revision: 1.3 $ $Name: not supported by cvs2svn $ 22 # $Date: 2005-04-12 21:51:00 $ 23 23 # 24 24 # Copyright 2004 Maui High Performance Computing Center, University of Hawaii 25 25 # 26 26 ############################################################################## 27 28 use FindBin qw($Bin); 29 30 $runTest = "$Bin/runTest"; 27 31 28 32 # Provide functions for determining the pathname of current working directory … … 311 315 $totalTestDrivers++; 312 316 313 # Perform subdirectory checks only the first time a test314 # file is found with the list of enteries315 if ( $initialTest == 0 ) {316 $initialTest++;317 318 # Check for a temp subdirectory already exists and if not319 # then create one320 &checkForTempDirectory();321 322 # Check for the presence of verified directory323 if ( &checkForVerifiedDirectory() ) {324 325 # Display message to user that verified directories do not326 # exist eventhough TST files have been found327 # print("Unable to execute test drivers in $base_dir\n");328 print("No verified subdirectory present.\n") if ($verbose);329 330 # Increment test fail count331 # $testDriverFailCount++;332 # Save the file failed333 # push(@testsFailed, $pwd . "/" . $files[$j]);334 # return;335 }336 }337 338 317 # Display message to user of which test driver is being executed 339 318 print("--- Executing test driver $files[$j]\n") if ( !$silent ); 340 319 341 320 # Execute the test driver 342 system( 343 "./$files[$j] 1> temp/$files[$j].stdout 2> temp/$files[$j].stderr" 344 ); 321 if ($silent) { 322 system("$runTest --quiet ./$files[$j]"); 323 } elsif ($verbose) { 324 system("$runTest --printpassfail ./$files[$j]"); 325 } else { 326 system("$runTest ./$files[$j]"); 327 } 345 328 $retVal = $?; 346 329 … … 357 340 358 341 # Check result of test driver 359 if ( ( ( $retVal != 0 ) && ( $files[$j] =~ /^TST/i ) ) 360 || ( ( $retVal == 0 ) && ( $files[$j] =~ /^ATST/i ) ) ) 342 if ( $retVal != 0 ) 361 343 { 362 344 … … 372 354 push( @testsFailed, $pwd . "/" . $files[$j] ); 373 355 } 374 else {375 376 # Create filter versions of STDOUT and STDERR to replace variable377 # items such as date, time and host378 &filterStdFiles( $files[$j] );379 380 # Perform difference on STDOUT file collected381 # with verified files382 $exitValue = &compareStream("verified/$files[$j].stdout");383 if ( $exitValue & 2 ) {384 385 # STDOUT verified doesn't exist. Search STDOUT capture386 # for strings indicating error or failure387 $exitValue |= &errorStrSearch("$files[$j].stdout");388 }389 if ( ( $exitValue & 8 ) || ( $exitValue & 64 ) ) {390 391 # Increment the total number of test failed392 $testDriverFailCount++;393 394 # Push test on failed list395 print(396 "Test failed ($failPoints out of $totalPoints testpoints failed)\n"397 )398 if ( !$silent );399 push( @testsFailed, $pwd . "/" . $files[$j] );400 }401 else {402 403 # Perform difference on STDERR file collection with verified404 $exitValue = &compareStream("verified/$files[$j].stderr");405 if ( $exitValue & 4 ) {406 407 # STDERR verified doesn't exist. Search STDERR capture408 # for strings indicating error or failure409 $exitValue |= &errorStrSearch("$files[$j].stderr");410 }411 if ( ( $exitValue & 16 ) || ( $exitValue & 128 ) ) {412 413 # Increment the total number of tests failed414 $testDriverFailCount++;415 416 # Push test on failed list417 print(418 "Test failed ($failPoints out of $totalPoints testpoints failed)\n"419 )420 if ( !$silent );421 push( @testsFailed, $pwd . "/" . $files[$j] );422 }423 else {424 print("Test successful ($totalPoints testpoints)\n")425 if ( !$silent );426 }427 }428 }429 356 } 430 357 $j++; … … 432 359 } 433 360 434 ################################################################################435 #436 # SUBROUTINE: errorStrSearch437 #438 # Description: This subroutine will search the file specified in its439 # parameter for error strings and if they do exists440 # the appropriate value will be returned.441 #442 # Parameter(s): fileName - input file to search for strings443 #444 # Return: 0 - No error strings found445 # 64 - Error strings found in STDOUT446 # 128 - Error strings found in STDERR447 #448 ###############################################################################449 450 sub errorStrSearch {451 local ($fileName) = @_;452 local ($returnVal) = 0;453 454 # Open the captured file455 open( CAPT_FILE, "<temp/$fileName" );456 457 # Scan through all the lines of the file searching for error strings458 while (<CAPT_FILE>) {459 if ( m/FAIL/i460 || m/FAULT/i461 || m/ERROR/i462 || m/Not Found/i463 || m/SIGNAL/i464 || m/NO SUCH FILE/i465 || m/\|E\|/i466 || m/\|A\|/i )467 {468 print;469 if ( $fileName =~ m/out/ ) {470 print(471 " Failed - File $fileName contains error strings.\n"472 );473 $returnVal = 64;474 }475 elsif ( $fileName =~ m/err/ ) {476 print(477 " Failed - File $fileName contains error strings.\n"478 );479 $returnVal = 128;480 }481 last;482 }483 }484 485 # Close the capture file486 close(CAPT_FILE);487 488 # Return the return value489 return ($returnVal);490 }491 492 ################################################################################493 #494 # SUBROUTINE: compareStream495 #496 # Description: This subroutine will compare the captured stream file with497 # a file in the verified directory if one exists.498 #499 # Parameter(s): streamFile - input file to compare500 #501 # Return: 0 - Compare successful502 # 2 - STDOUT verified file doesn't exist503 # 4 - STDERR verified file doesn't exist504 # 8 - STDOUT verified file doesn't compare505 # 16 - STDERR verified file doesn't compare506 #507 ###############################################################################508 509 sub compareStream {510 local ($streamFile) = @_;511 local ($returnVal) = 0;512 local ($tempFile) = "";513 514 # Check for existence of verified STD stream files515 if ( !( -e $streamFile ) ) {516 517 # Display message to user that verified STDOUT file doesn't exist518 print(" File $streamFile doesn't exist.\n") if ($verbose);519 520 # Set exit value bit 1 to indicate proper failure521 if ( $streamFile =~ /out$/ ) {522 $returnVal |= 2;523 }524 elsif ( $streamFile =~ /err$/ ) {525 $returnVal |= 4;526 }527 }528 else {529 530 # Verified STD stream file exists531 532 # Create name of the temp file to compare533 $tempFile = $streamFile;534 $tempFile =~ s/verified/temp/;535 $tempFile = $tempFile . ".mod";536 537 # Perform difference on the STD stream files538 $diffstdout = `diff $streamFile $tempFile`;539 540 # Check the return value of the difference541 if ( $? != 0 ) {542 543 # Difference of STD stream files failed544 545 # Check for STDOUT in file name to convey appropirate return value546 if ( $streamFile =~ /out$/ ) {547 548 # Display message of the failure of difference to user549 print(" Failed - STDOUT difference\n$diffstdout\n");550 551 # Exit value to indicate STDOUT did not compare552 $returnVal |= 8;553 }554 elsif ( $streamFile =~ /err$/ ) {555 556 # Display message of the failure of difference to user557 print(" Failed - STDERR difference\n$diffstdout\n");558 559 # Exit value to indicate STDERR did not compare560 $returnVal |= 16;561 }562 }563 }564 565 # Return the result of the compare566 return ($returnVal);567 }568 569 ################################################################################570 #571 # SUBROUTINE: checkForTempDirectory572 #573 # Description: This subroutine will check for the existence of a temp574 # directory to store STDOUT, STDERR files during test. If575 # the subdirectory doesn't exist, it will be created.576 #577 # Parameter(s): None578 #579 # Return: None580 #581 ################################################################################582 583 sub checkForTempDirectory {584 585 # Check if a temp directory already exists in the current work directory586 if ( !( -e "temp" ) ) {587 588 # Create temp directory to store STDOUT, STDERR files during test589 `mkdir temp`;590 591 # Display message of new directory created592 print("Creating temp directory\n") if ($verbose);593 }594 }595 596 ################################################################################597 #598 # SUBROUTINE: checkForVerifiedDirectory599 #600 # Description: This subroutine will check for the existence of a verified601 # directory which stores verified STDOUT, STDERR files for602 # comparison during the test.603 #604 # Parameter(s): None605 #606 # Return: 0 - subdirectory present607 # 1 - subdirectory not present608 #609 ################################################################################610 611 sub checkForVerifiedDirectory {612 $returnValue = 0;613 614 # Check if verified subdirectory exists in the current working directory615 if ( !( -e "verified" ) ) {616 617 # Set return value to 1618 $returnValue = 1;619 }620 return ($returnValue);621 }622 623 ################################################################################624 #625 # SUBROUTINE: filterStdFiles626 #627 # Description: This subroutine will filter variable items in the STDOUT628 # and STDERR files captured. Date, time and host names629 # are variable items in the log messages captured.630 #631 # Parameter(s): test file name632 #633 # Return: None634 #635 ################################################################################636 637 sub filterStdFiles {638 639 local ($fileName) = @_;640 641 # Open the STDOUT file for reading642 open( OUTFILE, "< temp/$fileName.stdout" );643 644 # Open mod file to place filtered STDOUT645 open( MODFILE, "> temp/$fileName.stdout.mod" );646 647 # Replace the variable data, time and host information with constants648 $hostname = `hostname`;649 chop $hostname;650 while (<OUTFILE>) {651 s/\s+\d+:\d+:\d+\w/<TIME>/g;652 s/\d+:\d+:\d+/<DATE>/g;653 s/$hostname\s*/<HOST>/g;654 s/: Line \d+/: Line <LINENO>/g;655 s/\(.*\:\d+\)/\(FILE\:LINENO\)/g;656 s/\s+[\_\-\/\.\w]+\:\d+/ FILE\:LINENO/g;657 s/allocate \d+ bytes at/allocate <N> bytes at/g;658 s/v\d+.\d+.\d+/vX.X.X/g;659 660 # Filter lines with *** malloc. This is an artifact of Mac testing of661 # memory functions662 if ( !m/\*\*\*\smalloc/ ) {663 print MODFILE ($_);664 }665 }666 667 # Close mod file668 close(MODFILE);669 670 # Close STDERR file671 close(OUTFILE);672 673 # Open the STDERR file for reading674 open( OUTFILE, "< temp/$fileName.stderr" );675 676 # Open mod file to place filtered STDERR677 open( MODFILE, "> temp/$fileName.stderr.mod" );678 679 # Replace the variable date, time and host information with constants680 while (<OUTFILE>) {681 s/\s+\d+:\d+:\d+\w/<TIME>/g;682 s/\d+:\d+:\d+/<DATE>/g;683 s/$hostname\s*/<HOST>/g;684 s/: Line \d+/: Line <LINENO>/g;685 s/\(.*\:\d+\)/\(FILE\:LINENO\)/g;686 s/\s+[\_\-\/\.\w]+\:\d+/ FILE\:LINENO/g;687 s/allocate \d+ bytes at/allocate <N> bytes at/g;688 s/v\d+.\d+.\d+/vX.X.X/g;689 690 # Filter lines with *** malloc. This is an artifact of Mac testing of691 # memory functions692 if ( !m/\*\*\*\smalloc/ ) {693 print MODFILE ($_);694 }695 }696 697 # Close mod file698 close(MODFILE);699 700 # Close STDERR file701 close(OUTFILE);702 }703 -
trunk/psModules/test/runTest
r3630 r3696 26 26 # 27 27 # $Revison: $ $Name: not supported by cvs2svn $ 28 # $Date: 2005-04- 01 21:52:22$28 # $Date: 2005-04-12 21:51:00 $ 29 29 # 30 30 # Copyright 2004 Maui High Performance Computering Center, University of Hawaii … … 43 43 "resetStdout!" => \$resetStdout, 44 44 "verified=s" => \$verifiedDir, 45 "help!" => \$help 45 "help!" => \$help, 46 "quiet!" => \$quiet, 47 "printpassfail!" => \$verbose 46 48 ); 47 49 48 50 if ($help || $#ARGV < 0) { 49 print 50 "Usage: runTest [--reset] [--resetStderr] [--resetStdout] [--verified=DIR] testfile(s)\n\n";51 print "Usage: runTest [--help] [--verified=DIR] [--quiet] [--printpassfail] \\\n", 52 " [--reset] [--resetStderr] [--resetStdout] testfile(s)\n\n"; 51 53 exit(0); 52 54 } … … 75 77 # Check if a temp directory already exists in the current work directory 76 78 if ( !( -e "temp" ) ) { 77 78 79 # Create temp directory to store STDOUT, STDERR files during test run 79 80 `mkdir temp`; 80 81 # Display message of new directory created82 print("Creating temp directory\n");83 81 } 84 82 … … 87 85 88 86 # Display message that verified subdirectory doesn't exist 89 print (" Verified directory doesn't exist.\n");87 print STDERR " Verified directory doesn't exist.\n"; 90 88 91 89 # Exit script since the test cannot be run with verified files … … 95 93 # Check if the test driver file exists and is executable 96 94 if ( ( -e $testFile ) && ( -x $testFile ) ) { 97 98 # Display message the test driver is being executed99 print("--- Executing test driver: $testFile\n");100 95 101 96 # Invoke the test driver … … 112 107 # Display failure message with return value to user 113 108 if ( $? != 0 && ( $testFile !~ /^A/i ) ) { 114 print ("Failed - Test Driver returned $?, expected 0.\n");109 print STDERR "Failed - Test Driver returned $?, expected 0.\n"; 115 110 } 116 111 elsif ( $? == 0 && ( $testFile =~ /^A/i ) ) { 117 print ("Failed - Test Driver returned $?, expected abort.\n");112 print STDERR "Failed - Test Driver returned $?, expected abort.\n"; 118 113 } 119 114 $exitValue |= 64; … … 144 139 s/v\d+.\d+.\d+/vX.X.X/g; 145 140 141 if (m/TestPoint:\s*([^\*]+)/) { 142 $testfile = $1; 143 } 144 if (m/^---> TESTPOINT\s(\S+)/) { 145 print "\t$testfile- $1\n" if ($verbose || $1 eq "FAILED"); 146 if ($1 eq "FAILED") { 147 print $testoutput; 148 } 149 } 150 146 151 # Filter lines with malloc. This is an artifact of memory testing 147 152 # with the Mac testbed … … 177 182 s/v\d+.\d+.\d+/vX.X.X/g; 178 183 184 if (m/\*\*\*\*\*\* TESTPOINT \*\*\*\*\*\*/) { 185 $testoutput = $_; 186 } 187 $testoutput += $_; 188 189 if (m/ TestPoint:\s*([^\*]+)/) { 190 $testfile = $1; 191 } 192 if (m/^---> TESTPOINT\s(\S+)/) { 193 print "\t$testfile- $1\n" if ($verbose || $1 eq "FAILED"); 194 if ($1 eq "FAILED") { 195 print $testoutput; 196 } 197 } 198 179 199 # Filter lines with malloc. This is an artifact of memory testing 180 200 # with the Mac testbed 201 181 202 if ( !m/\*\*\*\smalloc/ ) { 182 203 print MODFILE ($_); … … 193 214 194 215 # Compare STDOUT capture with verified file 195 $exitValue |= &compareStream("$verifiedDir/$testFile.stdout");216 $exitValue = &compareStream("$verifiedDir/$testFile.stdout"); 196 217 197 218 # Check exit value to determine if verified file doesn't exist … … 218 239 # Since test driver doesn't exist or is not executable then display 219 240 # message to user. 220 print( 221 " Need to specify an executable test file within directory.\n" 222 ); 241 print STDERR "\tNeed to specify an executable test file.\n"; 223 242 224 243 # Exit value set to indicate test driver doesn't exist or not executable … … 231 250 # of a failed test 232 251 if ( ( $exitValue >> 3 ) != 0 ) { 233 print ("Test failed - return status = $exitValue\n\n");252 print STDERR "Test failed - return status = $exitValue\n\n"; 234 253 } 235 254 else { 236 print("Test successful\n\n");255 exit(0); 237 256 } 238 257 exit($exitValue); … … 272 291 || m/\|A\|/i ) 273 292 { 293 print STDERR "\tFailed - File $fileName contains error strings.\n"; 274 294 if ( $fileName =~ m/out/ ) { 275 print(276 " Failed - File $fileName contains error strings.\n"277 );278 295 $returnVal = 64; 279 296 } 280 297 elsif ( $fileName =~ m/err/ ) { 281 print(282 " Failed - File $fileName contains error strings.\n"283 );284 298 $returnVal = 128; 285 299 } … … 305 319 # 306 320 # Return: 0 - Compare successful 321 # 2 - STDOUT verified file doesn't exist 322 # 4 - STDERR verified file doesn't exist 307 323 # 8 - STDOUT verified file doesn't compare 308 324 # 16 - STDERR verified file doesn't compare … … 316 332 317 333 # Check for existence of verified STD stream files 318 if ( -e $streamFile ) { 334 if ( !( -e $streamFile ) ) { 335 336 # Set exit value bit 1 to indicate proper failure 337 if ( $streamFile =~ /out$/ ) { 338 $returnVal |= 2; 339 } 340 elsif ( $streamFile =~ /err$/ ) { 341 $returnVal |= 4; 342 } 343 } 344 else { 319 345 320 346 # Verified STD stream file exists … … 337 363 338 364 # Display message of the failure of difference to user 339 print (" Failed - STDOUT difference\n$diffstdout\n");365 print STDERR "\tFailed - STDOUT differences\n"; 340 366 341 367 # Exit value to indicate STDOUT did not compare … … 345 371 346 372 # Display message of the failure of difference to user 347 print (" Failed - STDERR difference\n$diffstdout\n");373 print STDERR "\tFailed - STDERR differences\n"; 348 374 349 375 # Exit value to indicate STDERR did not compare
Note:
See TracChangeset
for help on using the changeset viewer.
