Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump criterion from 0.3.3 to 0.3.4 #72

Merged
merged 1 commit into from
Jan 26, 2021
Merged

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 25, 2021

Bumps criterion from 0.3.3 to 0.3.4.

Changelog

Sourced from criterion's changelog.

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Added support for benchmarking async functions
  • Added with_output_color for enabling or disabling CLI output coloring programmatically.

Fixed

  • Criterion.rs will now give a clear error message in case of benchmarks that take zero time.
  • Added some extra code to ensure that every sample has at least one iteration.
  • Added a notice to the --help output regarding "unrecognized option" errors.
  • Increased opacity on violin charts.
  • Fixed violin chart X axis not starting at zero in the plotters backend.
  • Criterion.rs will now automatically detect the right output directory.

Deprecated

  • Criterion::can_plot is no longer useful and is deprecated pending deletion in 0.4.0.
  • Benchmark and ParameterizedBenchmark were already hidden from documentation, but are now formally deprecated pending deletion in 0.4.0. Callers should use BenchmarkGroup instead.
  • Criterion::bench_function_over_inputs, Criterion::bench_functions, and Criterion::bench were already hidden from documentation, but are now formally deprecated pending deletion in 0.4.0. Callers should use BenchmarkGroup instead.
  • Three new optional features have been added; "html_reports", "csv_output" and "cargo_bench_support". These features currently do nothing except disable a warning message at runtime, but in version 0.4.0 they will be used to enable HTML report generation, CSV file generation, and the ability to run in cargo-bench (as opposed to cargo-criterion). "cargo_bench_support" is enabled by default, but "html_reports" and "csv_output" are not. If you use Criterion.rs' HTML reports, it is recommended to switch to cargo-criterion. If you use CSV output, it is recommended to switch to cargo-criterion and use the --message-format=json option for machine-readable output instead. A warning message will be printed at the start of benchmark runs which do not have "html_reports" or "cargo_bench_support" enabled, but because CSV output is not widely used it has no warning.
Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Jan 25, 2021
@codecov
Copy link

codecov bot commented Jan 25, 2021

Codecov Report

Merging #72 (111d965) into master (7ade3da) will decrease coverage by 0.01%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #72      +/-   ##
==========================================
- Coverage   23.65%   23.63%   -0.02%     
==========================================
  Files          21       21              
  Lines        3378     3380       +2     
==========================================
  Hits          799      799              
- Misses       2579     2581       +2     
Impacted Files Coverage Δ
src/gdb_parser.rs 74.76% <0.00%> (-0.21%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7ade3da...111d965. Read the comment docs.

@jbreitbart
Copy link
Collaborator

These codecov reports are kind of confusing. This PR should not have any affect on the code coverage in the gdb parser ...?

@stlankes This PR fails with

[1][ERROR] Invalid Opcode (#UD) Exception: ExceptionStackFrame {
    instruction_pointer: 0x1008,
    code_segment: 0x8,
    cpu_flags: 0x10246,
    stack_pointer: 0x3627b30,
    stack_segment: 0x10,
}

in one of the tests, but I don't see how this can be an error created by this PR. Is there a known issue?

@jschwe
Copy link
Contributor

jschwe commented Jan 25, 2021

@jbreitbart There is certain (small) amount of variance in the amount of "missed lines" in coverage reports. It looks like sometimes dead code (i.e. not covered by tests, usually a trait) is not compiled into the binary, and thus not present in the coverage report (since it's source based coverage).
The code is already compiled with RUSTFLAGS=-Clink-dead-code, so I'm not really sure why this is the case. Since the feature is still pretty new in the Rust compiler, I'm hoping this will get better with time.

@stlankes
Copy link
Collaborator

I am not sure, but the current setup isn't stable. For instance, https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1884470 is a bug, which I sometimes see. I think that I found a workaround, but I am not sure.

@jbreitbart
Copy link
Collaborator

bors retry

@jbreitbart
Copy link
Collaborator

bors try

bors bot added a commit that referenced this pull request Jan 26, 2021
@jbreitbart
Copy link
Collaborator

bors r+

@jbreitbart
Copy link
Collaborator

The code is already compiled with RUSTFLAGS=-Clink-dead-code, so I'm not really sure why this is the case. Since the feature is still pretty new in the Rust compiler, I'm hoping this will get better with time.

Do you know if there is any github issue to follow for this?

@bors bors bot merged commit b801a10 into master Jan 26, 2021
@bors bors bot deleted the dependabot/cargo/criterion-0.3.4 branch January 26, 2021 09:30
@jschwe
Copy link
Contributor

jschwe commented Jan 26, 2021

Please note that the gitlab test actually failed, but uhyve exited with 0, so it shows as passing, which is unfortunate.
Upon closer inspection, this seems to have been a normal shutdown. I wasn't aware that we dump the contents of the registers by default now.

The code is already compiled with RUSTFLAGS=-Clink-dead-code, so I'm not really sure why this is the case. Since the feature is still pretty new in the Rust compiler, I'm hoping this will get better with time.

Do you know if there is any github issue to follow for this?

It looks like there isn't (at least not mentioned in the tracking issue 79121). While browsing through the issues I noticed that apparently -Clink-dead-code is not necessary anymore (but also shouldn't have an effect), so I'll remove it in a PR.

I'll have to look into it a bit more before opening an issue. If you look into the coverage report, you'll notice that there are also a large number of white lines of code, meaning they are neither missed, nor executed lines of code. I'm interpreting this, as the lines are never generated. I'll have to investigate what causes lines to go from not generated to generated, but not executed.
This most definitely is related to the code in question being an impl block

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file rust Pull requests that update Rust code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants