Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor MultipleStoresIT #4903

Closed
kevinrr888 opened this issue Sep 19, 2024 · 0 comments · Fixed by #4975
Closed

Refactor MultipleStoresIT #4903

kevinrr888 opened this issue Sep 19, 2024 · 0 comments · Fixed by #4975
Assignees
Labels
enhancement This issue describes a new feature, improvement, or optimization.
Milestone

Comments

@kevinrr888
Copy link
Member

Is your feature request related to a problem? Please describe.
MultipleStoresIT should be refactored to function more similarly to how other Fate tests are run (e.g., FateIT) where the two stores are tested in their own separate concrete classes. The existing tests use FateTestRunner, but that doesn't work as nicely here since those function under the assumption of one of each store type, which is not the case with this new test.

Describe the solution you'd like
MultipleStoresIT to be an abstract class implemented by two new classes: UserMultipleStoresIT and MetaMultipleStoresIT, and a new interface similar to how FateTestRunner is currently used.

Describe alternatives you've considered
The current impl is another alternative, which works but isn't as nice as the above suggestion: it isn't consistent with the structure of the existing Fate tests, and consider this in the current impl:

@Test
public void testReserveUnreserve() throws Exception {
    testReserveUnreserve(FateInstanceType.META);
    testReserveUnreserve(FateInstanceType.USER);
}

If the first call fails, USER will not be run. Would be nicer to have both run irrespective of order and failures.

Additional context
See comment #4524 (comment)
See changes from #4524

@kevinrr888 kevinrr888 added the enhancement This issue describes a new feature, improvement, or optimization. label Sep 19, 2024
@kevinrr888 kevinrr888 added this to the 4.0.0 milestone Sep 19, 2024
@kevinrr888 kevinrr888 self-assigned this Oct 10, 2024
kevinrr888 added a commit to kevinrr888/accumulo that referenced this issue Oct 11, 2024
Refactors MultipleStoresIT to function more similarly to how other fate
tests are run (the two store types are tested in their own separate
concrete classes). Created MultipleStoresTestRunner which is very
similar to FateTestRunner. MultipleStoresIT is now an abstract class
implemented by two new classes MetaMultipleStoresIT and
UserMultipleStoresIT.

closes apache#4903
kevinrr888 added a commit that referenced this issue Oct 24, 2024
* Refactors MultipleStoresIT

Refactors MultipleStoresIT to function more similarly to how other fate
tests are run (the two store types are tested in their own separate
concrete classes). MultipleStoresIT is now an abstract class
implemented by two new classes MetaMultipleStoresIT and
UserMultipleStoresIT.

closes #4903
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement This issue describes a new feature, improvement, or optimization.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant