JDK-6671616 : TEST_BUG: java/io/File/BlockIsDirectory.java fails when /dev/dsk empty (sol)
Type:Bug
Component:core-libs
Sub-Component:java.io
Affected Version:1.4.2_16,6u26,7
Priority:P3
Status:Closed
Resolution:Won't Fix
OS:solaris,solaris_10
CPU:generic,sparc
Submitted:2008-03-05
Updated:2013-06-22
Resolved:2011-09-16
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
EVALUATION
This test attempts to find a block special device in the filesystem and call isDirectory() on it. There was a bug in the past where isDirectory() returned true. At the time this bug was fixed, this test was added to ensure that calling isDirectory() on a block special device always returns false.
This test does nothing on Windows.
On Solaris, this test looks in /dev/dsk for block special devices. Unfortunately (as reported here) /dev/dsk is empty within a zone. Also unfortunately, on a non-zone Solaris machine, /dev/dsk is filled with symlinks to the actual device nodes. Indeed, on some Solaris machines, there are no block devices at all in /dev; on non-zone machines they are in /devices, and within a zone I cannot find any at all!
On Linux, this test looks at /dev/ide0 and /dev/scd0 which are presumed to be block special devices. On my Ubuntu 10.04 system, /dev/ide0 does not exist and /dev/scd0 is a symlink. There are other block devices in /dev though.
It's infeasible for the test to create its own block special devices for testing, since this requires root access.
After discussing this with Alan Bateman, it seems quite unlikely for there to be a regression with this specific area, so we agreed that we should simply delete this test.