I've just realised that
HADOOP-9258 was never backported to branch 2. It went in to branch 1, and into trunk, but not in the bit in the middle.
-more fs contract tests
-s3 and s3n rename don't let you rename under yourself (and delete)
I'm going to try to create a patch for this, though it'll be tricky given how things have moved around a lot since then.