X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e0e373ee37eda6080ba4621403cc2adaff04d95d..6ce33965cc9d0d6605029eb323103cdd5dc9b38b:/teshsuite/smpi/io-all/io-all.c diff --git a/teshsuite/smpi/io-all/io-all.c b/teshsuite/smpi/io-all/io-all.c index 56d95b3b27..397e875498 100644 --- a/teshsuite/smpi/io-all/io-all.c +++ b/teshsuite/smpi/io-all/io-all.c @@ -1,74 +1,78 @@ -#include "mpi.h" -#include -#include -#include -#include - -/* Test reading and writing zero bytes (set status correctly) */ - -int main( int argc, char *argv[] ) -{ - int errs = 0; - int size, rank, i, *buf, count; - MPI_File fh; - MPI_Comm comm; - MPI_Status status; - - MPI_Init( &argc, &argv ); - - comm = MPI_COMM_WORLD; - MPI_File_open( comm, (char*)"/scratch/lib/libsimgrid.so.3.6.2", MPI_MODE_RDWR | MPI_MODE_CREATE | MPI_MODE_DELETE_ON_CLOSE, MPI_INFO_NULL, &fh ); - MPI_Comm_size( comm, &size ); - MPI_Comm_rank( comm, &rank ); - buf = (int *)malloc( 10+ size * sizeof(int) ); - buf[0] = rank; - - /* Write to file */ - MPI_File_seek( fh, sizeof(int)*rank, MPI_SEEK_SET ); - MPI_File_write_all( fh, buf, 1, MPI_INT, &status ); - MPI_Get_count( &status, MPI_INT, &count ); - if (count != 1) { - errs++; - fprintf( stderr, "Wrong count (%d) on write\n", count );fflush(stderr); - } - /* Write to file, overlapping */ - MPI_File_seek( fh, sizeof(int)*rank, MPI_SEEK_SET ); - MPI_File_write_all( fh, buf, 10, MPI_INT, &status ); - MPI_Get_count( &status, MPI_INT, &count ); - if (count != 10) { - errs++; - fprintf( stderr, "Wrong count (%d) on write\n", count );fflush(stderr); - } - /* Read nothing (check status) */ - memset( &status, 0xff, sizeof(MPI_Status) ); - MPI_File_read_all( fh, buf, 0, MPI_INT, &status ); - MPI_Get_count( &status, MPI_INT, &count ); - if (count != 0) { - errs++; - fprintf( stderr, "Count not zero (%d) on read\n", count );fflush(stderr); - } - - /* Write nothing (check status) */ - memset( &status, 0xff, sizeof(MPI_Status) ); - MPI_File_write_all( fh, buf, 0, MPI_INT, &status ); - if (count != 0) { - errs++; - fprintf( stderr, "Count not zero (%d) on write\n", count );fflush(stderr); - } - - MPI_Barrier( comm ); - - MPI_File_seek( fh, sizeof(int)*rank, MPI_SEEK_SET ); - for (i=0; i +#include +#include +#include + +/* Test reading and writing zero bytes (set status correctly) */ + +int main( int argc, char *argv[] ) +{ + int errs = 0; + int size; + int rank; + int i; + int* buf; + int count; + MPI_File fh; + MPI_Comm comm; + MPI_Status status; + + MPI_Init( &argc, &argv ); + + comm = MPI_COMM_WORLD; + MPI_File_open( comm, (char*)"/scratch/lib/libsimgrid.so.3.6.2", MPI_MODE_RDWR | MPI_MODE_CREATE | MPI_MODE_DELETE_ON_CLOSE, MPI_INFO_NULL, &fh ); + MPI_Comm_size( comm, &size ); + MPI_Comm_rank( comm, &rank ); + buf = (int *)malloc( 10 * sizeof(int) ); + buf[0] = rank; + + /* Write to file */ + MPI_File_seek( fh, sizeof(int)*rank, MPI_SEEK_SET ); + MPI_File_write_all( fh, buf, 1, MPI_INT, &status ); + MPI_Get_count( &status, MPI_INT, &count ); + if (count != 1) { + errs++; + fprintf( stderr, "Wrong count (%d) on write\n", count );fflush(stderr); + } + /* Write to file, overlapping */ + MPI_File_seek( fh, sizeof(int)*rank, MPI_SEEK_SET ); + MPI_File_write_all( fh, buf, 10, MPI_INT, &status ); + MPI_Get_count( &status, MPI_INT, &count ); + if (count != 10) { + errs++; + fprintf( stderr, "Wrong count (%d) on write\n", count );fflush(stderr); + } + /* Read nothing (check status) */ + memset( &status, 0xff, sizeof(MPI_Status) ); + MPI_File_read_all( fh, buf, 0, MPI_INT, &status ); + MPI_Get_count( &status, MPI_INT, &count ); + if (count != 0) { + errs++; + fprintf( stderr, "Count not zero (%d) on read\n", count );fflush(stderr); + } + + /* Write nothing (check status) */ + memset( &status, 0xff, sizeof(MPI_Status) ); + MPI_File_write_all( fh, buf, 0, MPI_INT, &status ); + if (count != 0) { + errs++; + fprintf( stderr, "Count not zero (%d) on write\n", count );fflush(stderr); + } + + MPI_Barrier( comm ); + + MPI_File_seek( fh, sizeof(int)*rank, MPI_SEEK_SET ); + for (i=0; i