FileSystem and FileContract aren't tested rigorously enough -while HDFS gets tested downstream, other filesystems, such as blobstore bindings, don't.
The only tests that are common are those of FileSystemContractTestBase, which
HADOOP-9258 shows is incomplete.
- writing more tests which clarify expected behavior
- testing operations in the interface being in their own JUnit4 test classes, instead of one big test suite.
- Having each FS declare via a properties file what behaviors they offer, such as atomic-rename, atomic-delete, umask, immediate-consistency -test methods can downgrade to skipped test cases if a feature is missing.