I wrote in the original description:
To detect this problem, we could have the commands that run these steps set an environment variable, say REQUIRED_TAHOE_VERSION, and then fail the tests if that is set and doesn't match allmydata.__version__.
Actually this wouldn't be enough. We're not just supposed to be testing the right version, we're supposed to be testing a specific egg or installation, so that we know that it is usable (not missing any needed files, for example). So we need to:
- Fail if the code we are testing is not loaded from the expected egg or prefix directory.
- Fail if the code in that directory is not the right Tahoe version. (Or, equivalently given that check 1 passes: fail if the code we are testing is not the right Tahoe version.)
- Run the tests in such a way that the preceding checks don't fail.
We should also consider checking constraints on the versions of our dependencies, but I think that's a separate ticket.