This is the mail archive of the
mauve-discuss@sources.redhat.com
mailing list for the Mauve project.
Re: gnu/testlet/java/nio/channels/FileChannel/manyopen.java broken
On Friday 08 October 2004 12:05, Mark Wielaard wrote:
> What I think should be tested is whether a program can open lots of
> files. And that the systems notices that stale file handle resources can
> be removed so that a program can keep opening files if needed. (As long
> as there are no large number of life file handles open at the same
> time.)
So; what you want tested if
a) File has finalize method
b) that method actually closes the filehandle
c) the GC / Finalizer / GC (in that order) is called early enough and often
enough to ensure not only we don't have a OutOfMem, but also that we don't
get an out-of-filehandles problem.
IMO that should give you 3 seperate tests with very different things; your
test (from the description, I did not read the test itself) seems to have
taken the black-box-approuch which is most of the time wrong for unit
tests..
> Since I have seen multiple systems get this wrong in various ways I want
> to have an explicit test for this situation. It might be that this test
> does not simulate a real world program correctly, so if there are
> alternatives I would like to hear them instead of just deleting the test
> since some systems fail it.
Isn't creating an 'any' object with a finalizer and doing the same things,
but keeping a counter of how often finalize is called verses how many
objects are present going to test this problem much much simpler?
Just a thought...
--
Thomas