Skip to content

Commit 3e718b2

Browse files
committed
Add 'already open file' error test.
1 parent f42520e commit 3e718b2

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

test/unit/fortran/src/mock_routines/test_pio_reader.pf

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,53 @@ end subroutine test_pio_reader_open_close_file
6363

6464
!----------------------------------------
6565

66+
@test
67+
subroutine test_pio_reader_already_opened_file_err()
68+
!Check that the PIO reader raised the correct error
69+
!when attempting to open a file that is already opened.
70+
71+
use funit
72+
73+
use mpi, only: mpi_init
74+
75+
use ccpp_io_reader, only: abstract_netcdf_reader_t
76+
use ccpp_io_reader, only: create_netcdf_reader_t
77+
78+
class(abstract_netcdf_reader_t), allocatable :: reader
79+
80+
integer :: errcode
81+
character(len=256) :: errmsg
82+
83+
integer :: mpi_ierr
84+
85+
! File name for testing:
86+
! NOTE: This specific file is added during the Github Actions workflow.
87+
character(len=*), parameter :: fname = &
88+
'../../../rrtmgp-data/rrtmgp-gas-sw-g112.nc'
89+
90+
! Begin test:
91+
92+
reader = create_netcdf_reader_t()
93+
94+
! Attempt to open file:
95+
call reader%open_file(fname, errmsg, errcode)
96+
97+
! Attempt to open file again:
98+
call reader%open_file(fname, errmsg, errcode)
99+
100+
! Check that the correct error was raised:
101+
@assertTrue(errcode /= 0)
102+
103+
write(*,*) trim(errmsg)
104+
105+
! Perform test cleanup:
106+
call reader%close_file(errmsg, errcode)
107+
deallocate(reader)
108+
109+
end subroutine test_pio_reader_already_opened_file_err
110+
111+
!----------------------------------------
112+
66113
@test
67114
subroutine final_test()
68115
use funit

0 commit comments

Comments
 (0)