@@ -227,7 +227,6 @@ end subroutine collect_interface
227227
228228 character (len=* ), parameter :: fmt = ' (1x, *(1x, a))'
229229 character (len=* ), parameter :: indent = repeat (" " , 5 ) // repeat (" ." , 3 )
230- character (len=* ), parameter :: skip = repeat (" " , 11 )
231230
232231
233232contains
@@ -526,13 +525,13 @@ subroutine check_float_dp(error, actual, expected, message, more, thr, rel)
526525 else
527526 if (relative) then
528527 call test_failed(error, &
529- " Floating point value missmatch" // new_line( " a " ) // skip // &
528+ " Floating point value missmatch" , &
530529 " expected " // ch(expected)// " but got " // ch(actual)// " " // &
531530 " (difference: " // ch(int (diff* 100 ))// " %)" , &
532531 more)
533532 else
534533 call test_failed(error, &
535- " Floating point value missmatch" // new_line( " a " ) // skip // &
534+ " Floating point value missmatch" , &
536535 " expected " // ch(expected)// " but got " // ch(actual)// " " // &
537536 " (difference: " // ch(diff)// " )" , &
538537 more)
@@ -593,13 +592,13 @@ subroutine check_float_sp(error, actual, expected, message, more, thr, rel)
593592 else
594593 if (relative) then
595594 call test_failed(error, &
596- " Floating point value missmatch" // new_line( " a " ) // skip // &
595+ " Floating point value missmatch" , &
597596 " expected " // ch(expected)// " but got " // ch(actual)// " " // &
598597 " (difference: " // ch(int (diff* 100 ))// " %)" , &
599598 more)
600599 else
601600 call test_failed(error, &
602- " Floating point value missmatch" // new_line( " a " ) // skip // &
601+ " Floating point value missmatch" , &
603602 " expected " // ch(expected)// " but got " // ch(actual)// " " // &
604603 " (difference: " // ch(diff)// " )" , &
605604 more)
@@ -632,7 +631,7 @@ subroutine check_int_i1(error, actual, expected, message, more)
632631 call test_failed(error, message, more)
633632 else
634633 call test_failed(error, &
635- " Integer value missmatch" // new_line( " a " ) // skip // &
634+ " Integer value missmatch" , &
636635 " expected " // ch(expected)// " but got " // ch(actual), &
637636 more)
638637 end if
@@ -663,7 +662,7 @@ subroutine check_int_i2(error, actual, expected, message, more)
663662 call test_failed(error, message, more)
664663 else
665664 call test_failed(error, &
666- " Integer value missmatch" // new_line( " a " ) // skip // &
665+ " Integer value missmatch" , &
667666 " expected " // ch(expected)// " but got " // ch(actual), &
668667 more)
669668 end if
@@ -694,7 +693,7 @@ subroutine check_int_i4(error, actual, expected, message, more)
694693 call test_failed(error, message, more)
695694 else
696695 call test_failed(error, &
697- " Integer value missmatch" // new_line( " a " ) // skip // &
696+ " Integer value missmatch" , &
698697 " expected " // ch(expected)// " but got " // ch(actual), &
699698 more)
700699 end if
@@ -725,7 +724,7 @@ subroutine check_int_i8(error, actual, expected, message, more)
725724 call test_failed(error, message, more)
726725 else
727726 call test_failed(error, &
728- " Integer value missmatch" // new_line( " a " ) // skip // &
727+ " Integer value missmatch" , &
729728 " expected " // ch(expected)// " but got " // ch(actual), &
730729 more)
731730 end if
@@ -756,7 +755,7 @@ subroutine check_bool(error, actual, expected, message, more)
756755 call test_failed(error, message, more)
757756 else
758757 call test_failed(error, &
759- " Logical value missmatch" // new_line( " a " ) // skip // &
758+ " Logical value missmatch" , &
760759 " expected " // merge (" T" , " F" , expected)// " but got " // merge (" T" , " F" , actual), &
761760 more)
762761 end if
@@ -787,7 +786,7 @@ subroutine check_string(error, actual, expected, message, more)
787786 call test_failed(error, message, more)
788787 else
789788 call test_failed(error, &
790- " Character value missmatch" // new_line( " a " ) // skip // &
789+ " Character value missmatch" , &
791790 " expected '" // expected// " ' but got '" // actual// " '" , &
792791 more)
793792 end if
@@ -796,7 +795,7 @@ subroutine check_string(error, actual, expected, message, more)
796795end subroutine check_string
797796
798797
799- subroutine test_failed (error , message , more )
798+ subroutine test_failed (error , message , more , and_more )
800799
801800 ! > Error handling
802801 type (error_type), allocatable , intent (out ) :: error
@@ -807,13 +806,20 @@ subroutine test_failed(error, message, more)
807806 ! > Another line of error message
808807 character (len=* ), intent (in ), optional :: more
809808
809+ ! > Another line of error message
810+ character (len=* ), intent (in ), optional :: and_more
811+
812+ character (len=* ), parameter :: skip = new_line(" a" ) // repeat (" " , 11 )
813+
810814 allocate (error)
811815 error% stat = fatal
812816
817+ error% message = message
813818 if (present (more)) then
814- error% message = message // new_line(" a" ) // skip // more
815- else
816- error% message = message
819+ error% message = error% message // skip // more
820+ end if
821+ if (present (and_more)) then
822+ error% message = error% message // skip // and_more
817823 end if
818824
819825end subroutine test_failed
0 commit comments