The test probably shouldn't be hard-coding the platform. I observe that a test that already covered this case (but referenced win32) was removed.
Third, and probably most importantly, the commits alter the API tests to eliminate a lot of tests that were previously supported, and drastically reduces the amount of information reported about invalid markers, removing any detail about the reason for a marker being invalid. Does PEP 508 explicitly designate these changes, or are these limitations only an artifact of using a different implementation for evaluating markers?
Fourth, it seems platform_python_implementation is missing, and the tests for it that were added in setuptools 18.5 were removed. In 035ae59fa7cb, I've added tests to nominally capture these requirements.
PEP 508 does not explicitly designate those changes, it's a limitation of using pyparsing to parse markers and requirements. I could add "Parse error at or near <closest 8 characters to string>", but I don't think I can pull out the last component that didn't match the parse string.
Thanks Steve. It's not strictly necessary to have the same error messages as before, but losing meaningful messages would be an unfortunate degradation, and acceptable only if it's our only good option.
You might also want to follow #229, where I'm working on a technique for more readily vendoring dependencies, such as six.