HDDS-14608. Convert OzoneFileSystemTests to abstract class#9750
Open
len548 wants to merge 1 commit intoapache:masterfrom
Open
HDDS-14608. Convert OzoneFileSystemTests to abstract class#9750len548 wants to merge 1 commit intoapache:masterfrom
len548 wants to merge 1 commit intoapache:masterfrom
Conversation
Contributor
Author
|
@adoroszlai can you review please when you have time? |
adoroszlai
reviewed
Feb 11, 2026
Contributor
adoroszlai
left a comment
There was a problem hiding this comment.
Thanks @len548 for the patch.
Comment on lines
+48
to
50
| protected OzoneFileSystemTestBase() { | ||
| // no instances | ||
| } |
Contributor
There was a problem hiding this comment.
The comment is no longer valid. The constructor can be completely removed, we can rely on the default one.
Comment on lines
-70
to
+56
| public static void listStatusIteratorOnPageSize(OzoneConfiguration conf, | ||
| protected void listStatusIteratorOnPageSize(OzoneConfiguration conf, |
Contributor
There was a problem hiding this comment.
This and other existing methods that are not going to be overridden can still be static.
Comment on lines
+968
to
+969
| RemoteIterator<FileStatus> listStatusIterator(Path path) throws IOException { | ||
| return o3fs.listStatusIterator(path); |
Contributor
There was a problem hiding this comment.
Let's define public abstract FileSystem getFs() in the parent class (implementations already exist, just add @Override). This way we don't need to add a template method for each FileSystem operation (like listStatusIterator(Path)) in the tests.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this pull request?
As a sub-task of HDDS-12355, I converted
OzoneFileSystemTeststo abstract class (previously it was static final) and renamed it toOzoneFileSystemTestBase. This enables template method pattern and abstracts similar tests betweenAbstractOzoneFileSystemTestandAbstractRootedOzoneFileSystemTesteasier.This PR also addresses:
testOzoneFsServiceLoaderfrom both test classes becauseFileSystem.getFileSystemClass()is Hadoop's code, not Ozone's. We should test our implementation, not the framework's behaviortestCreateKeyWithECReplicationConfigandtestListStatusIteratorWithDirtoOzoneFileSystemTestBaseclass.setPageSizemethod to a new classOzoneFileSystemTestUtilsfrom oldOzoneFileSystemTests.Since there are a lot of duplicates in the two test classes, subsequent Jira tickets will continue to evaluate other duplicate tests if this approach is accepted.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-14608
How was this patch tested?
Existing test suites are not broken by this PR.
CI pass: https://github.com/len548/ozone/actions/runs/21897543317