- May 17, 2019
-
-
Pierre-Yves David authored
Exchange test takes a lot of time, rsync is one of the factor. Factoring the code will make it easier to improve and measure.
-
Pierre-Yves David authored
-
- May 19, 2019
-
-
Pierre-Yves David authored
This new experimental mode need to be tracked. The initial implementation is quite slow but things could get better over time.
-
Pierre-Yves David authored
Before, not passing a filter_fn means the function will always return False
-
- May 18, 2019
-
-
Pierre-Yves David authored
This benchmark measure cases where both side has missing changed. pypy and mozilla-try has partial variant for it.
-
- May 19, 2019
-
-
Pierre-Yves David authored
Otherwise, we can modify an inherited list, affecting all other benchmark.
-
- Apr 28, 2019
-
-
Pierre-Yves David authored
This one is dedicated to tracking the time taken for two identical repository to realise they are identical. We take the addition of a new test as an opportunity to give it a proper name to this test.
-
Pierre-Yves David authored
The existing discovery test are now using the new roles information. To keep the compatibility witht he older class structure. We are using the `benchmark_name` feature to keep the same name. We'll probably want to use the very same feature to rename all test later into something more sensible. However, as a side effect, this means we are dropping the "same" variant of the subset/super set test. So ASV will be confused by the params value change... <sigh>. Important note: for this discovery to work, benchmark now needs to be have an upgraded reference.
-
- Apr 27, 2019
-
-
Pierre-Yves David authored
benchmark test can now "easily" use the new role information. A `BaseExchangeTimeSuite` subclass can use the `role_action` and `role_subtype` to declare the role the class is using. Then decorate the class with `@setup_role` to make sure the parameters variants are properly set. Finally the appropriate data can we accessed through the `role_data` property.
-
Pierre-Yves David authored
We need this information to be available to the benchrepo code before we can use it.
-
- Apr 28, 2019
-
-
Pierre-Yves David authored
Now that the upgrade script write them one level lower, we read it at that level. For now, it is simple to keep compatibility with the older form. So we keep it.
-
- Apr 27, 2019
-
-
Pierre-Yves David authored
Given the level of the "benchmark-variables", it seems more appropriate to have the partial-sets at the same level. We start with mentioning that in a comment and then we will see if we can do something about it.
-
Pierre-Yves David authored
This can't hurt and make things a bit clearer.
-
Pierre-Yves David authored
The fact we use a hash of anything is an implementation details. In most case, directly using "repo-prefix" is what one should do. We implement that in the parsing code.
-
Pierre-Yves David authored
This is the information this attribute is meant to carry. Using it make things more robust and clarify things.
-
Pierre-Yves David authored
This make sure it is available for those who need it without being required to initialize the object. This will be useful as we migrate exchange tests from the "old way" (clone_path) to the "new way" (role based), see later changeset for details.
-
Pierre-Yves David authored
The debug command scope is not stable and impact the result. We should use the `perfdiscovery` command instead. The current main limitation for the `perfdiscovery` command right now is the fact we don't make is available for revision before it was introduced (even if it should be compatible).
-
Pierre-Yves David authored
This is not a long doc, but should help to navigate the code.
-
Pierre-Yves David authored
This is not a long doc, but should help to navigate the code.
-
Pierre-Yves David authored
The function gather existing code to compute a partial repository path for a given partial version of the main repository. This will be useful later for a more flexible access to partials during discovery.
-
Pierre-Yves David authored
The strip is an implementation detail. The partial_key seems a clearer name. (note: I am not sure about the "partial" part, but I could not find any better).
-
Pierre-Yves David authored
The new name have been around for 1 years, let us stop hacking the old name back. This will requires people to reclone, however will come in a larger wagon that will requires people to reclone anyway.
-
Pierre-Yves David authored
In some situation, the tear down might try to access an attribute not initialized yet. This is annoying since this usually hide the initial error. To avoid that, we set the default attribute value on the class to make sure the tear down find an appropriate value.
-
- Mar 30, 2019
-
-
Pierre-Yves David authored
If no revision is checkout, the "update" variant of the test will fail since there are no file to update. Before this change, the error was quite obscure: no file name was return, as a result the filepath was just the repo directory and `open(…)` call failed. Now we explicitly detect the error and warn about it. I am not sure what error should be raised, So I am going for a classical ValueError.
-
Pierre-Yves David authored
-
- Apr 05, 2019
-
-
Boris Feld authored
-
- Apr 02, 2019
-
-
Raphaël Gomès authored
Some repositories don't have all the variants that are tried. Instead of getting a `KeyError`, we now just skip the impossible combinations.
-
- Mar 29, 2019
-
-
Pierre-Yves David authored
This mark the end of the infamous hidden directory.
-
- Mar 28, 2019
-
-
Boris Feld authored
-
- Mar 27, 2019
-
-
Boris Feld authored
We need to use the repo name with the hash in order to find the right partial repository.
-
- Mar 28, 2019
-
-
Raphaël Gomès authored
`hg web` was broken for a certain range of changesets. Make use of the new `not_compatible_with` decorator to reflect that.
-
Raphaël Gomès authored
This decorator will be used to mark versions that do not work most of the time. So instead passing `compatible_with("not(revset)")` and a negative filter function, we can just specify the revset wherein the bench should not run and optionally further filter on test kwargs.
-
- Mar 05, 2019
-
-
Raphaël Gomès authored
Both benchmarks/ and scmperf_lib/ make use of PyYAML to load yaml files. This library has used an unsafe (i.e. can load yaml bombs, etc.) loader by default since its inception and has been urging people to move to `safe_load` instead. We could have still used `load` by switching to SafeLoader, but the refactor shrunk the code so much that it would not really be an improvement.
-
Raphaël Gomès authored
Strip variants can differ between repos and should not be hardcoded. This change uses the data from the .benchrepo file for each repo to pass to each corresponding test. We are new storing the entire repo prefix instead of only storing the hash, since it is just as unique, removing the need to recompute the prefix from the hash later in the code.
-
- Mar 04, 2019
-
-
Raphaël Gomès authored
This list used to be hardcoded, this change gathers the unique strip variants into a list from every .benchrepo file for use in the ASV test matrix.
-
- Mar 05, 2019
-
-
Boris Feld authored
As we know use kwargs in setup too, we need to change how we compute the repo_name.
-
Boris Feld authored
-
Boris Feld authored
Removes unused argument
-
Boris Feld authored
-
Boris Feld authored
-