• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

ParseArgs.hH A D09-Feb-20218.5 KiB303286

README.mdH A D09-Feb-20216.1 KiB7466

TestCommonClient.cppH A D09-Feb-202112.5 KiB407325

TestCommonRead.cppH A D09-Feb-202114.8 KiB477399

TestCommonReadAttrs.cppH A D09-Feb-202112.7 KiB380293

TestCommonReadF.F90H A D09-Feb-202110 KiB274193

TestCommonReadLocal.cppH A D09-Feb-202110.2 KiB348279

TestCommonReadR64.cppH A D09-Feb-20214 KiB167116

TestCommonReadShared.cppH A D09-Feb-20214.2 KiB168113

TestCommonServer.cppH A D09-Feb-20217.3 KiB215167

TestCommonWrite.cppH A D09-Feb-20218.9 KiB270212

TestCommonWriteAttrs.cppH A D09-Feb-20218.2 KiB220163

TestCommonWriteF.F90H A D09-Feb-20216.3 KiB209129

TestCommonWriteLocal.cppH A D09-Feb-20217.2 KiB215146

TestCommonWriteModes.cppH A D09-Feb-20217.1 KiB209157

TestCommonWriteShared.cppH A D09-Feb-20214.7 KiB188128

TestData.hH A D09-Feb-202111.7 KiB340306

TestData_mod.F90H A D09-Feb-20213.8 KiB10885

TestStagingMPMD.cppH A D09-Feb-202111.8 KiB391301

TestSupp.cmakeH A D09-Feb-202119.2 KiB294259

TestThreads.cppH A D09-Feb-20215.3 KiB194146

run_test.py.gen.inH A D09-Feb-202112.8 KiB380302

README.md

