Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
HADOOP-13345
-
None
Description
The S3GuardToolTestBase don't parallelize and break other tests. This can surface if you do a full run with -Ds3guard and -Ddynamo.
- many of the test paths they create are being requested with absolute paths, e.g "/test-diff".
- the base class doesn't set up a per-forked-JUnit-test runner path in the bucket
- and there's no cleanup at the end of each test case; teardown() is empty.
Ideally, the tests should be made child classes of AbstractS3ATestBase, with its post-run cleanup, If that can't be done, then the tests must
- use S3ATestUtils.createTestPath(super.getTestPath()) to create the base test path
- clean up that dir in teardown if the FS instance is non-null. ContractTestUtils.cleanup() can do this.
If it happens that the tests cannot run in parallel with others, then the build must be changed to exclude them from the parallel test run phase & include them in the serialized section.