From a3c773d006c94286432cd8c8abf4cb3ec74e995d Mon Sep 17 00:00:00 2001 From: "Julian M. Kunkel" Date: Fri, 6 Jul 2018 21:47:16 +0100 Subject: [PATCH] Cleanup of old testing code. --- scripts/exampleScript | 24 - scripts/run_script.cnl | 93 - testing/IOR-tester.README | 46 - testing/IOR-tester.py | 1605 ----------------- .../basic-tests.sh | 0 testing/hintsFile | 2 - testing/timestamp.cfg | 28 - 7 files changed, 1798 deletions(-) delete mode 100755 scripts/exampleScript delete mode 100755 scripts/run_script.cnl delete mode 100755 testing/IOR-tester.README delete mode 100755 testing/IOR-tester.py rename scripts/run_script.linux => testing/basic-tests.sh (100%) delete mode 100755 testing/hintsFile delete mode 100644 testing/timestamp.cfg diff --git a/scripts/exampleScript b/scripts/exampleScript deleted file mode 100755 index c17e284..0000000 --- a/scripts/exampleScript +++ /dev/null @@ -1,24 +0,0 @@ -IOR START - testFile = /tmp/work/swh13/testfile - filePerProc=1 - api=POSIX - repetitions=2 - verbose=1 - reordertasksrandom=1 - reordertasksrandomseed=-113 - RUN - verbose = 2 - repetitions=1#more foo - reordertasksconstant=1 - #foobar - blockSize=10m - transferSize=128k - randomoffset=1 - - RUN - verbose = 0 - - #blockSize= - transferSize=64k - RUN -IOR STOP diff --git a/scripts/run_script.cnl b/scripts/run_script.cnl deleted file mode 100755 index a38edbd..0000000 --- a/scripts/run_script.cnl +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/bash -x - -#PBS -N IOR -#PBS -j oe -#PBS -q batch -#PBS -A stf006 -#PBS -V -#PBS -l walltime=0:60:00,size=8 - -VERS=IOR-2.10.1.ornl.16 -WORK=/tmp/work/${USER} -echo $PBS_O_WORKDIR - -cd /ccs/proj/quadcore -tar -czvf ${WORK}/${VERS}.tar.gz ./${VERS} -cd ${WORK} -rm -fr ./${VERS} -tar -xzvf ${WORK}/${VERS}.tar.gz -cd ${WORK}/${VERS} -gmake clean -gmake mpiio -EXEC=${WORK}/${VERS}/src/C/IOR -IODIR=/tmp/work/swh13/test_files_x -cd ${WORK}/${VERS}/tests - -which mpirun - -rm -fr $IODIR -mkdir $IODIR - -let "w=128" -let "s=1024*1024" -let "i=3" - -MPIRUN="aprun -n" - -RESULTS="." - -let "tid=1" -XFERS="1048576 262144 32768 4096 1024" -XFERS="262144" -for xfer in `echo $XFERS` -do - let "n=8" -until [ "$n" -gt 8 ] -do - - let "m=$n/4" - #TESTS="POSIX MPIIO HDF5 NCMPI" - TESTS="POSIX MPIIO" - for test in `echo $TESTS` - do - runid="p$n.$xfer.${test}" - date - - V=" " - BLOCKS="1 10 1 10 1 10" - for blocks in `echo $BLOCKS` - do - - let "block=${xfer} * ${blocks}" - - #fileperproc tests - ${MPIRUN} $n ${EXEC} -A ${tid} -a ${test} -w -z ${V} -F -o $IODIR/testwrite.${runid} -Y -e -i${i} -m -t ${xfer} -b ${block} -d 0.1 - ${MPIRUN} $n ${EXEC} -A ${tid} -a ${test} -w -z ${V} -F -o $IODIR/testwrite.${runid} -k -e -i${i} -m -t ${xfer} -b ${block} -d 0.1 - ${MPIRUN} $n ${EXEC} -A ${tid} -a ${test} -r -z ${V} -F -o $IODIR/testwrite.${runid} -k -e -i${i} -m -t ${xfer} -b ${block} -d 0.1 - ${MPIRUN} $n ${EXEC} -A ${tid} -a ${test} -r -z -C ${V} -F -o $IODIR/testwrite.${runid} -k -e -i${i} -m -t ${xfer} -b ${block} -d 0.1 - ${MPIRUN} $n ${EXEC} -A ${tid} -a ${test} -r -z -C -Q $m ${V} -F -o $IODIR/testwrite.${runid} -k -e -i${i} -m -t ${xfer} -b ${block} -d 0.1 - ${MPIRUN} $n ${EXEC} -A ${tid} -a ${test} -r -z -Z -Q $m ${V} -F -o $IODIR/testwrite.${runid} -k -e -i${i} -m -t ${xfer} -b ${block} -d 0.1 - ${MPIRUN} $n ${EXEC} -A ${tid} -a ${test} -r -z -Z -Q $m -X 13 ${V} -F -o $IODIR/testwrite.${runid} -k -e -i${i} -m -t ${xfer} -b ${block} -d 0.1 - ${MPIRUN} $n ${EXEC} -A ${tid} -a ${test} -r -z -Z -Q $m -X -13 ${V} -F -o $IODIR/testwrite.${runid} -e -i${i} -m -t ${xfer} -b ${block} -d 0.1 - - #shared tests - ${MPIRUN} $n ${EXEC} -A ${tid} -a ${test} -w -z ${V} -o $IODIR/testwrite.${runid} -Y -e -i${i} -m -t ${xfer} -b ${block} -d 0.1 - ${MPIRUN} $n ${EXEC} -A ${tid} -a ${test} -w ${V} -o $IODIR/testwrite.${runid} -k -e -i${i} -m -t ${xfer} -b ${block} -d 0.1 - ${MPIRUN} $n ${EXEC} -A ${tid} -a ${test} -r -z ${V} -o $IODIR/testwrite.${runid} -k -e -i${i} -m -t ${xfer} -b ${block} -d 0.1 - - #test mutually exclusive options - ${MPIRUN} $n ${EXEC} -A ${tid} -a ${test} -r -z -C ${V} -o $IODIR/testwrite.${runid} -k -e -i${i} -m -t ${xfer} -b ${block} -d 0.1 - ${MPIRUN} $n ${EXEC} -A ${tid} -a ${test} -r -z -Z ${V} -o $IODIR/testwrite.${runid} -k -e -i${i} -m -t ${xfer} -b ${block} -d 0.1 - ${MPIRUN} $n ${EXEC} -A ${tid} -a ${test} -r -Z -C ${V} -o $IODIR/testwrite.${runid} -i${i} -m -t ${xfer} -b ${block} -d 0.0 - let "tid=$tid + 17" - - V=$V" -v" - - done #blocks - - date - done #test - let "n = $n * 2" - done #n -done #xfer -exit diff --git a/testing/IOR-tester.README b/testing/IOR-tester.README deleted file mode 100755 index da57cf4..0000000 --- a/testing/IOR-tester.README +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************\ -* * -* Copyright (c) 2003, The Regents of the University of California * -* See the file COPYRIGHT for a complete copyright notice and license. * -* * -\******************************************************************************/ - -The IOR-tester runs a series of tests to check and maintain the existing -functionality of the source code as code is modified. The IOR-tester creates -a default test, then modifies it to run test scripts. It runs a large number -of tests, most which are expected to pass, but some with an expectation of -failure. - -To run the code, modify the 'DefaultTest' dictionary in the source code to -reflect the test file location, the executable location, etc. Then, run -the code using './IOR-tester.py'. - -The expected-pass, pattern-independent tests include: - POSIX only: - o retry transfer - - MPIIO only: - o hints - o preallocation - - Both POSIX and MPIIO: - o repetition count - o intertest delay - o test file removal - o verbosity - -The expected-pass, pattern-dependent tests include: - POSIX: - o write-only, read-only, write/read, and write/read check - o fpp and single file - o segmented, strided - o zero-length, 4-byte, and larger file, block, and transfer sizes - MPIIO (same as POSIX, but using MPIIO access): - o noncollective - o noncollective, file view - o collective - o collective, file view - -The expected-fail tests include: - Both POSIX and MPIIO: - o repetition count diff --git a/testing/IOR-tester.py b/testing/IOR-tester.py deleted file mode 100755 index 499b79c..0000000 --- a/testing/IOR-tester.py +++ /dev/null @@ -1,1605 +0,0 @@ -#!/usr/bin/env python -# -# Tester for IOR -# -#/*****************************************************************************\ -#* * -#* Copyright (c) 2003, The Regents of the University of California * -#* See the file COPYRIGHT for a complete copyright notice and license. * -#* * -#\*****************************************************************************/ - -import sys -import os.path -import string - -# definitions -RETURN_TOTAL_TESTS = -1 -TEST_SETTINGS = 0 -TEST_SUBSET_SIZE = 5 # number of tests in each job submission -IOR_SIZE_T = 8 -KIBIBYTE = 1024 -MEBIBYTE = KIBIBYTE * KIBIBYTE -GIBIBYTE = KIBIBYTE * MEBIBYTE -PASS = 1 -FAIL = 0 -TRUE = 1 -FALSE = 0 -scriptFileBase = './scriptFile' -executable = '../src/C/IOR' -#testDir = './tmp_test_dir' -testDir = '/p/glocal1/loewe/tmp_test_dir' - -debug = FALSE # debug mode = {FALSE, TRUE} - -################################################################################ -# class for default test parameters # -################################################################################ -class Test: - ###################### - # default parameters # - ###################### - def DefaultTest(self): - return { - # general - 'debug': 'debug info', - 'api': 'POSIX', - 'testFile': testDir + '/testFile.1', - 'hintsFileName': '', - 'repetitions': 1, - 'multiFile': 0, - 'interTestDelay': 0, - 'numTasks': 0, - 'readFile': 1, - 'writeFile': 1, - 'filePerProc': 0, - 'fsync': 0, - 'checkWrite': 1, - 'checkRead': 1, - 'keepFile': 1, - 'keepFileWithError': 1, - 'segmentCount': 1, - 'blockSize': MEBIBYTE, - 'transferSize': (MEBIBYTE / 4), - 'verbose': 0, - 'showHelp': 0, - 'reorderTasks': 1, # not default in code - 'quitOnError': 0, - 'useExistingTestFile': 0, - 'deadlineForStonewalling': 0, - 'maxTimeDuration': 0, - 'setTimeStampSignature': 0, - 'intraTestBarriers': 0, - 'storeFileOffset': 0, - 'randomOffset': 0, - # POSIX - 'singleXferAttempt': 0, - 'useO_DIRECT': 0, - # MPIIO - 'useFileView': 0, - 'preallocate': 0, - 'useSharedFilePointer': 0, # not working yet - 'useStridedDatatype': 0, # not working yet - # non-POSIX - 'showHints': 0, - 'collective': 0, - # HDF5 - 'setAlignment': 1, - 'noFill': 0, # in hdf5-1.6 or later version - 'individualDataSets': 0 # not working yet - } - - ################### - # tests to be run # - ################### - def Tests(self, expectation, testNumber): - -################################################################################ -################################################################################ -# # -# S T A R T O F T E S T S # -# # -################################################################################ -################################################################################ - POSIX_TESTS = [ - # - # pattern independent tests - # - - # POSIX, interTestDelay - [{'debug': 'POSIX interTestDelay', - 'interTestDelay': 0}], - [{'debug': 'POSIX interTestDelay', - 'interTestDelay': 1}], - - # POSIX, intraTestBarriers - [{'debug': 'POSIX intraTestBarriers', - 'intraTestBarriers': 1}], - - # POSIX, uniqueDir - [{'debug': 'POSIX uniqueDir', - 'filePerProc': 1, - 'uniqueDir': 1}], - - # POSIX, uniqueDir random - [{'debug': 'POSIX uniqueDir random', - 'filePerProc': 1, - 'randomOffset': 1, - 'checkRead': 0, - 'uniqueDir': 1}], - - # POSIX, fsync - [{'debug': 'POSIX fsync', - 'fsync': 1}], - - # POSIX, repetitions - [{'debug': 'POSIX repetitions', - 'repetitions': 1}], - [{'debug': 'POSIX repetitions', - 'repetitions': 3}], - - # POSIX, repetitions random - [{'debug': 'POSIX repetitions random', - 'randomOffset': 1, - 'checkRead': 0, - 'repetitions': 3}], - - # POSIX, multiFile - [{'debug': 'POSIX multiFile', - 'repetitions': 3, - 'multiFile': 1}], - - # POSIX, multiFile random - [{'debug': 'POSIX multiFile', - 'repetitions': 3, - 'randomOffset': 1, - 'checkRead': 0, - 'multiFile': 1}], - - # POSIX, writeFile-only - [{'debug': 'POSIX writeFile-only', - 'writeFile': 1, - 'readFile': 0, - 'checkRead': 0}], - - # POSIX, writeFile-only random - [{'debug': 'POSIX writeFile-only random', - 'writeFile': 1, - 'randomOffset': 1, - 'readFile': 0, - 'checkRead': 0}], - - # POSIX, readFile-only - [{'debug': 'POSIX readFile-only', - 'writeFile': 0, - 'checkWrite': 0, - 'readFile': 1}], - - # POSIX, readFile-only - [{'debug': 'POSIX readFile-only random', - 'writeFile': 0, - 'checkWrite': 0, - 'randomOffset': 1, - 'checkRead': 0, - 'readFile': 1}], - - # POSIX, write/read check off - [{'debug': 'POSIX write-read check off', - 'checkWrite': 0, - 'checkRead': 0}], - - # POSIX, write/read check off random - [{'debug': 'POSIX write-read check off random', - 'checkWrite': 0, - 'randomOffset': 1, - 'checkRead': 0}], - - # POSIX, store file offset - [{'debug': 'POSIX store file offset', - 'storeFileOffset':1}], - - # POSIX, remove file - [{'debug': 'POSIX remove file', - 'keepFile': 0}], - - # POSIX, remove file random - [{'debug': 'POSIX remove file', - 'randomOffset': 1, - 'checkRead': 0, - 'keepFile': 0}], - - # POSIX, remove file with error - [{'debug': 'POSIX remove file with error', - 'keepFileWithError': 0}], - - # POSIX, remove file with error random - [{'debug': 'POSIX remove file with error random', - 'randomOffset': 1, - 'checkRead': 0, - 'keepFileWithError': 0}], - - - # POSIX, deadline for stonewalling - [{'debug': 'POSIX deadlineForStonewalling', - 'testFile': test.DefaultTest()['testFile'] + '.stonewall', - 'blockSize': GIBIBYTE, - 'readFile': 0, - 'checkWrite': 0, - 'checkRead': 0, - 'deadlineForStonewalling':1}], - - # POSIX, deadline for stonewalling random - [{'debug': 'POSIX deadlineForStonewalling random', - 'testFile': test.DefaultTest()['testFile'] + '.stonewall', - 'blockSize': GIBIBYTE, - 'readFile': 0, - 'checkWrite': 0, - 'randomOffset': 1, - 'checkRead': 0, - 'deadlineForStonewalling':1}], - - # POSIX, max time duration - [{'debug': 'POSIX maxTimeDuration', - 'maxTimeDuration':1}], - - # POSIX, max time duration random - [{'debug': 'POSIX maxTimeDuration random', - 'randomOffset': 1, - 'checkRead': 0, - 'maxTimeDuration':1}], - - # POSIX, verbose - [{'debug': 'POSIX verbose 0', - 'verbose': 0}], - [{'debug': 'POSIX verbose 1', - 'verbose': 1}], - [{'debug': 'POSIX verbose 2', - 'verbose': 2}], - [{'debug': 'POSIX verbose 3', - 'verbose': 3}], - [{'debug': 'POSIX verbose 4', - 'verbose': 4, - 'blockSize': KIBIBYTE, - 'transferSize': (KIBIBYTE / 4)}], - - - # POSIX, multiple file names, ssf - [{'debug': 'POSIX multiple file names ssf', - 'testFile': testDir + '/f1@' + testDir + '/f2'}], - - # POSIX, multiple file names, ssf random - [{'debug': 'POSIX multiple file names ssf random', - 'randomOffset': 1, - 'checkRead': 0, - 'testFile': testDir + '/f1@' + testDir + '/f2'}], - - # POSIX, multiple file names, fpp - [{'debug': 'POSIX multiple file names fpp', - 'filePerProc': 1, - 'testFile': testDir + '/f1@' + testDir + '/f2'}], - - # POSIX, multiple file names, fpp random - [{'debug': 'POSIX multiple file names fpp random', - 'filePerProc': 1, - 'randomOffset': 1, - 'checkRead': 0, - 'testFile': testDir + '/f1@' + testDir + '/f2'}], - - # POSIX, corruptFile - [{'debug': 'POSIX corruptFile', - 'testFile': test.DefaultTest()['testFile'], - 'filePerProc': 0, - 'corruptFile': 1}], - - # POSIX, corruptFile random - [{'debug': 'POSIX corruptFile random', - 'testFile': test.DefaultTest()['testFile'], - 'filePerProc': 0, - 'randomOffset': 1, - 'checkRead': 0, - 'corruptFile': 1}], - - # POSIX, corruptFile - [{'debug': 'POSIX corruptFile filePerProc', - 'filePerProc': 1, - 'corruptFile': 1}], - - # POSIX, corruptFile random - [{'debug': 'POSIX corruptFile filePerProc random', - 'filePerProc': 1, - 'randomOffset': 1, - 'checkRead': 0, - 'corruptFile': 1}], - - # POSIX, showHelp - [{'debug': 'POSIX showHelp', - 'showHelp': 1, - 'filePerProc': 0, - 'corruptFile': 0}], - - # POSIX, quitOnError - [{'debug': 'POSIX quitOnError', - 'quitOnError': 1}], - - # POSIX, quitOnError random - [{'debug': 'POSIX quitOnError random', - 'randomOffset': 1, - 'checkRead': 0, - 'quitOnError': 1}], - - # POSIX, singleXferAttempt - [{'debug': 'POSIX singleXferAttempt', - 'singleXferAttempt': 1}], - - # POSIX, singleXferAttempt random - [{'debug': 'POSIX singleXferAttempt random', - 'randomOffset': 1, - 'checkRead': 0, - 'singleXferAttempt': 1}], - - # POSIX, setTimeStampSignature - [{'debug': 'POSIX setTimeStampSignature', - 'setTimeStampSignature': 123}], - - # POSIX, setTimeStampSignature random - [{'debug': 'POSIX setTimeStampSignature random', - 'randomOffset': 1, - 'checkRead': 0, - 'setTimeStampSignature': 123}], - - # POSIX, useExistingTestFile [Note: don't follow HDF5 test] - [{'debug': 'POSIX useExistingTestFile', - 'useExistingTestFile': 1}], - - # POSIX, useExistingTestFile random [Note: don't follow HDF5 test] - [{'debug': 'POSIX useExistingTestFile', - 'randomOffset': 1, - 'checkRead': 0, - 'useExistingTestFile': 1}], - - # - # pattern dependent tests - # - - # POSIX, filePerProc - [{'debug': 'POSIX filePerProc', - 'filePerProc': 1, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 1}], - - [{'debug': 'POSIX filePerProc', - 'filePerProc': 1, - 'segmentCount': 1}], - - [{'debug': 'POSIX filePerProc', - 'filePerProc': 1, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 3}], - - [{'debug': 'POSIX filePerProc', - 'filePerProc': 1, - 'segmentCount': 3}], - - # POSIX, sharedFile - [{'debug': 'POSIX sharedFile', - 'filePerProc': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 1}], - - [{'debug': 'POSIX sharedFile', - 'filePerProc': 0, - 'segmentCount': 1}], - - [{'debug': 'POSIX sharedFile', - 'filePerProc': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 3}], - - [{'debug': 'POSIX sharedFile', - 'filePerProc': 0, - 'segmentCount': 3}], - - [{'debug': 'POSIX sharedFile numTasks', - 'filePerProc': 0, - 'numTasks': 2, - 'segmentCount': 3}], - - # - # pattern dependent tests, random - # - - # POSIX, filePerProc random - [{'debug': 'POSIX filePerProc random', - 'filePerProc': 1, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 1}], - - [{'debug': 'POSIX filePerProc random', - 'filePerProc': 1, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 1}], - - [{'debug': 'POSIX filePerProc random', - 'filePerProc': 1, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 3}], - - [{'debug': 'POSIX filePerProc random', - 'filePerProc': 1, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 3}], - - # POSIX, sharedFile random - [{'debug': 'POSIX sharedFile random', - 'filePerProc': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 1}], - - [{'debug': 'POSIX sharedFile random', - 'filePerProc': 0, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 1}], - - [{'debug': 'POSIX sharedFile random', - 'filePerProc': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 3}], - - [{'debug': 'POSIX sharedFile random', - 'filePerProc': 0, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 3}], - - [{'debug': 'POSIX sharedFile numTasks random', - 'filePerProc': 0, - 'numTasks': 2, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 3}] - ] - - MPIIO_TESTS = [ - # - # pattern independent tests - # - - # MPIIO, repetitions - [{'debug': 'MPIIO repetitions', - 'api': 'MPIIO', - 'repetitions': 1}], - [{'debug': 'MPIIO repetitions', - 'api': 'MPIIO', - 'repetitions': 3}], - [{'debug': 'MPIIO repetitions random', - 'api': 'MPIIO', - 'randomOffset': 1, - 'checkRead': 0, - 'repetitions': 3}], - - # MPIIO, multiFile - [{'debug': 'MPIIO multiFile', - 'api': 'MPIIO', - 'repetitions': 3, - 'multiFile': 1}], - - # MPIIO, multiFile random - [{'debug': 'MPIIO multiFile random', - 'api': 'MPIIO', - 'repetitions': 3, - 'randomOffset': 1, - 'checkRead': 0, - 'multiFile': 1}], - - # MPIIO, remove file - [{'debug': 'MPIIO remove file', - 'api': 'MPIIO', - 'keepFile': 0}], - - # MPIIO, remove file random - [{'debug': 'MPIIO remove file', - 'api': 'MPIIO', - 'randomOffset': 1, - 'checkRead': 0, - 'keepFile': 0}], - - # MPIIO, remove file with error - [{'debug': 'MPIIO remove file with error', - 'api': 'MPIIO', - 'keepFileWithError': 0}], - - # MPIIO, remove file with error random - [{'debug': 'MPIIO remove file with error random', - 'api': 'MPIIO', - 'randomOffset': 1, - 'checkRead': 0, - 'keepFileWithError': 0}], - - # MPIIO, deadline for stonewalling - [{'debug': 'MPIIO deadlineForStonewalling', - 'api': 'MPIIO', - 'testFile': test.DefaultTest()['testFile'] + '.stonewall', - 'blockSize': GIBIBYTE, - 'readFile': 0, - 'checkWrite': 0, - 'checkRead': 0, - 'deadlineForStonewalling':1}], - - # MPIIO, deadline for stonewalling random - [{'debug': 'MPIIO deadlineForStonewalling random', - 'api': 'MPIIO', - 'testFile': test.DefaultTest()['testFile'] + '.stonewall', - 'blockSize': GIBIBYTE, - 'readFile': 0, - 'checkWrite': 0, - 'randomOffset': 1, - 'checkRead': 0, - 'deadlineForStonewalling':1}], - - # MPIIO, max time duration - [{'debug': 'MPIIO maxTimeDuration', - 'api': 'MPIIO', - 'maxTimeDuration':1}], - - # MPIIO, max time duration random - [{'debug': 'MPIIO maxTimeDuration random', - 'api': 'MPIIO', - 'randomOffset': 1, - 'checkRead': 0, - 'maxTimeDuration':1}], - - # MPIIO, quitOnError - [{'debug': 'MPIIO quitOnError', - 'api': 'MPIIO', - 'quitOnError': 1}], - - # MPIIO, quitOnError random - [{'debug': 'MPIIO quitOnError random', - 'api': 'MPIIO', - 'randomOffset': 1, - 'checkRead': 0, - 'quitOnError': 1}], - - # MPIIO, multiple file names, ssf - [{'debug': 'MPIIO multiple file names ssf', - 'api': 'MPIIO', - 'testFile': testDir + '/f1@' + testDir + '/f2'}], - - # MPIIO, multiple file names, ssf random - [{'debug': 'MPIIO multiple file names ssf random', - 'api': 'MPIIO', - 'randomOffset': 1, - 'checkRead': 0, - 'testFile': testDir + '/f1@' + testDir + '/f2'}], - - # MPIIO, multiple file names, fpp - [{'debug': 'MPIIO multiple file names fpp', - 'api': 'MPIIO', - 'filePerProc': 1, - 'testFile': testDir + '/f1@' + testDir + '/f2'}], - - # MPIIO, multiple file names, fpp random - [{'debug': 'MPIIO multiple file names fpp random', - 'api': 'MPIIO', - 'filePerProc': 1, - 'randomOffset': 1, - 'checkRead': 0, - 'testFile': testDir + '/f1@' + testDir + '/f2'}], - - # MPIIO, corruptFile - [{'debug': 'MPIIO corruptFile', - 'api': 'MPIIO', - 'testFile': test.DefaultTest()['testFile'], - 'filePerProc': 0, - 'corruptFile': 1}], - - # MPIIO, corruptFile random - [{'debug': 'MPIIO corruptFile random', - 'api': 'MPIIO', - 'testFile': test.DefaultTest()['testFile'], - 'filePerProc': 0, - 'randomOffset': 1, - 'checkRead': 0, - 'corruptFile': 1}], - - # MPIIO, corruptFile - [{'debug': 'MPIIO corruptFile filePerProc', - 'api': 'MPIIO', - 'filePerProc': 1, - 'corruptFile': 1}], - - # MPIIO, corruptFile random - [{'debug': 'MPIIO corruptFile filePerProc random', - 'api': 'MPIIO', - 'filePerProc': 1, - 'randomOffset': 1, - 'checkRead': 0, - 'corruptFile': 1}], - - # MPIIO, useExistingTestFile - [{'debug': 'MPIIO useExistingTestFile', - 'api': 'MPIIO', - 'useExistingTestFile': 0, - 'filePerProc': 0, - 'corruptFile': 0}], - - # MPIIO, useExistingTestFile random - [{'debug': 'MPIIO useExistingTestFile random', - 'api': 'MPIIO', - 'useExistingTestFile': 0, - 'filePerProc': 0, - 'randomOffset': 1, - 'checkRead': 0, - 'corruptFile': 0}], - - # MPIIO, preallocate - [{'debug': 'MPIIO preallocate', - 'api': 'MPIIO', - 'preallocate': 1}], - - # MPIIO, showHints - [{'debug': 'MPIIO showHints', - 'api': 'MPIIO', - 'showHints': 1}], - - # MPIIO, showHints w/hintsFileName - [{'debug': 'MPIIO showHints w/hintsFileName', - 'api': 'MPIIO', - 'hintsFileName': '/g/g0/loewe/IOR/test/hintsFile', - 'showHints': 1}], - - # MPIIO, setTimeStampSignature - [{'debug': 'MPIIO setTimeStampSignature', - 'api': 'MPIIO', - 'setTimeStampSignature': 123}], - - # MPIIO, setTimeStampSignature random - [{'debug': 'MPIIO setTimeStampSignature random', - 'api': 'MPIIO', - 'randomOffset': 1, - 'checkRead': 0, - 'setTimeStampSignature': 123}], - - # - # pattern dependent tests - # - - # MPIIO, independent - [{'debug': 'MPIIO independent', - 'api': 'MPIIO', - 'collective': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 1}], - - [{'debug': 'MPIIO independent', - 'api': 'MPIIO', - 'collective': 0, - 'segmentCount': 1}], - - [{'debug': 'MPIIO independent', - 'api': 'MPIIO', - 'collective': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 3}], - - [{'debug': 'MPIIO independent', - 'api': 'MPIIO', - 'collective': 0, - 'segmentCount': 3}], - - [{'debug': 'MPIIO independent numTasks', - 'api': 'MPIIO', - 'numTasks': 2, - 'collective': 0, - 'segmentCount': 3}], - - # MPIIO, independent random - [{'debug': 'MPIIO independent random', - 'api': 'MPIIO', - 'collective': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 1}], - - [{'debug': 'MPIIO independent random', - 'api': 'MPIIO', - 'collective': 0, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 1}], - - [{'debug': 'MPIIO independent random', - 'api': 'MPIIO', - 'collective': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 3}], - - [{'debug': 'MPIIO independent random', - 'api': 'MPIIO', - 'collective': 0, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 3}], - - [{'debug': 'MPIIO independent numTasks random', - 'api': 'MPIIO', - 'numTasks': 2, - 'collective': 0, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 3}], - - # MPIIO, collective - [{'debug': 'MPIIO collective', - 'api': 'MPIIO', - 'collective': 1, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 1}], - - [{'debug': 'MPIIO collective', - 'api': 'MPIIO', - 'collective': 1, - 'segmentCount': 1}], - - [{'debug': 'MPIIO collective', - 'api': 'MPIIO', - 'collective': 1, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 3}], - - [{'debug': 'MPIIO collective', - 'api': 'MPIIO', - 'collective': 1, - 'segmentCount': 3}], - - [{'debug': 'MPIIO collective numTasks', - 'api': 'MPIIO', - 'numTasks': 2, - 'collective': 1, - 'segmentCount': 3}], - - # MPIIO, independent, useFileView - [{'debug': 'MPIIO independent useFileView', - 'api': 'MPIIO', - 'useFileView': 1, - 'collective': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 1}], - - [{'debug': 'MPIIO independent useFileView', - 'api': 'MPIIO', - 'useFileView': 1, - 'collective': 0, - 'segmentCount': 1}], - - [{'debug': 'MPIIO independent useFileView', - 'api': 'MPIIO', - 'useFileView': 1, - 'collective': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 3}], - - [{'debug': 'MPIIO independent useFileView', - 'api': 'MPIIO', - 'useFileView': 1, - 'collective': 0, - 'segmentCount': 3}], - - [{'debug': 'MPIIO independent useFileView numTasks', - 'api': 'MPIIO', - 'useFileView': 1, - 'numTasks': 2, - 'collective': 0, - 'segmentCount': 3}], - - # MPIIO, collective, useFileView - [{'debug': 'MPIIO collective useFileView', - 'api': 'MPIIO', - 'useFileView': 1, - 'collective': 1, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 1}], - - [{'debug': 'MPIIO collective useFileView', - 'api': 'MPIIO', - 'useFileView': 1, - 'collective': 1, - 'segmentCount': 1}], - - [{'debug': 'MPIIO collective useFileView', - 'api': 'MPIIO', - 'useFileView': 1, - 'collective': 1, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 3}], - - [{'debug': 'MPIIO collective useFileView', - 'api': 'MPIIO', - 'useFileView': 1, - 'collective': 1, - 'segmentCount': 3}], - - [{'debug': 'MPIIO collective useFileView numTasks', - 'api': 'MPIIO', - 'useFileView': 1, - 'numTasks': 2, - 'collective': 1, - 'segmentCount': 3}], - - # MPIIO, independent, filePerProc - [{'debug': 'MPIIO independent filePerProc', - 'api': 'MPIIO', - 'filePerProc': 1, - 'collective': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 1}], - - [{'debug': 'MPIIO independent filePerProc', - 'api': 'MPIIO', - 'filePerProc': 1, - 'collective': 0, - 'segmentCount': 1}], - - [{'debug': 'MPIIO independent filePerProc', - 'api': 'MPIIO', - 'filePerProc': 1, - 'collective': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 3}], - - [{'debug': 'MPIIO independent filePerProc', - 'api': 'MPIIO', - 'filePerProc': 1, - 'collective': 0, - 'segmentCount': 3}], - - [{'debug': 'MPIIO independent filePerProc numTasks', - 'api': 'MPIIO', - 'filePerProc': 1, - 'numTasks': 2, - 'collective': 0, - 'segmentCount': 3}], - - # MPIIO, independent, filePerProc random - [{'debug': 'MPIIO independent filePerProc random', - 'api': 'MPIIO', - 'filePerProc': 1, - 'collective': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 1}], - - [{'debug': 'MPIIO independent filePerProc random', - 'api': 'MPIIO', - 'filePerProc': 1, - 'collective': 0, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 1}], - - [{'debug': 'MPIIO independent filePerProc random', - 'api': 'MPIIO', - 'filePerProc': 1, - 'collective': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 3}], - - [{'debug': 'MPIIO independent filePerProc random', - 'api': 'MPIIO', - 'filePerProc': 1, - 'collective': 0, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 3}], - - [{'debug': 'MPIIO independent filePerProc numTasks random', - 'api': 'MPIIO', - 'filePerProc': 1, - 'numTasks': 2, - 'collective': 0, - 'randomOffset': 1, - 'checkRead': 0, - 'segmentCount': 3}], - - # MPIIO, collective, filePerProc - [{'debug': 'MPIIO collective filePerProc', - 'api': 'MPIIO', - 'filePerProc': 1, - 'collective': 1, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 1}], - - [{'debug': 'MPIIO collective filePerProc', - 'api': 'MPIIO', - 'filePerProc': 1, - 'collective': 1, - 'segmentCount': 1}], - - [{'debug': 'MPIIO collective filePerProc', - 'api': 'MPIIO', - 'filePerProc': 1, - 'collective': 1, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 3}], - - [{'debug': 'MPIIO collective filePerProc', - 'api': 'MPIIO', - 'filePerProc': 1, - 'collective': 1, - 'segmentCount': 3}], - - [{'debug': 'MPIIO collective filePerProc numTasks', - 'api': 'MPIIO', - 'filePerProc': 1, - 'numTasks': 2, - 'collective': 1, - 'segmentCount': 3}], - - # MPIIO, independent, filePerProc, useFileView - [{'debug': 'MPIIO independent filePerProc useFileView', - 'api': 'MPIIO', - 'filePerProc': 1, - 'useFileView': 1, - 'collective': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 1}], - - [{'debug': 'MPIIO independent filePerProc useFileView', - 'api': 'MPIIO', - 'filePerProc': 1, - 'useFileView': 1, - 'collective': 0, - 'segmentCount': 1}], - - [{'debug': 'MPIIO independent filePerProc useFileView', - 'api': 'MPIIO', - 'filePerProc': 1, - 'useFileView': 1, - 'collective': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 3}], - - [{'debug': 'MPIIO independent filePerProc useFileView', - 'api': 'MPIIO', - 'filePerProc': 1, - 'useFileView': 1, - 'collective': 0, - 'segmentCount': 3}], - - [{'debug': 'MPIIO independent filePerProc useFileView numTasks', - 'api': 'MPIIO', - 'filePerProc': 1, - 'numTasks': 2, - 'useFileView': 1, - 'collective': 0, - 'segmentCount': 3}], - - # MPIIO, collective, filePerProc, useFileView - [{'debug': 'MPIIO collective filePerProc useFileView', - 'api': 'MPIIO', - 'filePerProc': 1, - 'useFileView': 1, - 'collective': 1, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 1}], - - [{'debug': 'MPIIO collective filePerProc useFileView', - 'api': 'MPIIO', - 'filePerProc': 1, - 'useFileView': 1, - 'collective': 1, - 'segmentCount': 1}], - - [{'debug': 'MPIIO collective filePerProc useFileView', - 'api': 'MPIIO', - 'filePerProc': 1, - 'useFileView': 1, - 'collective': 1, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 3}], - - [{'debug': 'MPIIO collective filePerProc useFileView', - 'api': 'MPIIO', - 'filePerProc': 1, - 'useFileView': 1, - 'collective': 1, - 'segmentCount': 3}], - - [{'debug': 'MPIIO collective filePerProc useFileView numTasks', - 'api': 'MPIIO', - 'filePerProc': 1, - 'numTasks': 2, - 'useFileView': 1, - 'collective': 1, - 'segmentCount': 3}] - ] - - HDF5_TESTS = [ - # - # pattern independent tests - # - - # HDF5, repetitions - [{'debug': 'HDF5 repetitions', - 'api': 'HDF5', - 'repetitions': 1}], - [{'debug': 'HDF5 repetitions', - 'api': 'HDF5', - 'repetitions': 3}], - - # HDF5, multiFile - [{'debug': 'HDF5 multiFile', - 'api': 'HDF5', - 'repetitions': 3, - 'multiFile': 1}], - - # HDF5, useExistingTestFile [Note: this must follow HDF5 test] - [{'debug': 'HDF5 useExistingTestFile', - 'api': 'HDF5', - 'useExistingTestFile': 1}], - - # HDF5, remove file - [{'debug': 'HDF5 remove file', - 'api': 'HDF5', - 'keepFile': 0}], - - # HDF5, remove file with error - [{'debug': 'HDF5 remove file with error', - 'api': 'HDF5', - 'keepFileWithError': 0}], - - # HDF5, deadline for stonewalling - [{'debug': 'HDF5 deadlineForStonewalling', - 'api': 'HDF5', - 'testFile': test.DefaultTest()['testFile'] + '.stonewall', - 'blockSize': GIBIBYTE/4, - 'readFile': 0, - 'checkWrite': 0, - 'checkRead': 0, - 'deadlineForStonewalling':1}], - - # HDF5, max time duration - [{'debug': 'HDF5 maxTimeDuration', - 'api': 'HDF5', - 'maxTimeDuration':1}], - - # HDF5, quitOnError - [{'debug': 'HDF5 quitOnError', - 'api': 'HDF5', - 'quitOnError': 1}], - - # HDF5, multiple file names, ssf - [{'debug': 'HDF5 multiple file names ssf', - 'api': 'HDF5', - 'testFile': testDir + '/f1@' + testDir + '/f2'}], - - # HDF5, multiple file names, fpp - [{'debug': 'HDF5 multiple file names fpp', - 'api': 'HDF5', - 'filePerProc': 1, - 'testFile': testDir + '/f1@' + testDir + '/f2'}], - - # HDF5, corruptFile - [{'debug': 'HDF5 corruptFile', - 'api': 'HDF5', - 'testFile': test.DefaultTest()['testFile'], - 'filePerProc': 0, - 'corruptFile': 1}], - - # HDF5, corruptFile - [{'debug': 'HDF5 corruptFile filePerProc', - 'api': 'HDF5', - 'filePerProc': 1, - 'corruptFile': 1}], - - # HDF5, setTimeStampSignature - [{'debug': 'HDF5 setTimeStampSignature', - 'api': 'HDF5', - 'setTimeStampSignature': 123, - 'filePerProc': 0, - 'corruptFile': 0}], - - # HDF5, setAlignment - [{'debug': 'HDF5 setAlignment', - 'api': 'HDF5', - 'setAlignment': '4m'}], - - # HDF5, showHints - [{'debug': 'HDF5 showHints', - 'api': 'HDF5', - 'showHints': 0}], # WEL: omit this test until - # showHints works - - # HDF5, showHints w/hintsFileName - [{'debug': 'HDF5 showHints w/hintsFileName', - 'api': 'HDF5', - 'hintsFileName': '/g/g0/loewe/IOR/test/hintsFile', - 'showHints': 0}], # WEL: omit this test until - # showHints works - - # HDF5, noFill - [{'debug': 'HDF5 noFill', - 'api': 'HDF5', - 'noFill': 0}], # WEL: omit this test until - # noFill is standard - - # - # pattern dependent tests - # - - # HDF5, independent - [{'debug': 'HDF5 independent', - 'api': 'HDF5', - 'collective': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 1}], - - [{'debug': 'HDF5 independent', - 'api': 'HDF5', - 'collective': 0, - 'segmentCount': 1}], - - [{'debug': 'HDF5 independent', - 'api': 'HDF5', - 'collective': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 3}], - - [{'debug': 'HDF5 independent', - 'api': 'HDF5', - 'collective': 0, - 'segmentCount': 3}], - - [{'debug': 'HDF5 independent numTasks', - 'api': 'HDF5', - 'numTasks': 2, - 'collective': 0, - 'segmentCount': 3}], - - # HDF5, collective - [{'debug': 'HDF5 collective', - 'api': 'HDF5', - 'collective': 1, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 1}], - - [{'debug': 'HDF5 collective', - 'api': 'HDF5', - 'collective': 1, - 'segmentCount': 1}], - - [{'debug': 'HDF5 collective', - 'api': 'HDF5', - 'collective': 1, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 3}], - - [{'debug': 'HDF5 collective', - 'api': 'HDF5', - 'collective': 1, - 'segmentCount': 3}], - - [{'debug': 'HDF5 collective numTasks', - 'api': 'HDF5', - 'numTasks': 2, - 'collective': 1, - 'segmentCount': 3}] - ] - - NCMPI_TESTS = [ - # - # pattern independent tests - # - - # NCMPI, repetitions - [{'debug': 'NCMPI repetitions', - 'api': 'NCMPI', - 'repetitions': 1}], - [{'debug': 'NCMPI repetitions', - 'api': 'NCMPI', - 'repetitions': 3}], - - # NCMPI, multiFile - [{'debug': 'NCMPI multiFile', - 'api': 'NCMPI', - 'repetitions': 3, - 'multiFile': 1}], - - # NCMPI, deadline for stonewalling - [{'debug': 'NCMPI deadlineForStonewalling', - 'api': 'NCMPI', - 'testFile': test.DefaultTest()['testFile'] + '.stonewall', - 'blockSize': GIBIBYTE/4, - 'readFile': 0, - 'checkWrite': 0, - 'checkRead': 0, - 'deadlineForStonewalling':1}], - - # NCMPI, max time duration - [{'debug': 'NCMPI maxTimeDuration', - 'api': 'NCMPI', - 'maxTimeDuration':1}], - - # NCMPI, remove file - [{'debug': 'NCMPI remove file', - 'api': 'NCMPI', - 'keepFile': 0}], - - # NCMPI, remove file with error - [{'debug': 'NCMPI remove file with error', - 'api': 'NCMPI', - 'keepFileWithError': 0}], - - # NCMPI, quitOnError - [{'debug': 'NCMPI quitOnError', - 'api': 'NCMPI', - 'quitOnError': 1}], - - # NCMPI, multiple file names, ssf - [{'debug': 'NCMPI multiple file names ssf', - 'api': 'NCMPI', - 'testFile': testDir + '/f1@' + testDir + '/f2'}], - - # NCMPI, corruptFile - [{'debug': 'NCMPI corruptFile', - 'api': 'NCMPI', - 'testFile': test.DefaultTest()['testFile'], - 'corruptFile': 1}], - - # NCMPI, setTimeStampSignature - [{'debug': 'NCMPI setTimeStampSignature', - 'api': 'NCMPI', - 'setTimeStampSignature': 123, - 'corruptFile': 0}], - - # NCMPI, useExistingTestFile [Note: this must follow NCMPI test] - [{'debug': 'NCMPI useExistingTestFile', - 'api': 'NCMPI', - 'useExistingTestFile': 1}], - - # - # pattern dependent tests - # - - # NCMPI, independent - [{'debug': 'NCMPI independent', - 'api': 'NCMPI', - 'collective': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 1}], - - [{'debug': 'NCMPI independent', - 'api': 'NCMPI', - 'collective': 0, - 'segmentCount': 1}], - - [{'debug': 'NCMPI independent', - 'api': 'NCMPI', - 'collective': 0, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 3}], - - [{'debug': 'NCMPI independent', - 'api': 'NCMPI', - 'collective': 0, - 'segmentCount': 3}], - - [{'debug': 'NCMPI independent numTasks', - 'api': 'NCMPI', - 'numTasks': 2, - 'collective': 0, - 'segmentCount': 3}], - - # NCMPI, collective - [{'debug': 'NCMPI collective', - 'api': 'NCMPI', - 'collective': 1, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 1}], - - [{'debug': 'NCMPI collective', - 'api': 'NCMPI', - 'collective': 1, - 'segmentCount': 1}], - - [{'debug': 'NCMPI collective', - 'api': 'NCMPI', - 'collective': 1, - 'blockSize': IOR_SIZE_T, - 'transferSize': IOR_SIZE_T, - 'segmentCount': 3}], - - [{'debug': 'NCMPI collective', - 'api': 'NCMPI', - 'collective': 1, - 'segmentCount': 3}], - - [{'debug': 'NCMPI collective numTasks', - 'api': 'NCMPI', - 'numTasks': 2, - 'collective': 1, - 'segmentCount': 3}] - ] - - PassTests = [] - if OS == "AIX": - PassTests = PassTests + POSIX_TESTS - PassTests = PassTests + MPIIO_TESTS - PassTests = PassTests + HDF5_TESTS - PassTests = PassTests + NCMPI_TESTS - elif OS == "Linux": - PassTests = PassTests + POSIX_TESTS - PassTests = PassTests + MPIIO_TESTS - #PassTests = PassTests + HDF5_TESTS - #PassTests = PassTests + NCMPI_TESTS - else: - PassTests = [ - [{'debug': 'failure to determine OS'}] - ] - - FailTests = [ - [{'debug': 'no tests should fail'}] - ] - -################################################################################ -################################################################################ -# # -# E N D O F T E S T S # -# # -################################################################################ -################################################################################ - # WEL debugging: if 0 == 0: PassTests = [ [{'debug': 'debug test'}] ] - - if expectation == PASS: - if testNumber == RETURN_TOTAL_TESTS: - return len(PassTests) - else: - return PassTests[testNumber] - else: # expectation == FAIL - if testNumber == RETURN_TOTAL_TESTS: - return len(FailTests) - else: - return FailTests[testNumber] - - - ################### - # run test script # - ################### - def RunScript(self, nodes, procs): - if OS == "AIX": - command = "poe " + executable + " -f " + scriptFile + \ - " -nodes " + str(nodes) + " -procs " + str(procs) + \ - " -rmpool systest -labelio no -retry wait" - elif OS == "Linux": - command = "srun -N " + str(procs) + " -n " + str(procs) + \ - " -ppdebug " + executable + " -f " + scriptFile - else: - command = "unable to run " + executable + " -f " + scriptFile - if debug == TRUE: - Flush2File(command) - else: - childIn, childOut = os.popen4(command) - childIn.close() - while 1: - line = childOut.readline() - if line == '': break - Flush2File(line[:-1]) - childOut.close() - return - - -########################## -# create subsets of list # -########################## -def ListSubsets(tests, size): - listOfSubsets = [] - start = end = 0 - totalTestsSize = len(tests) - for i in range(0, (totalTestsSize / size) + 1): - if end >= totalTestsSize: - break - end = end + size - listOfSubsets.append(tests[start:end]) - start = end - return listOfSubsets - - -################# -# flush to file # -################# -def Flush2File(string): - resultsFile.write(string + '\n') - resultsFile.flush() - - -################################## -# replace blanks with underscore # -################################## -def UnderScore(string): - uString = string - for i in range(0, len(uString)): - if uString[i] == ' ': - uString = uString[:i] + '_' + uString[i+1:] - return(uString) - - -############################# -# grep for keywords in file # -############################# -def grepForKeywords(keywords, resultsFileName): - # create pattern for grep - pattern = "\"" - for i in range(len(keywords)): - pattern = pattern + keywords[i] - if i < len(keywords)-1: - pattern = pattern + '|' - pattern = pattern + "\"" - - # grep for pattern in file - resultsFileNameTmp = resultsFileName + ".tmp" - cmd = "grep -i -E " + pattern + " " + resultsFileName \ - + " >> " + resultsFileNameTmp + " 2>&1" - os.system(cmd) - cmd = "cat " + resultsFileNameTmp + " >> " + resultsFileName - os.system(cmd) - cmd = "rm -f " + resultsFileNameTmp - os.system(cmd) - - -################################################################################ -# main # -################################################################################ -resultsFileName = "./test-results.txt-" + \ - os.popen("date +%m.%d.%y").read()[:-1] -resultsFile = open(resultsFileName, "w") -OS = os.popen("uname -s").read()[:-1] -test = Test() -testNumber = 0 - -#environment variables -nodes = 1 -proccnt = [1, 3] - -Flush2File("TESTING IOR C CODE") - -# loop through different processors counts -for proc in proccnt: - - # first run all expected-PASS test, then the FAILs - for testType in (PASS, FAIL): - - # test type info - if (testType == PASS): - Flush2File("\n*** STARTING EXPECTED P A S S TESTS (PROC=" \ - + str(proc) + ") ***") - else: - Flush2File("\n*** STARTING EXPECTED F A I L TESTS (PROC=" \ - + str(proc) + ") ***") - - # loop through all tests for test type - totalTests = range(test.Tests(testType, RETURN_TOTAL_TESTS)) - firstTest = TRUE - for testSubset in ListSubsets(totalTests, TEST_SUBSET_SIZE): - for i in testSubset: - if (firstTest == TRUE): - Flush2File("\n\n*** Setting up tests ***") - firstTest = FALSE - if (i % 10 == 0 and i != 0): - Flush2File("finished " + str(i) + " tests") - sys.stdout.flush() - # unless an expected fail test, only open a single script - # create script file name - if (testType == PASS): - scriptFile = scriptFileBase + '.' + str(proc) + '.PASS' - else: - scriptFile = scriptFileBase + '.' + str(proc) + '.FAIL' - - scriptFile = scriptFile + '-TESTS_' + str(testSubset[0:1][0]) \ - + '-' + str(testSubset[len(testSubset)-1:][0]) - if ((i % TEST_SUBSET_SIZE == 0) or (testType == FAIL)): - os.system("rm -f " + scriptFile) - script = open(scriptFile, "a") - script.write("IOR START" + "\n") - - # start with a default test, then modify - testValues = test.DefaultTest() - - # loop through all changes to the default script - for j in test.Tests(testType, i)[TEST_SETTINGS].keys(): - testValues[j] = test.Tests(testType, i)[TEST_SETTINGS][j] - - testNumber = testNumber + 1 - testValues['debug'] = UnderScore("Test No. " + \ - str(testNumber) + ": " + \ - testValues['debug']) - # write test information to script file - for entry in testValues.keys(): - if (str(testValues[entry]) != ''): - script.write("\t" + entry + "=" + - str(testValues[entry]) + "\n") - script.write("RUN" + "\n") - - # unless an expected fail test, only close a single script - if ((i == testSubset[len(testSubset)-1:][0]) \ - or (testType == FAIL)): - # create tail, close file - script.write("IOR STOP" + "\n") - script.close() - if (testType == FAIL): - Flush2File("finished 1 test") - else: - Flush2File("finished %d test%s" % ((i + 1), "s"[i==1:])) - firstTest = TRUE - - # display test info for failing test (note that the - # test fails before a description is displayed) - if testType == FAIL: - Flush2File("\n\t================================\n\n") - Flush2File("*** DEBUG MODE ***") - Flush2File("*** " + str(testValues['debug']) + \ - " ***") - Flush2File("") - - # run - os.system ("rm -rf " + testDir) - os.system("mkdir " + testDir) - test.RunScript(nodes, proc) - os.system ("rm -rf " + testDir) - if 0 == 0: os.system("rm -f " + scriptFile) # run scripts - -Flush2File("\nFINISHED TESTING IOR C CODE") -Flush2File("\nRESULTS:") -resultsFile.close() -grepForKeywords(["warn", "fail", "error", "Test_No"], resultsFileName) diff --git a/scripts/run_script.linux b/testing/basic-tests.sh similarity index 100% rename from scripts/run_script.linux rename to testing/basic-tests.sh diff --git a/testing/hintsFile b/testing/hintsFile deleted file mode 100755 index 6931afb..0000000 --- a/testing/hintsFile +++ /dev/null @@ -1,2 +0,0 @@ -IOR_HINT__MPI__unrecognizedHint=true -IOR_HINT__MPI__IBM_largeblock_io=true diff --git a/testing/timestamp.cfg b/testing/timestamp.cfg deleted file mode 100644 index 21a9808..0000000 --- a/testing/timestamp.cfg +++ /dev/null @@ -1,28 +0,0 @@ -# This tests the checks of read and write for correctness -# Run with multiple processes, at least 3 -# You may set the environment variable IOR_FAKE_TASK_PER_NODES=3 and run it on one node -# Example: IOR_FAKE_TASK_PER_NODES=3 mpiexec -n 3 ./src/ior -f testing/timestamp.cfg - -IOR START -reorderTasksConstant=1 -repetitions=1 -storeFileOffset=0 -segmentCount=1 -verbose=0 -fsync=0 -checkWrite=1 -blockSize=16 -setTimeStampSignature=1511817315 -checkRead=1 -readFile=1 -filePerProc=0 -writeFile=1 -api=POSIX -transferSize=16 -intraTestBarriers=0 -testFile=/tmp/test -RUN - -storeFileOffset=1 -RUN -IOR STOP