@@ -149,9 +149,9 @@ end subroutine test_exists_dir
149
149
subroutine test_exists_symlink (error )
150
150
type (error_type), allocatable , intent (out ) :: error
151
151
type (state_type) :: err
152
- character (len= 256 ) :: target_name, link_name, cmd
152
+ character (len= 128 ) :: target_name, link_name
153
153
integer :: ios, iunit, iocmd, t
154
- character (len= 512 ) :: msg
154
+ character (len= 512 ) :: msg, cmd
155
155
156
156
target_name = " test_file.txt"
157
157
link_name = " symlink.txt"
@@ -165,12 +165,21 @@ subroutine test_exists_symlink(error)
165
165
cmd = ' mklink ' // link_name// ' ' // target_name
166
166
call execute_command_line(cmd, exitstat= ios, cmdstat= iocmd, cmdmsg= msg)
167
167
else
168
- cmd = ' ln -s ' // link_name// ' ' // target_name
168
+ cmd = ' ln -s ' // target_name// ' ' // link_name
169
+ print * , cmd
169
170
call execute_command_line(cmd, exitstat= ios, cmdstat= iocmd, cmdmsg= msg)
171
+ cmd = ' mklink ' // link_name// ' ' // target_name
172
+ print * , cmd
170
173
end if
171
174
172
175
call check(error, ios == 0 .and. iocmd == 0 , " Cannot create symlink!: " // trim (msg))
173
- if (allocated (error)) return
176
+
177
+ if (allocated (error)) then
178
+ ! Clean up: remove the target
179
+ close (iunit,status= ' delete' ,iostat= ios,iomsg= msg)
180
+ call check(error, ios == 0 , err% message // " and cannot delete target: " // trim (msg))
181
+ return
182
+ end if
174
183
175
184
t = exists(link_name, err)
176
185
call check(error, err% ok(), " exists failed for symlink: " // err% print ())
0 commit comments