simplify MPI test
This commit is contained in:
		| @@ -1,27 +1,44 @@ | |||||||
| program example | program example | ||||||
|  |  | ||||||
| #if defined USE_MPI_MODULE |    call init() | ||||||
|    use mpi |    call test_use() | ||||||
|    implicit none |    call finalize() | ||||||
| #else |  | ||||||
|    implicit none | contains | ||||||
|  |  | ||||||
|  |    subroutine init() | ||||||
|  |       use mpi, only: MPI_Init | ||||||
|  |       implicit none | ||||||
|  |       integer :: ierr | ||||||
|  |       call MPI_Init(ierr) | ||||||
|  |    end subroutine | ||||||
|  |  | ||||||
|  |    subroutine finalize() | ||||||
|  |       use mpi, only: MPI_Finalize | ||||||
|  |       implicit none | ||||||
|  |       integer :: ierr | ||||||
|  |       call MPI_Finalize(ierr) | ||||||
|  |    end subroutine | ||||||
|  |  | ||||||
|  |    subroutine test_use() | ||||||
|  |  | ||||||
|  |       implicit none | ||||||
| #include "mpif.h" | #include "mpif.h" | ||||||
| #endif |  | ||||||
|  |  | ||||||
|    integer :: ierr, rank, num_ranks |       integer :: ierr, rank, num_ranks | ||||||
|    logical :: test_ok |       logical :: test_ok | ||||||
|  |  | ||||||
|    call MPI_INIT(ierr) |       call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr) | ||||||
|    call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr) |       call MPI_COMM_SIZE(MPI_COMM_WORLD, num_ranks, ierr) | ||||||
|    call MPI_COMM_SIZE(MPI_COMM_WORLD, num_ranks, ierr) |  | ||||||
|    call MPI_FINALIZE(ierr) |  | ||||||
|  |  | ||||||
|    test_ok = (num_ranks == 2 .and. (rank == 0 .or. rank == 1)) |       test_ok = (num_ranks == 2 .and. (rank == 0 .or. rank == 1)) | ||||||
|  |  | ||||||
|    if (test_ok) then |       if (test_ok) then | ||||||
|       if (rank == 0) print *, 'PASSED' |          if (rank == 0) print *, 'PASSED' | ||||||
|    else |       else | ||||||
|       stop "FAILED" |          stop "FAILED" | ||||||
|    endif |       endif | ||||||
|  |  | ||||||
|  |    end subroutine | ||||||
|  |  | ||||||
| end program | end program | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								test/test.py
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								test/test.py
									
									
									
									
									
								
							| @@ -115,16 +115,10 @@ def test_fc_int64(): | |||||||
|  |  | ||||||
| def test_fc_mpi(): | def test_fc_mpi(): | ||||||
|     if sys.platform == 'win32': |     if sys.platform == 'win32': | ||||||
|         configure_build_and_exe('fc_mpi', 'python setup.py --mpi --fc=gfortran --extra-fc-flags="-D_WIN64 -D INT_PTR_KIND()=8 -fno-range-check" --add-definitions="-D USE_MPI_MODULE"', 'mpiexec -n 2') |         setup_line = 'python setup.py --mpi --fc=gfortran --extra-fc-flags="-D_WIN64 -D INT_PTR_KIND()=8 -fno-range-check"' | ||||||
|     else: |     else: | ||||||
|         configure_build_and_exe('fc_mpi', 'python setup.py --mpi --fc=mpif90 --add-definitions="-D USE_MPI_MODULE"', 'mpirun -np 2') |         setup_line = 'python setup.py --mpi --fc=mpif90"' | ||||||
|  |     configure_build_and_exe('fc_mpi', setup_line, 'mpiexec -np 2') | ||||||
|  |  | ||||||
| def test_fc_mpi_include(): |  | ||||||
|     if sys.platform == 'win32': |  | ||||||
|         configure_build_and_exe('fc_mpi', 'python setup.py --mpi --fc=gfortran --extra-fc-flags="-D_WIN64 -D INT_PTR_KIND()=8 -fno-range-check"', 'mpiexec -np 2') |  | ||||||
|     else: |  | ||||||
|         configure_build_and_exe('fc_mpi', 'python setup.py --mpi --fc=mpif90', 'mpirun -np 2') |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @skip_on_osx | @skip_on_osx | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user