| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| if name == 'all': | ||
| raise ValueError('a group named "all" is not allowed ("all" is reserved for selecting the full set of declared benchmarks)') |
There was a problem hiding this comment.
This should still be the case. So the Pyston benchmarks' manifest needs to be fixed.
Sorry, something went wrong.
| self._raw_groups[name] = None | ||
| elif name in self._raw_groups and self._raw_groups[name] is not None: | ||
| raise ValueError(f'a group named {name} was already defined') | ||
| self._raw_groups[name].extend(list(entries) if entries else []) |
There was a problem hiding this comment.
This rule should apply for a single manifest, with the exception only for includes (which should be merged like you are doing). I expect the logic for distinguishing between the two cases is lacking, either in `_parse_manifest() below or in the code that consumes its output.
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
I'm a little unclear about how the manifest parsing is supposed to work, so I'm not sure this is the correct solution.
To reproduce the bug, use a "meta" manifest file that loads both the pyperformance suite and the pyston python-macrobenchmarks suite (as we do in our infra for the faster-cpython project):
There seems to be two bugs:
Both pyperformance and pyston have an empty [group default] entry. I'm not 100% sure what that is supposed to do in practice, but it causes the "a group named default was already defined" error to raise. Here, I just make the groups concatenate instead.
The pyston manifest has:
It seems like this should be valid, but the code here disallows any mention of all.
Again, I have no idea if this fix is correct, but it does at least let these two suites of benchmarks combine correctly.