[ https://issues.apache.org/jira/browse/VFS-733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16945184#comment-16945184
]
Gary D. Gregory edited comment on VFS-733 at 10/6/19 12:51 AM:
---------------------------------------------------------------
Please see the new (failing and ignored) unit test {{org.apache.commons.vfs2.provider.zip.Jira733TestCase}}.
You or anyone willing to help can test any PRs based on this test and the whole build.
The simplest way I found to fix this test and allow the whole build to pass of course, is
to not clear the {{FileObject}} for the parent layer, which seems OK at first glance since
closing other {{FileObject}}s _should_ be done elsewhere in VFS or in application code:
{code:none}
diff --git a/commons-vfs2/dummy.txt b/commons-vfs2/dummy.txt
new file mode 100644
index 0000000..47d2739
--- /dev/null
+++ b/commons-vfs2/dummy.txt
@@ -0,0 +1 @@
+new content
\ No newline at end of file
diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractFileSystem.java
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractFileSystem.java
index 8132328..6f538e5 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractFileSystem.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractFileSystem.java
@@ -123,8 +123,6 @@
@Override
public void close() {
closeCommunicationLink();
-
- parentLayer = null;
}
/**
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/zip/Jira733TestCase.java
b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/zip/Jira733TestCase.java
index 84d03e2..6d6f73f 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/zip/Jira733TestCase.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/zip/Jira733TestCase.java
@@ -30,7 +30,6 @@
import org.junit.Ignore;
import org.junit.Test;
-@Ignore
public class Jira733TestCase {
@After
{code}
Either:
- this fix is fine since we have no unit test failures as I mentioned, including the new
test I added.
- this fix is not fine but we do not know because our unit tests are missing a use case.
Anyone care to opine?
Gary
was (Author: garydgregory):
Please see the new (failing and ignored) unit test {{org.apache.commons.vfs2.provider.zip.Jira733TestCase}}.
You or anyone willing to help can test any PRs based on this test and the whole build.
> Parent layer of ZipFileSystem vanishes through OnCallRefreshFileObject
> ----------------------------------------------------------------------
>
> Key: VFS-733
> URL: https://issues.apache.org/jira/browse/VFS-733
> Project: Commons VFS
> Issue Type: Bug
> Affects Versions: 2.2, 2.4, 2.3, 2.4.1
> Reporter: Falco
> Priority: Major
>
> When using {{FileObject#exists}} and {{FileObject#getContent}} on a ZIP file (in any
order), the reference to the parent file system is set to {{null}}.
> {code}
> final FileObject zippedFile = new OnCallRefreshFileObject(fileInZip());
> assertNotNull(zippedFile.getFileSystem().getParentLayer());
> zippedFile.exists();
> zippedFile.getContent();
> assertNotNull(zippedFile.getFileSystem().getParentLayer()); // fails
> {code}
> For an executable example, refer to [https://github.com/f4lco/vfs-repro/blob/master/src/test/java/vfs/ZipParentLayerTest.java].
> I come to believe this does not work as intended. I'm also relatively clueless about
a potential fix or workaround. For me, this bug blocks upgrading from VFS 2.1.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
|