It randomly fails (@Addshore saw it 3 times in one week).
I notice it uses random page names and doesn't clear the DB tables. I'm not sure that is enough to explain the null revision though (page names alone would be a pretty likely collision, but if it's the same page name but different text it should still save an edit).
To start with, it should:
- Add 'page', 'revision', and 'text' to $this->tablesUsed so those tables reset.
- Use deterministic page names and content (no random).
- If the revision is null, throw an exception showing what the status error was. It could be just 'edit-no-change' (null edit) (though that shouldn't happen with deterministic page names and content, but maybe it's something weird we're not considering.