The standard command that runs a tool should be available via the Tool class, so we should parameterize over ALL_TOOLS, add the tool using its use_* command (perhaps via lookups to give the Tool class via tool name, and the use_* command via tool name), and then use the standard command to run the tool and check it runs successfully on the empty project.
We should check there aren't existing tests that do the same thing already... if so we should remove them in favour of this centralized approach
Came up when working towards #1300, gave me a bit of anxiety about the gap.