Skip to content

Commit f299a47

Browse files
committed
- any assert function without 'suite' as a parameter failed because of null pointer
1 parent 91a85ee commit f299a47

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

src/test_case_mod.F90

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -150,9 +150,9 @@ subroutine test_case_report(name, suite)
150150
end do
151151

152152
end subroutine test_case_report
153-
153+
154154
subroutine test_suite_report(suite)
155-
155+
156156
type(test_suite_type), intent(in), optional, target :: suite
157157
type(test_suite_type), pointer :: dummy_suite
158158
type(test_case_type), pointer :: test_case
@@ -167,30 +167,30 @@ subroutine test_suite_report(suite)
167167
else
168168
dummy_suite => default_test_suite
169169
end if
170-
170+
171171
call log_header(log_out_unit, 'Report of Suite: '//trim(dummy_suite%name))
172-
172+
173173
num_test_case = 0
174174
num_all_succeed_assert = 0
175175
num_all_assert = 0
176-
176+
177177
! prints all test cases
178178
if (associated(dummy_suite%test_case_head)) then
179179
write(log_out_unit, *) '+-> Details:'
180180
write(log_out_unit, *) '| |'
181-
181+
182182
test_case => dummy_suite%test_case_head
183183
do while (associated(test_case))
184184
num_test_case = num_test_case + 1
185-
185+
186186
write(log_out_unit, *) '| +-> ' // trim(test_case%name) // ': ', trim(to_string(test_case%num_succeed_assert)), ' of ' // &
187187
trim(to_string(test_case%num_assert)) // ' assertions succeed.'
188-
188+
189189
num_all_succeed_assert = num_all_succeed_assert + test_case%num_succeed_assert
190190
num_all_assert = num_all_assert + test_case%num_assert
191-
191+
192192
assert_result => test_case%assert_result_head
193-
193+
194194
do while (associated(assert_result))
195195
if (.not. assert_result%passed) then
196196
write(log_err_unit, *) '| | |'
@@ -206,19 +206,19 @@ subroutine test_suite_report(suite)
206206
end if
207207
assert_result => assert_result%next
208208
end do
209-
209+
210210
test_case => test_case%next
211211
write(log_err_unit, *) '| |'
212212
end do
213213
end if
214-
214+
215215
write(log_out_unit, *) '|'
216-
write(log_out_unit, *) '+-> Summary:'
216+
write(log_out_unit, *) '+-> Summary:'
217217
write(log_out_unit, *) '| +-> ' // trim(dummy_suite%name) // ': ', trim(to_string(num_all_succeed_assert)), ' of ' // &
218218
trim(to_string(num_all_assert)) // ' assertions succeed.'
219-
219+
220220
call log_footer(log_out_unit)
221-
221+
222222
end subroutine test_suite_report
223223

224224
subroutine test_case_append_assert(assert_operator, passed, left_operand, right_operand, file_name, line_number, suite)
@@ -240,6 +240,8 @@ subroutine test_case_append_assert(assert_operator, passed, left_operand, right_
240240
dummy_suite => default_test_suite
241241
end if
242242

243+
if (.not. associated(dummy_suite%test_case_tail)) call test_case_create('default')
244+
243245
if (.not. associated(dummy_suite%test_case_tail%assert_result_head)) then
244246
allocate(dummy_suite%test_case_tail%assert_result_head)
245247
dummy_suite%test_case_tail%assert_result_tail => dummy_suite%test_case_tail%assert_result_head

0 commit comments

Comments
 (0)