1# Common Staging Test area
2
3_Note:_ This is a directory designed to hold tests that can be run with a variety of test engines
4
5## Todo Items
6- [ ] Make this all vastly simpler while maintaining at least this much functionality
7
8- [ ] Classify tests by what features they depend upon and tag engines with what features they support.  When tests are added, this compatability matrix should tell us what engines it can be run with and have expectations that it will pass.  Automatically run all tests with all engines that they are compatible with.
9
10## Overview
11
12This test suite consists of a core set of tests defined in TestSupp.cmake, where a base test is specified by setting a CMake variable of the form <testname>_CMD.  (See further notes in TestSupp.cmake.)
13
14## Base test suite:
15* 1x1 - Simple one reader one writer test, can run MPMD with MPI
16* 1x1.NoPreload - 1x1 with Preload explicitly turned off (likely SST specific)
17* 1x1.ForcePreload - 1x1 with Preload explicitly turned on (likely SST specific)
18* 1x1.Bulk - One to one, with larger data
19* 1x1.BulkLockGeometry - One to one, with larger data with geometry explicitly locked on reader and writer.
20* 1x1.NoData - A simple test where no data is written, but there are still timesteps
21* 2x2.NoData - A simple test where no data is written, but there are still timesteps
22* 2x2.HalfNoData - A simple test where one rank writes no data in a timestep, while the other writes all of it, everyone still timesteps
23* 2x1 - simple 2 to 1 MPI test
24* 2x1.ZeroDataVar - simple 2 to 1 MPI test, with one rank contributing zero data to some variable
25* 2x1.NoPreload - 2x1 with Preload explicitly turned off (likely SST specific)
26* 2x3.ForcePreload - 2x3 with Preload explicitly turned on (likely SST specific)
27* 1x2 - Simple one reader two writer test, can run MPMD with MPI
28* 3x5 - Simple 3 reader 5 writer test, can run MPMD with MPI
29* 3x5LockGeometry - Simple 3 reader 5 writer test,  with geometry explicitly locked on reader and writer.
30* 5x3 - Simple 5 reader 3 writer test, can run MPMD with MPI
31* 1x1.Local - simple test with local, not global arrays
32* 2x1.Local - simple test with local, not global arrays
33* 1x2.Local - simple test with local, not global arrays
34* 3x5.Local - simple test with local, not global arrays
35* 5x3.Local - simple test with local, not global arrays
36* 1x1.LocalVarying - test with local variables, but the dimensions change from rank to rank and timestep to timestep
37* 5x3.LocalVarying - test with local variables, but the dimensions change from rank to rank and timestep to timestep
38* DelayedReader_3x5 - simple test, but with the reader delayed by 5 seconds to see if the writer waits.  No MPMD.
39* FtoC.3x5 - Simple 3 reader 5 writer, but with Fortran writer and C++ reader
40* FtoF.3x5 - Simple 3 reader 5 writer, but with Fortran writer and Fortran reader
41* 1x1.SharedNothing - Two streams between reader and writer, sharing no ADIOS2 resources
42* 1x1.SharedIO - Two streams between reader and writer, both sharing an IO
43* 1x1.SharedVar - Two streams between reader and writer, both sharing variables (writing a single variable to both)
44* 1x1.SharedNothingSync - Two streams between reader and writer, sharing no ADIOS2 resources using Put Sync
45* 1x1.SharedIOSync - Two streams between reader and writer, both sharing an IO using Put Sync
46* 1x1.SharedVarSync - Two streams between reader and writer, both sharing variables (writing a single variable to both) using Put Sync
47* 2x1.SharedNothing - Two streams between reader and writer, sharing no ADIOS2 resources
48* 2x1.SharedIO - Two streams between reader and writer, both sharing an IO
49* 2x1.SharedVar - Two streams between reader and writer, both sharing variables (writing a single variable to both)
50* 2x1.SharedNothingSync - Two streams between reader and writer, sharing no ADIOS2 resources using Put Sync
51* 2x1.SharedIOSync - Two streams between reader and writer, both sharing an IO using Put Sync
52* 2x1.SharedVarSync - Two streams between reader and writer, both sharing variables (writing a single variable to both) using Put Sync
53* NoReaderNoWait - Tests to see if a writer can run to completion without a reader present (RendezvousReaderCount = 0)
54* TimeoutOnOpen - Tests to see if a reader will timeout if no writer ever opens
55* 1x1.Modes - Tests to see that we can mix and match Put Sync and Deferred modes and still get good data
56* 1x1.Attrs - Tests writing and reading of attributes defined before Open
57* FtoC.1x1 - Simple Fortran to C++ test
58* CtoF.1x1 - Simple C++ to Fortran test
59* FtoF.1x1 - Simple Fortran to Fortran test
60* ZFPCompression.1x1 - Simple test using engine-level compression
61* ZFPCompression.3x5 - 3x5 test using engine-level compression
62* KillReadersSerialized.3x2 - Test to see if readers can be killed mid-stream without disrupting the writer, here at most one reader at a time, killing or starting a reader randomly every 5 seconds.
63* KillReadersSerialized.3x6 - Test to see if readers can be killed mid-stream without disrupting the writer, here at most one reader at a time.
64* KillReadersSerialized3Max.3x6 - Test to see if readers can be killed mid-stream without disrupting the writer, here at most three readers at a time.
65* KillWriter_2x2 - Test to see if a reader gets an appropriate failure when a writer is killed mid-stream
66* KillWriterTimeout_2x2 - Test to see if a reader gets an appropriate failure when a writer is killed mid-stream with using BeginStep with timeout
67* PreciousTimestep.3x2 - Test to see if new readers always see the "precious" timestep 0, despite arriving late
68* PreciousTimestepDiscard.3x2 - Test to see if new readers always see the "precious" timestep 0, despite arriving late, here with a slow reader, so that the writer will discard timesteps due to queueing
69* TimeoutReader.1x1 - Testing reader-side BeginStep with timeout
70* LatestReader.1x1 - Writer runs faster than reader, reader specifies it wants the LatestTimestep, so we expect to skip some (reader delay after EndStep)
71* LatestReaderHold.1x1 - Writer runs faster than reader, reader specifies it wants the LatestTimestep, so we expect to skip some (reader delay between Begin and EndStep)
72* DiscardWriter.1x1 - Fast writer, slower reader and a queue policy that should cause timesteps to be discarded.  Are they?
73
74