Critical bugfix for ior API (used e.g. in IO500)
TODO: Check potential issue when using IOR scripts with different backends.master
parent
4eb0ebec55
commit
153b7aa60f
|
@ -76,6 +76,7 @@ IOR_test_t * ior_run(int argc, char **argv, MPI_Comm world_com, FILE * world_out
|
||||||
|
|
||||||
/* perform each test */
|
/* perform each test */
|
||||||
for (tptr = tests_head; tptr != NULL; tptr = tptr->next) {
|
for (tptr = tests_head; tptr != NULL; tptr = tptr->next) {
|
||||||
|
aiori_initialize(tptr);
|
||||||
totalErrorCount = 0;
|
totalErrorCount = 0;
|
||||||
verbose = tptr->params.verbose;
|
verbose = tptr->params.verbose;
|
||||||
backend = tptr->params.backend;
|
backend = tptr->params.backend;
|
||||||
|
@ -85,6 +86,7 @@ IOR_test_t * ior_run(int argc, char **argv, MPI_Comm world_com, FILE * world_out
|
||||||
TestIoSys(tptr);
|
TestIoSys(tptr);
|
||||||
tptr->results->errors = totalErrorCount;
|
tptr->results->errors = totalErrorCount;
|
||||||
ShowTestEnd(tptr);
|
ShowTestEnd(tptr);
|
||||||
|
aiori_finalize(tptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
PrintLongSummaryAllTests(tests_head);
|
PrintLongSummaryAllTests(tests_head);
|
||||||
|
@ -123,7 +125,7 @@ int ior_main(int argc, char **argv)
|
||||||
InitTests(tests_head, mpi_comm_world);
|
InitTests(tests_head, mpi_comm_world);
|
||||||
verbose = tests_head->params.verbose;
|
verbose = tests_head->params.verbose;
|
||||||
|
|
||||||
aiori_initialize(tests_head);
|
aiori_initialize(tests_head); // this is quite suspicious, likely an error when multiple tests need to be executed with different backends and options
|
||||||
|
|
||||||
PrintHeader(argc, argv);
|
PrintHeader(argc, argv);
|
||||||
|
|
||||||
|
|
|
@ -274,7 +274,7 @@ static void prep_testdir(int j, int dir_iter){
|
||||||
static void phase_end(){
|
static void phase_end(){
|
||||||
if (call_sync){
|
if (call_sync){
|
||||||
if(! backend->sync){
|
if(! backend->sync){
|
||||||
FAIL("Error, backend does not provide the sync method, but you requested to use sync.");
|
FAIL("Error, backend does not provide the sync method, but you requested to use sync.\n");
|
||||||
}
|
}
|
||||||
backend->sync(& param);
|
backend->sync(& param);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue