This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Testsuite problem


Hey Pétur.

>testsuite/27_io/basic_filebuf/close/char/9964.cc was supposed to check
>how basic_filebuf::close() behaves when a low level write fails, but
>with this change, the write is no longer failing:
>
>   filebuf fb;
>   sleep(1);
>-  filebuf* ret = fb.open(name, ios_base::out | ios_base::trunc);
>+  filebuf* ret = fb.open(name, ios_base::in | ios_base::out);
>   VERIFY( ret != NULL );
>   VERIFY( fb.is_open() );
> 
>@@ -67,7 +67,7 @@
>   fb.sputc('a');
> 
>   ret = fb.close();
>-  VERIFY( ret == NULL );
>+  VERIFY( ret != NULL );
>   VERIFY( !fb.is_open() );
> }

Ouch. I didn't see this part of the patch when it went in.

>The solution is probably to just use ios_base::out, and XFAIL on those
>targets where that doesn't work.

Yep. If you prepare a patch, and post it, it'll be easier to track this
issue. We can sort this out after the release.

>There is no problem with the rest of the changes, in those tests the
>pipes are being used to make seek fail.

True. However, there are problems with some of the testsuite idioms
involving files. Zack commented on at the time, but nobody had/has time
to fix it at the moment.

Hopefully we'll be able to focus on this after 3.4.0.

best,
benjamin


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]