Skip to content

Commit 2d81e52

Browse files
committed
Add eager parsing test
Datasets wth changing dimensions require re-parsing
1 parent cb6583b commit 2d81e52

1 file changed

Lines changed: 55 additions & 22 deletions

File tree

test/SerialIOTest.cpp

Lines changed: 55 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3527,7 +3527,7 @@ variableBasedSeries( std::string const & file )
35273527
Extent changingExtent( dimensionality, len );
35283528
E_y.resetDataset( { openPMD::Datatype::INT, changingExtent } );
35293529
std::vector< int > changingData(
3530-
dimensionality * len, dimensionality );
3530+
std::pow( len, dimensionality ), dimensionality );
35313531
E_y.storeChunk(
35323532
changingData, Offset( dimensionality, 0 ), changingExtent );
35333533
iteration.close();
@@ -3537,32 +3537,65 @@ variableBasedSeries( std::string const & file )
35373537
REQUIRE( auxiliary::directory_exists(
35383538
auxiliary::replace_last( file, "%V", "" ) ) );
35393539

3540-
Series readSeries = SeriesBuilder()
3541-
.filePath( file )
3542-
.access( Access::READ_ONLY )
3543-
.parseLazily(); // @todo this test does not yet work for parseEagerly
3544-
3545-
size_t last_iteration_index = 0;
3546-
for( auto iteration : readSeries.readIterations() )
35473540
{
3548-
auto E_x = iteration.meshes[ "E" ][ "x" ];
3549-
REQUIRE( E_x.getDimensionality() == 1 );
3550-
REQUIRE( E_x.getExtent()[ 0 ] == extent );
3551-
auto chunk = E_x.loadChunk< int >( { 0 }, { extent } );
3552-
iteration.close();
3553-
for( size_t i = 0; i < extent; ++i )
3541+
Series readSeries = SeriesBuilder()
3542+
.filePath( file )
3543+
.access( Access::READ_ONLY )
3544+
.parseLazily(); // @todo this test does not yet
3545+
// work for parseEagerly
3546+
3547+
size_t last_iteration_index = 0;
3548+
for( auto iteration : readSeries.readIterations() )
35543549
{
3555-
REQUIRE( chunk.get()[ i ] == int( iteration.iterationIndex ) );
3550+
auto E_x = iteration.meshes[ "E" ][ "x" ];
3551+
REQUIRE( E_x.getDimensionality() == 1 );
3552+
REQUIRE( E_x.getExtent()[ 0 ] == extent );
3553+
auto chunk = E_x.loadChunk< int >( { 0 }, { extent } );
3554+
iteration.close();
3555+
for( size_t i = 0; i < extent; ++i )
3556+
{
3557+
REQUIRE( chunk.get()[ i ] == int( iteration.iterationIndex ) );
3558+
}
3559+
3560+
auto E_y = iteration.meshes[ "E" ][ "y" ];
3561+
unsigned dimensionality = iteration.iterationIndex % 3 + 1;
3562+
unsigned len = iteration.iterationIndex + 1;
3563+
Extent changingExtent( dimensionality, len );
3564+
REQUIRE( E_y.getExtent() == changingExtent );
3565+
last_iteration_index = iteration.iterationIndex;
35563566
}
3567+
REQUIRE( last_iteration_index == 9 );
3568+
}
35573569

3558-
auto E_y = iteration.meshes[ "E" ][ "y" ];
3559-
unsigned dimensionality = iteration.iterationIndex % 3 + 1;
3560-
unsigned len = iteration.iterationIndex + 1;
3561-
Extent changingExtent( dimensionality, len );
3562-
REQUIRE( E_y.getExtent() == changingExtent );
3563-
last_iteration_index = iteration.iterationIndex;
3570+
{
3571+
Series readSeries = SeriesBuilder()
3572+
.filePath( file )
3573+
.access( Access::READ_ONLY )
3574+
.parseEagerly(); // @todo this test does not yet
3575+
// work for parseEagerly
3576+
3577+
size_t last_iteration_index = 0;
3578+
for( auto iteration : readSeries.readIterations() )
3579+
{
3580+
auto E_x = iteration.meshes[ "E" ][ "x" ];
3581+
REQUIRE( E_x.getDimensionality() == 1 );
3582+
REQUIRE( E_x.getExtent()[ 0 ] == extent );
3583+
auto chunk = E_x.loadChunk< int >( { 0 }, { extent } );
3584+
iteration.close();
3585+
for( size_t i = 0; i < extent; ++i )
3586+
{
3587+
REQUIRE( chunk.get()[ i ] == int( iteration.iterationIndex ) );
3588+
}
3589+
3590+
auto E_y = iteration.meshes[ "E" ][ "y" ];
3591+
unsigned dimensionality = iteration.iterationIndex % 3 + 1;
3592+
unsigned len = iteration.iterationIndex + 1;
3593+
Extent changingExtent( dimensionality, len );
3594+
REQUIRE( E_y.getExtent() == changingExtent );
3595+
last_iteration_index = iteration.iterationIndex;
3596+
}
3597+
REQUIRE( last_iteration_index == 9 );
35643598
}
3565-
REQUIRE( last_iteration_index == 9 );
35663599
}
35673600

35683601
TEST_CASE( "variableBasedSeries", "[serial][adios2]" )

0 commit comments

Comments
 (0)