In a parallel make check-fortran there was a race condition due to a
file "test.dat" not being cleaned up.  Adjust testcase to use a
separate filename, and instead of failing catch error message within
the program.

Committed as obvious.

Thanks,
Harald


PR fortran/95195 - Fortran testcase should clean up afterwards

Change testcase to check error message (iomsg) at runtime, rather than to crash.

libgfortran/
        PR fortran/95091
        * io/transfer.c (finalize_transfer): Fix type in error message.

gcc/testsuite/
        PR fortran/95195
        * gfortran.dg/namelist_97.f90: Adjust testcase.
diff --git a/gcc/testsuite/gfortran.dg/namelist_97.f90 b/gcc/testsuite/gfortran.dg/namelist_97.f90
index 4907e46b46a..3c6ad7ce3c1 100644
--- a/gcc/testsuite/gfortran.dg/namelist_97.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_97.f90
@@ -1,14 +1,16 @@
 ! { dg-do run }
-! { dg-output "At line 12 .*" }
-! { dg-shouldfail "Fortran runtime error: Namelist formatting .* FORM='UNFORMATTED'" }
 !
 ! PR95195 - improve runtime error when writing a namelist to an unformatted file

 program test
   character(len=11) :: my_form = 'unformatted'
   integer           :: i = 1, j = 2, k = 3
+  character(80)     :: iomsg
   namelist /nml1/ i, j, k
-  open  (unit=10, file='test.dat', form=my_form)
-  write (unit=10, nml=nml1)
+  open  (unit=10, file='namelist_97.dat', form=my_form)
+  write (unit=10, nml=nml1, iostat=iostat, iomsg=iomsg)
   close (unit=10, status='delete')
+  if (iostat == 0) stop 1
+  if (iomsg  /= "Namelist formatting for unit connected with FORM='UNFORMATTED'") &
+       stop 2
 end program test
diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c
index cd51679ff46..dc18bc34b32 100644
--- a/libgfortran/io/transfer.c
+++ b/libgfortran/io/transfer.c
@@ -4127,7 +4127,7 @@ finalize_transfer (st_parameter_dt *dtp)
 	 {
 	   generate_error (&dtp->common, LIBERROR_OPTION_CONFLICT,
 			   "Namelist formatting for unit connected "
-			   "with FORM='UNFORMATTED");
+			   "with FORM='UNFORMATTED'");
 	   return;
 	 }

Reply via email to