@@ -63,6 +63,53 @@ end subroutine test_pio_reader_open_close_file
63
63
64
64
!----------------------------------------
65
65
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
+
66
113
@test
67
114
subroutine final_test()
68
115
use funit
0 commit comments