A regression test is added to prove that before your fix, java was
failing and after your fix is applied, it is passing so it is not
related to older/newer java versions. I saw we already have
test/jdk/javax/swing/JFileChooser/6945316/bug6945316.java which tests
isFileSystemRoot. Maybe, we can do something similar if it's not too
much of a task.
Regards
Prasanta
On 1/3/2018 5:13 PM, Krishna Addepalli wrote:
Thanks for the review Prasanta. However, I don’t see a point to write
a test case for isFileSystemRoot(), since, it is not going to fail on
any (older/newer) java versions, and it was only introduced because of
the fix for JDK-8175015.
Let me know if you think otherwise.
Regards,
Krishna
*From:*Prasanta Sadhukhan
*Sent:* Wednesday, January 3, 2018 11:27 AM
*To:* Krishna Addepalli <krishna.addepa...@oracle.com>;
swing-dev@openjdk.java.net
*Subject:* Re: <Swing Dev> [10][11][JDK-8194044] Regression manual
Test javax/swing/JFileChooser/8067660/FileChooserTest.java fails
Fix looks fine. But I guess, it is possible to add a automated
regression test to it utilising isFileSystemRoot().
Regards
Prasanta
On 1/2/2018 4:31 PM, Krishna Addepalli wrote:
Hi All,
Please review a fix for bug:
Bug: JDK-8194044 : https://bugs.openjdk.java.net/browse/JDK-8194044
Webrev: http://cr.openjdk.java.net/~kaddepalli/8194044/webrev00/
<http://cr.openjdk.java.net/%7Ekaddepalli/8194044/webrev00/>
This was caused due to the fix for JDK-8175015, in which the line
446 in Win32ShellFolderManager2.java was changed from
“getDrives()” to Win32ShellFolder2.listRoots().
While the earlier function returns an object of Win32ShellFolder2,
the latter returns an array of Files.
The condition on line 450: “return (sf.isFileSystem()&&sf.parent
!= null && sf.parent.equals(Win32ShellFolder2.listRoots())” was
returning false because of the wrong object being passed. Earlier
it was a Win32ShellFolder2 object, and the comparision was done
properly, but with the changes, the equals fucnction was receiving
a file array object, and hence it was immediately returning false,
leading to the problem of empty strings being shown for Root drives.
The fix is to replace “Win32ShellFolder2.listRoots()” with
“getDrives()” function. With this fix, the regression is
addressed, as well as the original JDK-8175015 which was a memory
leak issue.
Thanks,
Krishna