- Sep 13, 2019
-
-
Pierre-Yves David authored
We get the actual command output instead of a traceback within the benchmark code.
-
Pierre-Yves David authored
I am not sure what the previous code was trying to achieve... but this should work fine.
-
Pierre-Yves David authored
This can be useful in other context.
-
Pierre-Yves David authored
I find the new form clearer.
-
Raphaël Gomès authored
This was forgotten in 608:f6394b762bec when adding the partial sets to the repository variants.
-
- Aug 01, 2019
-
-
Raphaël Gomès authored
We can't make sure that no Rust code will be run before the rust module policy was introduced in 94167e701e125dce1788e19b1e1489958235e40c, in fact, we can be pretty sure of it.
-
- Jul 22, 2019
-
-
Raphaël Gomès authored
If the `setup` method fails, the tests session waits for timeout (1800s per benchmark!), because BaseExchangeMixin's setup launches `hg serve`. The ASV test runner does not understand that setup failed and it should move on to the next benchmark. This shuts down the `hg serve` in case the `setup` breaks.
-
- Jul 18, 2019
-
-
Pierre-Yves David authored
`self.check_output` call signature is sightly different from `subprocess.check_output`, so the call was wrong.
-
- 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.
-