On Thu, Oct 27, 2016 at 8:52 AM, Jakub Jelinek <ja...@redhat.com> wrote:
> On Thu, Oct 27, 2016 at 08:49:42AM -0400, Fritz Reese wrote:
>>
>> Do you know if there is there any way from DG to verify that a runtime
>> warning is emitted?
>
> Use dg-output for that.  And, if the test is supposed to exit with non-zero
> exit status because of the runtime error, then also dg-shouldfail.
>
>         Jakub

Thanks. I could never find good documentation on the various dg-*
testing options. I was browsing other test files to figure out how to
express dec_io_5 and dec_io_6. I first saw "XFAIL", I assumed it meant
"eXpected FAIL", and used it since I "expected" dec_io_5 to "fail" at
runtime. I was only half-right...

The attached should be correct now

---
Fritz Reese.

From: Fritz Reese <fritzore...@gmail.com>
Date: Thu, 27 Oct 2016 08:46:33 -0400
Subject: [PATCH] Fix some DEC I/O testcases.

        gcc/testsuite/gfortran.dg/
        * dec_io_5.f90, dec_io_6.f90: Don't use "test.txt", and use
        dg-shouldfail/dg-output instead of XFAIL.
---
 gcc/testsuite/gfortran.dg/dec_io_5.f90 |    8 +++++---
 gcc/testsuite/gfortran.dg/dec_io_6.f90 |   22 ++++++++++++++++++----
 2 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/gcc/testsuite/gfortran.dg/dec_io_5.f90 
b/gcc/testsuite/gfortran.dg/dec_io_5.f90
index 9d44c6e..c6633a5 100644
--- a/gcc/testsuite/gfortran.dg/dec_io_5.f90
+++ b/gcc/testsuite/gfortran.dg/dec_io_5.f90
@@ -1,5 +1,6 @@
-! { dg-do run "xfail *-*-*" }
+! { dg-do run }
 ! { dg-options "-fdec" }
+! { dg-shouldfail "ACTION conflicts with READONLY" }
 !
 ! Test that we get a run-time error for opening a READONLY file with
 ! ACTION='WRITE'.
@@ -8,10 +9,11 @@
 implicit none
 
 integer :: fd = 8
-character(*), parameter :: f = "test.txt"
+character(*), parameter :: f = "dec_io_5.txt"
 character(10), volatile :: c
 c = 'write'
 
-open(unit=fd,file=f,action=c,readonly) ! XFAIL "ACTION conflicts with READONLY"
+open(unit=fd,file=f,action=c,readonly)
 
 end
+! { dg-output "ACTION conflicts with READONLY" }
diff --git a/gcc/testsuite/gfortran.dg/dec_io_6.f90 
b/gcc/testsuite/gfortran.dg/dec_io_6.f90
index a0c0256..2dfaf9d 100644
--- a/gcc/testsuite/gfortran.dg/dec_io_6.f90
+++ b/gcc/testsuite/gfortran.dg/dec_io_6.f90
@@ -1,15 +1,29 @@
-! { dg-do run "xfail *-*-*" }
+! { dg-do run }
 ! { dg-options "-fdec" }
 !
-! Test that we get a run-time error for close-on-delete with READONLY.
+! Test that we get a run-time warning for close-on-delete with READONLY,
+! and that the file is protected from deletion.
 !
 
 implicit none
 
 integer :: fd = 8
-character(*), parameter :: f = "test.txt"
+character(*), parameter :: f = "dec_io_6.txt"
+logical :: exists
+
+open(unit=fd,file=f,action='write')
+close(unit=fd)
 
 open(unit=fd,file=f,action='read',readonly)
-close(unit=fd,status='delete') ! XFAIL "protected by READONLY"
+close(unit=fd,status='delete') ! { dg-output "file protected by READONLY" }
+
+inquire(file=f, EXIST=exists)
+if (.not. exists) then
+  print *, 'file was not protected by READONLY!'
+  call abort()
+endif
+
+open(unit=fd,file=f,action='write')
+close(unit=fd,status='delete') ! cleanup
 
 end

Reply via email to