I still don't really understand what was wrong with 434?
I don't feel strongly about specifying individual models vs. a range in the test file (although I don't see what's wrong with the former as long as we have a sensible default). We could just as easily construct the list based on a range, plus an optional "for this test we want to iterate over *all* shader models" flag (for something like semantics, where the interface changes in each sm1 version, or resource binding, where the interface changes between 5.0 and 5.1.)
Most importantly, the fact that check_requirements is determining the selected shader model feels wrong to me, and fundamentally doesn't seem to fit well with the concept of running a file multiple times with different models. That logic shouldn't be in the backend file, it should be in the frontend if not in the shader file itself.