HDFS-8180, TestWebHdfsFileContextMainOperations and TestSWebHdfsFileContextMainOperations are failing with runtime NPEs while instantiating the wrapped WebHDFSFileSystems because getDefaultPort is trying to access a conf that was never provided. In the constructor both both WebHdfs and SWebhdfs the underlying (S)WebHdfsFileSystems are instantiated in the constructor and never have a chance to have their setConf methods called:
The test passes on trunk because
HDFS-5321 removed the call to the Configuration instance as part of getDefaultPort. HDFS-5321 was applied to branch-2 but reverted in HDFS-6632, so there's a bit of a difference in how branch-2 versus trunk handles default values (branch-2 pulls them from configs if specified, trunk just returns the hard-coded value from the constants file).
I've fixed this behave like trunk and return just the hard-coded value, which causes the test to pass.
There is no WebHdfsFileSystem that takes a Config, which would be another way to fix this.