code_ownership 2.1.4 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.cargo/config +2 -2
- data/Cargo.lock +6 -59
- data/ext/cargo-vendor/codeowners-0.5.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/codeowners-0.5.0/.github/workflows/audit.yml +31 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.github/workflows/ci.yml +11 -0
- data/ext/cargo-vendor/codeowners-0.5.0/.github/workflows/codeql.yml +21 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/Cargo.lock +27 -115
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/Cargo.toml +44 -3
- data/ext/cargo-vendor/codeowners-0.5.0/perf/README.md +204 -0
- data/ext/cargo-vendor/codeowners-0.5.0/perf/compare.sh +23 -0
- data/ext/cargo-vendor/codeowners-0.5.0/perf/run.sh +28 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/rust-toolchain.toml +1 -1
- data/ext/cargo-vendor/codeowners-0.5.0/src/bin/codeowners-perf.rs +719 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/cache/file.rs +9 -9
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/cache/mod.rs +4 -4
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/cache/noop.rs +4 -4
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/cli.rs +7 -7
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/main.rs +3 -3
- data/ext/cargo-vendor/codeowners-0.5.0/src/ownership/file_owner_resolver.rs +829 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/validator.rs +108 -15
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership.rs +22 -3
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/project.rs +4 -4
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/project_builder.rs +40 -14
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/project_file_builder.rs +2 -2
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/runner/api.rs +8 -5
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/runner/types.rs +1 -2
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/runner.rs +39 -29
- data/ext/cargo-vendor/codeowners-0.5.0/tests/annotation_in_unowned_team_glob_test.rs +64 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/common/mod.rs +1 -1
- data/ext/cargo-vendor/codeowners-0.5.0/tests/directory_codeowner_github_team_test.rs +22 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/empty_directory_codeowner_test.rs +26 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/.github/CODEOWNERS +18 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/config/code_ownership.yml +4 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/config/teams/alpha.yml +7 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/config/teams/beta.yml +3 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/ruby/app/services/alpha_owned.rb +2 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/ruby/app/services/beta_owned.rb +4 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/.github/CODEOWNERS +15 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/app/by_handle/.codeowner +1 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/app/by_handle/handled.rb +2 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/app/by_name/named.rb +2 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/.github/CODEOWNERS +14 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/app/services/.codeowner +1 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/app/services/nested/.codeowner +1 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/app/services/nested/nested_file.rb +2 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/config/code_ownership.yml +10 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/config/teams/foo.yml +5 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/.github/CODEOWNERS +14 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/app/services/.codeowner +1 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/app/services/nested/.codeowner +1 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/app/services/nested/nested_file.rb +2 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/config/code_ownership.yml +10 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/config/teams/foo.yml +5 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/multiple-directory-owners/app/services/.codeowner +1 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/multiple-directory-owners/config/code_ownership.yml +10 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/multiple-directory-owners/config/teams/foo.yml +5 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/global_gitignore_test.rs +50 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/invalid_directory_codeowner_test.rs +26 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/invalid_project_test.rs +9 -9
- data/ext/cargo-vendor/codeowners-0.5.0/tests/perf_harness_test.rs +245 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/untracked_new_file_test.rs +63 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/untracked_source_file_test.rs +40 -0
- data/ext/cargo-vendor/error-stack-0.8.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/error-stack-0.8.0/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/error-stack-0.8.0/.justfile +16 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/CHANGELOG.md +50 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/Cargo.lock +253 -310
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/Cargo.toml +107 -52
- data/ext/cargo-vendor/error-stack-0.8.0/Cargo.toml.orig +109 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/README.md +16 -18
- data/ext/cargo-vendor/error-stack-0.8.0/build.rs +28 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/examples/demo.rs +21 -19
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/examples/detect.rs +6 -6
- data/ext/cargo-vendor/error-stack-0.8.0/examples/exit_code.rs +25 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/examples/parse_config.rs +5 -5
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/compat/anyhow.rs +7 -7
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/compat/eyre.rs +7 -6
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/compat/mod.rs +7 -9
- data/ext/cargo-vendor/error-stack-0.8.0/src/context.rs +52 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/error.rs +2 -9
- data/ext/cargo-vendor/error-stack-0.8.0/src/ext/iter.rs +286 -0
- data/ext/cargo-vendor/error-stack-0.8.0/src/ext/mod.rs +19 -0
- data/ext/cargo-vendor/error-stack-0.8.0/src/ext/stream.rs +212 -0
- data/ext/cargo-vendor/error-stack-0.8.0/src/ext/tuple.rs +218 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/charset.rs +12 -12
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/color.rs +30 -30
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/config.rs +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/hook.rs +23 -24
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/location.rs +3 -3
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/mod.rs +62 -52
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/frame/frame_impl.rs +12 -15
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/frame/kind.rs +11 -10
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/frame/mod.rs +8 -10
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/future.rs +57 -63
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/hook/context.rs +18 -20
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/hook/mod.rs +16 -15
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/iter.rs +12 -57
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/lib.rs +99 -87
- data/ext/cargo-vendor/error-stack-0.8.0/src/macros.rs +212 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/report.rs +525 -207
- data/ext/cargo-vendor/error-stack-0.8.0/src/result.rs +137 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/serde.rs +53 -38
- data/ext/cargo-vendor/error-stack-0.8.0/src/sink.rs +672 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/common.rs +36 -24
- data/ext/cargo-vendor/error-stack-0.8.0/tests/compiletest.rs +22 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__charset_ascii.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__charset_utf8.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__diagnostics_add.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__doc.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__emit.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__emit_alt.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__hookcontext_cast.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__hookcontext_decrement.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__hookcontext_emit.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__hookcontext_increment.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__hookcontext_storage.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__preference_color.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__preference_emphasis.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__preference_none.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt_doc_alt.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/hook__debug_hook.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/hook__debug_hook_provide.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/lib__suggestion.snap +2 -2
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/report_debug__doc.snap +3 -3
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__complex.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_location.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__linear.snap +2 -2
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__linear_ext.snap +2 -2
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__multiline_context.snap +3 -3
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__sources.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__sources_transparent.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__sources_nested.snap +10 -10
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__sources_nested@spantrace-backtrace.snap +10 -10
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__sources_nested_alternate.snap +10 -10
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__sources_nested_alternate@spantrace-backtrace.snap +10 -10
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_serialize__attachment.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_serialize__context.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_serialize__multiple_sources.snap +2 -2
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_serialize__multiple_sources_at_root.snap +2 -2
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_attach.rs +41 -15
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_attach_printable.rs +14 -15
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_backtrace.rs +0 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_change_context.rs +31 -9
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_compatibility.rs +8 -17
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_conversion.rs +25 -3
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_debug.rs +91 -91
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_display.rs +8 -9
- data/ext/cargo-vendor/error-stack-0.8.0/tests/test_downcast.rs +101 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/test_extend.rs +99 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/test_frame.rs +136 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/test_iter.rs +132 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_macros.rs +5 -31
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_provision.rs +3 -2
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_serialize.rs +14 -14
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_span_trace.rs +10 -11
- data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/attach_diagnostics.rs +21 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/attach_diagnostics.stderr +23 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/frames_mut_escape.rs +28 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/frames_mut_escape.stderr +13 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/macro_invalid_args.rs +32 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/macro_invalid_args.stderr +132 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/missing_args.rs +32 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/missing_args.stderr +35 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/ui/must_use.rs +3 -3
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/ui/must_use.stderr +1 -1
- data/ext/code_ownership/Cargo.toml +1 -1
- data/ext/code_ownership/src/lib.rs +13 -1
- data/lib/code_ownership/version.rb +1 -1
- data/lib/code_ownership.rb +3 -0
- metadata +340 -431
- data/ext/cargo-vendor/ahash-0.7.8/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/ahash-0.7.8/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/ahash-0.7.8/.github/workflows/rust.yml +0 -151
- data/ext/cargo-vendor/ahash-0.7.8/Cargo.toml +0 -149
- data/ext/cargo-vendor/ahash-0.7.8/Cargo.toml.orig +0 -96
- data/ext/cargo-vendor/ahash-0.7.8/FAQ.md +0 -118
- data/ext/cargo-vendor/ahash-0.7.8/LICENSE-APACHE +0 -201
- data/ext/cargo-vendor/ahash-0.7.8/LICENSE-MIT +0 -25
- data/ext/cargo-vendor/ahash-0.7.8/README.md +0 -110
- data/ext/cargo-vendor/ahash-0.7.8/build.rs +0 -47
- data/ext/cargo-vendor/ahash-0.7.8/rustfmt.toml +0 -1
- data/ext/cargo-vendor/ahash-0.7.8/src/aes_hash.rs +0 -440
- data/ext/cargo-vendor/ahash-0.7.8/src/convert.rs +0 -167
- data/ext/cargo-vendor/ahash-0.7.8/src/fallback_hash.rs +0 -392
- data/ext/cargo-vendor/ahash-0.7.8/src/hash_map.rs +0 -371
- data/ext/cargo-vendor/ahash-0.7.8/src/hash_quality_test.rs +0 -517
- data/ext/cargo-vendor/ahash-0.7.8/src/hash_set.rs +0 -313
- data/ext/cargo-vendor/ahash-0.7.8/src/lib.rs +0 -263
- data/ext/cargo-vendor/ahash-0.7.8/src/operations.rs +0 -330
- data/ext/cargo-vendor/ahash-0.7.8/src/random_state.rs +0 -363
- data/ext/cargo-vendor/ahash-0.7.8/src/specialize.rs +0 -239
- data/ext/cargo-vendor/ahash-0.7.8/tests/bench.rs +0 -154
- data/ext/cargo-vendor/ahash-0.7.8/tests/map_tests.rs +0 -203
- data/ext/cargo-vendor/ahash-0.7.8/tests/nopanic.rs +0 -72
- data/ext/cargo-vendor/codeowners-0.3.3/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/codeowners-0.3.3/.github/workflows/audit.yml +0 -19
- data/ext/cargo-vendor/codeowners-0.3.3/src/ownership/file_owner_resolver.rs +0 -416
- data/ext/cargo-vendor/error-stack-0.5.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/error-stack-0.5.0/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/error-stack-0.5.0/.justfile +0 -58
- data/ext/cargo-vendor/error-stack-0.5.0/Cargo.toml.orig +0 -87
- data/ext/cargo-vendor/error-stack-0.5.0/build.rs +0 -29
- data/ext/cargo-vendor/error-stack-0.5.0/examples/exit_code.rs +0 -24
- data/ext/cargo-vendor/error-stack-0.5.0/rust-toolchain.toml +0 -4
- data/ext/cargo-vendor/error-stack-0.5.0/src/context.rs +0 -132
- data/ext/cargo-vendor/error-stack-0.5.0/src/macros.rs +0 -253
- data/ext/cargo-vendor/error-stack-0.5.0/src/result.rs +0 -267
- data/ext/cargo-vendor/error-stack-0.5.0/tests/compiletest.rs +0 -7
- data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested@backtrace.snap +0 -104
- data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested@spantrace.snap +0 -104
- data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested_alternate@backtrace.snap +0 -104
- data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested_alternate@spantrace.snap +0 -104
- data/ext/cargo-vendor/error-stack-0.5.0/tests/test_downcast.rs +0 -41
- data/ext/cargo-vendor/error-stack-0.5.0/tests/test_extend.rs +0 -78
- data/ext/cargo-vendor/error-stack-0.5.0/tests/test_frame.rs +0 -126
- data/ext/cargo-vendor/error-stack-0.5.0/tests/test_iter.rs +0 -99
- data/ext/cargo-vendor/error-stack-0.5.0/tests/ui/macro_invalid_args.rs +0 -60
- data/ext/cargo-vendor/error-stack-0.5.0/tests/ui/macro_invalid_args.stderr +0 -101
- data/ext/cargo-vendor/getrandom-0.2.16/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/getrandom-0.2.16/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/getrandom-0.2.16/CHANGELOG.md +0 -498
- data/ext/cargo-vendor/getrandom-0.2.16/Cargo.lock +0 -354
- data/ext/cargo-vendor/getrandom-0.2.16/Cargo.toml +0 -121
- data/ext/cargo-vendor/getrandom-0.2.16/Cargo.toml.orig +0 -67
- data/ext/cargo-vendor/getrandom-0.2.16/LICENSE-APACHE +0 -201
- data/ext/cargo-vendor/getrandom-0.2.16/LICENSE-MIT +0 -26
- data/ext/cargo-vendor/getrandom-0.2.16/README.md +0 -81
- data/ext/cargo-vendor/getrandom-0.2.16/SECURITY.md +0 -13
- data/ext/cargo-vendor/getrandom-0.2.16/benches/buffer.rs +0 -71
- data/ext/cargo-vendor/getrandom-0.2.16/src/apple-other.rs +0 -24
- data/ext/cargo-vendor/getrandom-0.2.16/src/custom.rs +0 -105
- data/ext/cargo-vendor/getrandom-0.2.16/src/error.rs +0 -189
- data/ext/cargo-vendor/getrandom-0.2.16/src/error_impls.rs +0 -15
- data/ext/cargo-vendor/getrandom-0.2.16/src/espidf.rs +0 -18
- data/ext/cargo-vendor/getrandom-0.2.16/src/fuchsia.rs +0 -13
- data/ext/cargo-vendor/getrandom-0.2.16/src/getentropy.rs +0 -21
- data/ext/cargo-vendor/getrandom-0.2.16/src/getrandom.rs +0 -25
- data/ext/cargo-vendor/getrandom-0.2.16/src/hermit.rs +0 -29
- data/ext/cargo-vendor/getrandom-0.2.16/src/js.rs +0 -155
- data/ext/cargo-vendor/getrandom-0.2.16/src/lazy.rs +0 -56
- data/ext/cargo-vendor/getrandom-0.2.16/src/lib.rs +0 -407
- data/ext/cargo-vendor/getrandom-0.2.16/src/linux_android.rs +0 -7
- data/ext/cargo-vendor/getrandom-0.2.16/src/linux_android_with_fallback.rs +0 -33
- data/ext/cargo-vendor/getrandom-0.2.16/src/netbsd.rs +0 -46
- data/ext/cargo-vendor/getrandom-0.2.16/src/rdrand.rs +0 -121
- data/ext/cargo-vendor/getrandom-0.2.16/src/solaris.rs +0 -34
- data/ext/cargo-vendor/getrandom-0.2.16/src/solid.rs +0 -18
- data/ext/cargo-vendor/getrandom-0.2.16/src/use_file.rs +0 -120
- data/ext/cargo-vendor/getrandom-0.2.16/src/util.rs +0 -35
- data/ext/cargo-vendor/getrandom-0.2.16/src/util_libc.rs +0 -162
- data/ext/cargo-vendor/getrandom-0.2.16/src/vxworks.rs +0 -29
- data/ext/cargo-vendor/getrandom-0.2.16/src/wasi.rs +0 -17
- data/ext/cargo-vendor/getrandom-0.2.16/src/windows.rs +0 -59
- data/ext/cargo-vendor/getrandom-0.2.16/tests/common/mod.rs +0 -100
- data/ext/cargo-vendor/getrandom-0.2.16/tests/custom.rs +0 -54
- data/ext/cargo-vendor/getrandom-0.2.16/tests/normal.rs +0 -11
- data/ext/cargo-vendor/getrandom-0.2.16/tests/rdrand.rs +0 -22
- data/ext/cargo-vendor/hashbrown-0.12.3/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/hashbrown-0.12.3/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/hashbrown-0.12.3/CHANGELOG.md +0 -402
- data/ext/cargo-vendor/hashbrown-0.12.3/Cargo.toml +0 -113
- data/ext/cargo-vendor/hashbrown-0.12.3/Cargo.toml.orig +0 -60
- data/ext/cargo-vendor/hashbrown-0.12.3/LICENSE-APACHE +0 -201
- data/ext/cargo-vendor/hashbrown-0.12.3/LICENSE-MIT +0 -25
- data/ext/cargo-vendor/hashbrown-0.12.3/README.md +0 -126
- data/ext/cargo-vendor/hashbrown-0.12.3/benches/bench.rs +0 -331
- data/ext/cargo-vendor/hashbrown-0.12.3/benches/insert_unique_unchecked.rs +0 -32
- data/ext/cargo-vendor/hashbrown-0.12.3/clippy.toml +0 -1
- data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/mod.rs +0 -4
- data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/helpers.rs +0 -27
- data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/map.rs +0 -734
- data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/mod.rs +0 -4
- data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/raw.rs +0 -231
- data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/set.rs +0 -659
- data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/serde.rs +0 -201
- data/ext/cargo-vendor/hashbrown-0.12.3/src/lib.rs +0 -150
- data/ext/cargo-vendor/hashbrown-0.12.3/src/macros.rs +0 -70
- data/ext/cargo-vendor/hashbrown-0.12.3/src/map.rs +0 -8408
- data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/alloc.rs +0 -73
- data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/bitmask.rs +0 -122
- data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/generic.rs +0 -154
- data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/mod.rs +0 -2460
- data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/sse2.rs +0 -146
- data/ext/cargo-vendor/hashbrown-0.12.3/src/rustc_entry.rs +0 -630
- data/ext/cargo-vendor/hashbrown-0.12.3/src/scopeguard.rs +0 -74
- data/ext/cargo-vendor/hashbrown-0.12.3/src/set.rs +0 -2790
- data/ext/cargo-vendor/hashbrown-0.12.3/tests/hasher.rs +0 -65
- data/ext/cargo-vendor/hashbrown-0.12.3/tests/rayon.rs +0 -533
- data/ext/cargo-vendor/hashbrown-0.12.3/tests/serde.rs +0 -65
- data/ext/cargo-vendor/hashbrown-0.12.3/tests/set.rs +0 -34
- data/ext/cargo-vendor/lru-0.7.8/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/lru-0.7.8/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/lru-0.7.8/.github/workflows/main.yml +0 -54
- data/ext/cargo-vendor/lru-0.7.8/CHANGELOG.md +0 -194
- data/ext/cargo-vendor/lru-0.7.8/Cargo.toml +0 -42
- data/ext/cargo-vendor/lru-0.7.8/Cargo.toml.orig +0 -22
- data/ext/cargo-vendor/lru-0.7.8/LICENSE +0 -21
- data/ext/cargo-vendor/lru-0.7.8/README.md +0 -62
- data/ext/cargo-vendor/lru-0.7.8/src/lib.rs +0 -1872
- data/ext/cargo-vendor/version_check-0.9.5/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/version_check-0.9.5/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/version_check-0.9.5/.github/workflows/ci.yml +0 -42
- data/ext/cargo-vendor/version_check-0.9.5/.travis.yml +0 -6
- data/ext/cargo-vendor/version_check-0.9.5/Cargo.toml +0 -38
- data/ext/cargo-vendor/version_check-0.9.5/Cargo.toml.orig +0 -13
- data/ext/cargo-vendor/version_check-0.9.5/LICENSE-APACHE +0 -201
- data/ext/cargo-vendor/version_check-0.9.5/LICENSE-MIT +0 -19
- data/ext/cargo-vendor/version_check-0.9.5/README.md +0 -80
- data/ext/cargo-vendor/version_check-0.9.5/src/channel.rs +0 -195
- data/ext/cargo-vendor/version_check-0.9.5/src/date.rs +0 -203
- data/ext/cargo-vendor/version_check-0.9.5/src/lib.rs +0 -528
- data/ext/cargo-vendor/version_check-0.9.5/src/version.rs +0 -316
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/.github/workflows/main.yml +0 -44
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/.gitmodules +0 -3
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/CODE_OF_CONDUCT.md +0 -49
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/CONTRIBUTING.md +0 -8
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/Cargo.lock +0 -23
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/Cargo.toml +0 -59
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/Cargo.toml.orig +0 -29
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/LICENSE-APACHE +0 -201
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/LICENSE-Apache-2.0_WITH_LLVM-exception +0 -220
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/LICENSE-MIT +0 -23
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/ORG_CODE_OF_CONDUCT.md +0 -143
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/README.md +0 -94
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/SECURITY.md +0 -29
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/src/lib.rs +0 -47
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/src/lib_generated.rs +0 -2366
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.github/CODEOWNERS +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.github/workflows/dotslash-config.json +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.rustfmt.toml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.rusty-hook.toml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/AGENTS.md +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/CLAUDE.md +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/README.md +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/dev/run_benchmarks_for_file.sh +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/dev/run_benchmarks_for_gv.sh +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/common_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/config.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/crosscheck.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/lib.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/codeowners_file_parser.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/codeowners_query.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/file_generator.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/file_owner_finder.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/annotated_file_mapper.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/directory_mapper.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/escaper.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/package_mapper.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/team_gem_mapper.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/team_glob_mapper.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/team_yml_mapper.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/path_utils.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/tracked_files.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/cache_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/codeowners_path_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/crosscheck_owners_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/executable_name_config_test.rs +10 -10
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/config/teams/test_team.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/docs/CODEOWNERS +3 -3
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/expected/CODEOWNERS +3 -3
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/ruby/app/models/test.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/.github/CODEOWNERS +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/app/foo.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/config/teams/foo.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/config/teams/payments.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/ruby/app/payments/foo.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/default_executable_name/.github/CODEOWNERS +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/default_executable_name/app/bar.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/default_executable_name/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/default_executable_name/config/teams/bar.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3/tests/fixtures/multiple-directory-owners/app/services → codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/app/by_name}/.codeowner +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3/tests/fixtures/multiple-directory-owners → codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team}/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3/tests/fixtures/multiple-directory-owners → codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team}/config/teams/foo.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/.github/CODEOWNERS +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/config/teams/payments.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/config/teams/payroll.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/gems/payroll_calculator/calculator.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/models/bank_account.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/models/blockchain.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/models/payroll.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/payments/nacha.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/services/.codeowner +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/services/multi_owned.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/unowned.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/packages/payroll_flow/package.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/.github/CODEOWNERS +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/.keep +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/config/teams/design.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/config/teams/frontend.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/frontend/apps/public/index.tsx +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/frontend/packages/dashboard/package.json +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/frontend/packages/dashboard/src/index.tsx +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/frontend/packages/ui-kit/.codeowner +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/frontend/packages/ui-kit/src/button.tsx +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/.github/CODEOWNERS +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/config/teams/bad_team.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/config/teams/good.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/gems/pets/dog.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/.github/CODEOWNERS +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/app/consumers/.codeowner +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/app/consumers/deep/nesting/nestdir/deep_file.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/app/consumers/one_owner.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/app/services/exciting/.codeowner +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/app/services/exciting/some_other_file.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/config/teams/bar.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/.github/CODEOWNERS +9 -9
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/.ignore +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/config/teams/payments.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/config/teams/payroll.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/config/teams/ux.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/gems/payroll_calculator/calculator.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/gems/pets/dog.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/index.tsx +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/package.json +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/items/(special)/.codeowner +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/items/(special)/pay.ts +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/items/.codeowner +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/items/item.ts +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/list/page-admin.tsx +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/models/bank_account.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/models/payroll.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payments/foo/.codeowner +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payments/foo/ownedby_payroll.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payments/nacha.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payroll/.codeowner +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payroll/payroll.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/views/foos/edit.erb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/views/foos/index.html.erb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/views/foos/new.html.erb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/ignored_files/git_ignored.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/packages/payroll_flow/package.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/should_be_ignored/an_ignored_file.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/.github/CODEOWNERS +12 -12
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/teams/brewers.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/teams/cubs.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/teams/giants.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/teams/rockies.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/datepicker/package.json +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/datepicker/src/picks/dp.tsx +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/list/package.json +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/list/src/item.tsx +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/package.json +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/src/field.tsx +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/src/fields/small.tsx +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/gems/apollo/lib/apollo.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/gems/ivy/lib/ivy.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/gems/lager/lib/lager.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/gems/summit/lib/summit.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/games/app/services/stats.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/games/package.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/locations/app/services/capacity.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/locations/package.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/schedule/app/services/date.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/schedule/package.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/brewers/lib/util.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/brewers/services/play.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/.codeowner +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/.codeowner +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/db/price.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/entertainment.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/play.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/giants/services/play.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/rockies/services/play.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/git_stage_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/invalid_project_structure_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/missing_github_team_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/multiple_directory_owners_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/run_config_executable_override_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/runner_api.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/untracked_files_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/valid_project_test.rs +6 -6
- /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/valid_project_with_overrides_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/validate_files_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tmp/.gitkeep +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/LICENSE-APACHE.md +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/LICENSE-MIT.md +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/LICENSE.md +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/override.rs +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/hook__location_hook.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/report_display__doc.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/report_display_alt__doc.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__alt.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__charset_ascii.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__color_mode_color.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__color_mode_emphasis.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_context.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_decr.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_for_context.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_incr.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_multiple.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_provider.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__multiline.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__norm.snap +0 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
//! Tests for the performance harness binary.
|
|
2
|
+
//!
|
|
3
|
+
//! These assert the harness *works* — cases execute, JSON is well-formed, the
|
|
4
|
+
//! corpus is restored, bad comparisons are rejected. They deliberately assert
|
|
5
|
+
//! nothing about how *fast* anything is: timings on a shared CI runner are
|
|
6
|
+
//! meaningless, and the harness is a local tool (see perf/README.md).
|
|
7
|
+
|
|
8
|
+
use std::error::Error;
|
|
9
|
+
use std::path::Path;
|
|
10
|
+
|
|
11
|
+
mod common;
|
|
12
|
+
|
|
13
|
+
use common::git_add_all_files;
|
|
14
|
+
use common::setup_fixture_repo;
|
|
15
|
+
|
|
16
|
+
fn perf_cmd() -> Result<assert_cmd::Command, Box<dyn Error>> {
|
|
17
|
+
Ok(assert_cmd::Command::cargo_bin("codeowners-perf")?)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/// A real corpus is a committed repository. The harness refuses to run when
|
|
21
|
+
/// CODEOWNERS has uncommitted changes, so tests have to commit like the real
|
|
22
|
+
/// thing does.
|
|
23
|
+
fn commit_all(path: &Path) {
|
|
24
|
+
git_add_all_files(path);
|
|
25
|
+
let output = std::process::Command::new("git")
|
|
26
|
+
.args(["commit", "-m", "fixture", "--no-verify"])
|
|
27
|
+
.current_dir(path)
|
|
28
|
+
.output()
|
|
29
|
+
.expect("failed to run git commit");
|
|
30
|
+
assert!(
|
|
31
|
+
output.status.success(),
|
|
32
|
+
"git commit failed: {}",
|
|
33
|
+
String::from_utf8_lossy(&output.stderr)
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/// Fixture corpus, committed and ready to measure.
|
|
38
|
+
fn corpus() -> tempfile::TempDir {
|
|
39
|
+
let temp_dir = setup_fixture_repo(Path::new("tests/fixtures/valid_project"));
|
|
40
|
+
commit_all(temp_dir.path());
|
|
41
|
+
temp_dir
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
#[test]
|
|
45
|
+
fn test_lists_cases() -> Result<(), Box<dyn Error>> {
|
|
46
|
+
let output = perf_cmd()?.arg("cases").assert().success();
|
|
47
|
+
let stdout = String::from_utf8(output.get_output().stdout.clone())?;
|
|
48
|
+
|
|
49
|
+
for expected in ["generate", "validate_all", "gv", "validate_all_cold", "validate_files_1000"] {
|
|
50
|
+
assert!(stdout.contains(expected), "case list missing {expected}: {stdout}");
|
|
51
|
+
}
|
|
52
|
+
Ok(())
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
#[test]
|
|
56
|
+
fn test_run_against_fixture_emits_well_formed_json() -> Result<(), Box<dyn Error>> {
|
|
57
|
+
let temp_dir = corpus();
|
|
58
|
+
let project_root = temp_dir.path();
|
|
59
|
+
|
|
60
|
+
let output = perf_cmd()?
|
|
61
|
+
.arg("run")
|
|
62
|
+
.arg("--corpus")
|
|
63
|
+
.arg(project_root)
|
|
64
|
+
.args(["--runs", "1", "--warmup", "0", "--json"])
|
|
65
|
+
.assert()
|
|
66
|
+
.success();
|
|
67
|
+
|
|
68
|
+
let stdout = String::from_utf8(output.get_output().stdout.clone())?;
|
|
69
|
+
let report: serde_json::Value = serde_json::from_str(&stdout)?;
|
|
70
|
+
|
|
71
|
+
// The corpus metadata is what makes reports comparable, so it must be present.
|
|
72
|
+
assert!(report["corpus"]["tracked_files"].as_u64().unwrap() > 0);
|
|
73
|
+
assert!(report["corpus"]["codeowners_lines"].as_u64().unwrap() > 0);
|
|
74
|
+
assert_eq!(
|
|
75
|
+
report["corpus"]["smoke_scale"], true,
|
|
76
|
+
"the test fixture must be reported as smoke scale"
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
let cases = report["cases"].as_array().expect("cases array");
|
|
80
|
+
assert!(!cases.is_empty());
|
|
81
|
+
|
|
82
|
+
// Every case either ran or explains why it did not.
|
|
83
|
+
for case in cases {
|
|
84
|
+
let status = case["status"].as_str().unwrap();
|
|
85
|
+
assert!(status == "ok" || status == "skipped", "unexpected status {status}");
|
|
86
|
+
if status == "skipped" {
|
|
87
|
+
assert!(case["skip_reason"].is_string(), "skipped case must give a reason");
|
|
88
|
+
} else {
|
|
89
|
+
assert!(!case["runs_ms"].as_array().unwrap().is_empty());
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
Ok(())
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
#[test]
|
|
96
|
+
fn test_skips_cases_the_corpus_is_too_small_for() -> Result<(), Box<dyn Error>> {
|
|
97
|
+
let temp_dir = corpus();
|
|
98
|
+
let project_root = temp_dir.path();
|
|
99
|
+
|
|
100
|
+
let output = perf_cmd()?
|
|
101
|
+
.arg("run")
|
|
102
|
+
.arg("--corpus")
|
|
103
|
+
.arg(project_root)
|
|
104
|
+
.args(["--runs", "1", "--warmup", "0", "--case", "validate_files_2000", "--json"])
|
|
105
|
+
.assert()
|
|
106
|
+
.success();
|
|
107
|
+
|
|
108
|
+
let stdout = String::from_utf8(output.get_output().stdout.clone())?;
|
|
109
|
+
let report: serde_json::Value = serde_json::from_str(&stdout)?;
|
|
110
|
+
let case = &report["cases"][0];
|
|
111
|
+
|
|
112
|
+
// Silently measuring fewer files than the case name claims would be the worst
|
|
113
|
+
// possible failure mode for a benchmark.
|
|
114
|
+
assert_eq!(case["status"], "skipped");
|
|
115
|
+
assert!(
|
|
116
|
+
case["skip_reason"].as_str().unwrap().contains("2000"),
|
|
117
|
+
"skip reason should name the shortfall: {case}"
|
|
118
|
+
);
|
|
119
|
+
Ok(())
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
#[test]
|
|
123
|
+
fn test_restores_corpus_codeowners_after_run() -> Result<(), Box<dyn Error>> {
|
|
124
|
+
let temp_dir = corpus();
|
|
125
|
+
let project_root = temp_dir.path();
|
|
126
|
+
|
|
127
|
+
let codeowners = project_root.join(".github/CODEOWNERS");
|
|
128
|
+
let before = std::fs::read_to_string(&codeowners)?;
|
|
129
|
+
|
|
130
|
+
// `generate` and `gv` both write this file during the run.
|
|
131
|
+
perf_cmd()?
|
|
132
|
+
.arg("run")
|
|
133
|
+
.arg("--corpus")
|
|
134
|
+
.arg(project_root)
|
|
135
|
+
.args(["--runs", "1", "--warmup", "0"])
|
|
136
|
+
.assert()
|
|
137
|
+
.success();
|
|
138
|
+
|
|
139
|
+
let after = std::fs::read_to_string(&codeowners)?;
|
|
140
|
+
assert_eq!(before, after, "harness must leave the corpus CODEOWNERS untouched");
|
|
141
|
+
Ok(())
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
#[test]
|
|
145
|
+
fn test_refuses_to_run_against_dirty_corpus_codeowners() -> Result<(), Box<dyn Error>> {
|
|
146
|
+
let temp_dir = corpus();
|
|
147
|
+
let project_root = temp_dir.path();
|
|
148
|
+
|
|
149
|
+
// Simulate a user with uncommitted CODEOWNERS work. If the harness were killed
|
|
150
|
+
// mid-run this content would be unrecoverable, so it must refuse up front
|
|
151
|
+
// rather than overwrite and hope the restore lands.
|
|
152
|
+
let codeowners = project_root.join(".github/CODEOWNERS");
|
|
153
|
+
std::fs::write(&codeowners, "# work in progress\n")?;
|
|
154
|
+
|
|
155
|
+
perf_cmd()?
|
|
156
|
+
.arg("run")
|
|
157
|
+
.arg("--corpus")
|
|
158
|
+
.arg(project_root)
|
|
159
|
+
.assert()
|
|
160
|
+
.failure()
|
|
161
|
+
.stderr(predicates::str::contains("uncommitted changes"));
|
|
162
|
+
|
|
163
|
+
// And the refusal must not have touched it.
|
|
164
|
+
assert_eq!(std::fs::read_to_string(&codeowners)?, "# work in progress\n");
|
|
165
|
+
Ok(())
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
#[test]
|
|
169
|
+
fn test_rejects_corpus_without_config() -> Result<(), Box<dyn Error>> {
|
|
170
|
+
let temp_dir = tempfile::tempdir()?;
|
|
171
|
+
|
|
172
|
+
perf_cmd()?
|
|
173
|
+
.arg("run")
|
|
174
|
+
.arg("--corpus")
|
|
175
|
+
.arg(temp_dir.path())
|
|
176
|
+
.assert()
|
|
177
|
+
.failure()
|
|
178
|
+
.stderr(predicates::str::contains("code_ownership.yml"));
|
|
179
|
+
Ok(())
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
#[test]
|
|
183
|
+
fn test_compare_refuses_mismatched_corpora() -> Result<(), Box<dyn Error>> {
|
|
184
|
+
let temp_dir = tempfile::tempdir()?;
|
|
185
|
+
let baseline = temp_dir.path().join("baseline.json");
|
|
186
|
+
let candidate = temp_dir.path().join("candidate.json");
|
|
187
|
+
|
|
188
|
+
let report = |path: &str, commit: &str| {
|
|
189
|
+
format!(
|
|
190
|
+
r#"{{"tool_version":"0.0.0","runs_per_case":1,"cases":[],
|
|
191
|
+
"corpus":{{"path":"{path}","git_commit":"{commit}","tracked_files":10,
|
|
192
|
+
"owned_files":5,"codeowners_lines":5,"smoke_scale":true}}}}"#
|
|
193
|
+
)
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
// Different corpus entirely — e.g. fixture-measured branch vs monorepo baseline.
|
|
197
|
+
std::fs::write(&baseline, report("/corpus/a", "abc"))?;
|
|
198
|
+
std::fs::write(&candidate, report("/corpus/b", "abc"))?;
|
|
199
|
+
perf_cmd()?
|
|
200
|
+
.arg("compare")
|
|
201
|
+
.arg(&baseline)
|
|
202
|
+
.arg(&candidate)
|
|
203
|
+
.assert()
|
|
204
|
+
.failure()
|
|
205
|
+
.stderr(predicates::str::contains("different corpora"));
|
|
206
|
+
|
|
207
|
+
// Same corpus, but it moved between the two measurements.
|
|
208
|
+
std::fs::write(&candidate, report("/corpus/a", "def"))?;
|
|
209
|
+
perf_cmd()?
|
|
210
|
+
.arg("compare")
|
|
211
|
+
.arg(&baseline)
|
|
212
|
+
.arg(&candidate)
|
|
213
|
+
.assert()
|
|
214
|
+
.failure()
|
|
215
|
+
.stderr(predicates::str::contains("corpus moved"));
|
|
216
|
+
|
|
217
|
+
Ok(())
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
#[test]
|
|
221
|
+
fn test_compare_emits_delta_table_for_matching_corpora() -> Result<(), Box<dyn Error>> {
|
|
222
|
+
let temp_dir = tempfile::tempdir()?;
|
|
223
|
+
let baseline = temp_dir.path().join("baseline.json");
|
|
224
|
+
let candidate = temp_dir.path().join("candidate.json");
|
|
225
|
+
|
|
226
|
+
let report = |ms: u64| {
|
|
227
|
+
format!(
|
|
228
|
+
r#"{{"tool_version":"0.0.0","runs_per_case":1,
|
|
229
|
+
"cases":[{{"name":"gv","status":"ok","file_count":0,"runs_ms":[{ms}],
|
|
230
|
+
"best_ms":{ms},"median_ms":{ms},"phases_ms":{{}},
|
|
231
|
+
"validation_errors":0,"io_errors":0}}],
|
|
232
|
+
"corpus":{{"path":"/corpus/a","git_commit":"abc","tracked_files":10,
|
|
233
|
+
"owned_files":5,"codeowners_lines":5,"smoke_scale":false}}}}"#
|
|
234
|
+
)
|
|
235
|
+
};
|
|
236
|
+
std::fs::write(&baseline, report(1000))?;
|
|
237
|
+
std::fs::write(&candidate, report(250))?;
|
|
238
|
+
|
|
239
|
+
let output = perf_cmd()?.arg("compare").arg(&baseline).arg(&candidate).assert().success();
|
|
240
|
+
|
|
241
|
+
let stdout = String::from_utf8(output.get_output().stdout.clone())?;
|
|
242
|
+
assert!(stdout.contains("| gv |"), "missing case row: {stdout}");
|
|
243
|
+
assert!(stdout.contains("4.00x"), "missing speedup: {stdout}");
|
|
244
|
+
Ok(())
|
|
245
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
use assert_cmd::prelude::*;
|
|
2
|
+
use std::{error::Error, fs, path::Path, process::Command};
|
|
3
|
+
|
|
4
|
+
mod common;
|
|
5
|
+
use common::{git_add_all_files, setup_fixture_repo};
|
|
6
|
+
|
|
7
|
+
const FIXTURE: &str = "tests/fixtures/valid_project";
|
|
8
|
+
|
|
9
|
+
/// rubyatscale/code_ownership#149: adding a new team config must not require
|
|
10
|
+
/// `git add`-ing it first. The project walk excludes untracked files by
|
|
11
|
+
/// design (see tests/untracked_source_file_test.rs and codeowners-rs#46/#74/
|
|
12
|
+
/// #76 - it lets a developer keep scratch files around without being forced
|
|
13
|
+
/// to assign them an owner), but that exclusion used to apply to team config
|
|
14
|
+
/// files too - so a brand-new, not-yet-staged team file was invisible to the
|
|
15
|
+
/// walk, and any *already-tracked* file that should newly become owned by
|
|
16
|
+
/// that team was reported as unowned instead (the team file disappears from
|
|
17
|
+
/// the walk, but the file it's supposed to own is still there and still
|
|
18
|
+
/// expected to have an owner - simply making both files new/untracked
|
|
19
|
+
/// together hides the bug, since then neither is visible and no mismatch is
|
|
20
|
+
/// ever observed).
|
|
21
|
+
///
|
|
22
|
+
/// This mirrors the issue's exact repro shape: README.md already exists and
|
|
23
|
+
/// is already committed (as it would be from `rails new` or any prior
|
|
24
|
+
/// commit); only the *new team* and the *config edit adding README.md to
|
|
25
|
+
/// owned_globs* are freshly created and not yet staged.
|
|
26
|
+
#[test]
|
|
27
|
+
fn test_validate_succeeds_after_adding_new_untracked_team_for_an_existing_tracked_file() -> Result<(), Box<dyn Error>> {
|
|
28
|
+
let temp_dir = setup_fixture_repo(Path::new(FIXTURE));
|
|
29
|
+
let project_root = temp_dir.path();
|
|
30
|
+
// README.md is part of the initial commit, so it's already tracked
|
|
31
|
+
// before the new team is ever introduced.
|
|
32
|
+
fs::write(project_root.join("README.md"), "# hello\n")?;
|
|
33
|
+
git_add_all_files(project_root);
|
|
34
|
+
Command::new("git")
|
|
35
|
+
.args(["commit", "-m", "initial"])
|
|
36
|
+
.current_dir(project_root)
|
|
37
|
+
.output()?;
|
|
38
|
+
|
|
39
|
+
// A brand-new team config, added later and never staged.
|
|
40
|
+
fs::write(
|
|
41
|
+
project_root.join("config/teams/docs.yml"),
|
|
42
|
+
"name: Docs\ngithub:\n team: '@DocsTeam'\nowned_globs:\n - README.md\n",
|
|
43
|
+
)?;
|
|
44
|
+
|
|
45
|
+
let config_path = project_root.join("config/code_ownership.yml");
|
|
46
|
+
let config = fs::read_to_string(&config_path)?;
|
|
47
|
+
let updated_config = config.replacen("owned_globs:\n", "owned_globs:\n - \"README.md\"\n", 1);
|
|
48
|
+
assert_ne!(
|
|
49
|
+
config, updated_config,
|
|
50
|
+
"expected to find and extend the owned_globs list in the fixture config"
|
|
51
|
+
);
|
|
52
|
+
fs::write(&config_path, updated_config)?;
|
|
53
|
+
|
|
54
|
+
Command::cargo_bin("codeowners")?
|
|
55
|
+
.arg("--project-root")
|
|
56
|
+
.arg(project_root)
|
|
57
|
+
.arg("--no-cache")
|
|
58
|
+
.arg("generate-and-validate")
|
|
59
|
+
.assert()
|
|
60
|
+
.success();
|
|
61
|
+
|
|
62
|
+
Ok(())
|
|
63
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
use assert_cmd::prelude::*;
|
|
2
|
+
use std::{error::Error, fs, path::Path, process::Command};
|
|
3
|
+
|
|
4
|
+
mod common;
|
|
5
|
+
use common::{git_add_all_files, setup_fixture_repo};
|
|
6
|
+
|
|
7
|
+
const FIXTURE: &str = "tests/fixtures/valid_project";
|
|
8
|
+
|
|
9
|
+
/// The fix for rubyatscale/code_ownership#149 (see untracked_new_file_test.rs)
|
|
10
|
+
/// only exempts team config files from the tracked-files check - it must NOT
|
|
11
|
+
/// broaden inclusion to untracked source files in general. That exclusion is
|
|
12
|
+
/// intentional (codeowners-rs#46/#74/#76: "don't fail when untracked git
|
|
13
|
+
/// files aren't in codeowners"), letting a developer keep a scratch file
|
|
14
|
+
/// around locally without `validate` forcing them to assign it an owner.
|
|
15
|
+
#[test]
|
|
16
|
+
fn test_untracked_source_file_is_still_ignored() -> Result<(), Box<dyn Error>> {
|
|
17
|
+
let temp_dir = setup_fixture_repo(Path::new(FIXTURE));
|
|
18
|
+
let project_root = temp_dir.path();
|
|
19
|
+
git_add_all_files(project_root);
|
|
20
|
+
Command::new("git")
|
|
21
|
+
.args(["commit", "-m", "initial"])
|
|
22
|
+
.current_dir(project_root)
|
|
23
|
+
.output()?;
|
|
24
|
+
|
|
25
|
+
// A new source file matching owned_globs, but never staged. If it were
|
|
26
|
+
// included, this would fail with "missing ownership" since nothing
|
|
27
|
+
// claims it; if it's correctly ignored (matching pre-#149-fix behavior
|
|
28
|
+
// for non-team files), validation succeeds unchanged.
|
|
29
|
+
fs::write(project_root.join("ruby/app/models/scratch.rb"), "class Scratch; end\n")?;
|
|
30
|
+
|
|
31
|
+
Command::cargo_bin("codeowners")?
|
|
32
|
+
.arg("--project-root")
|
|
33
|
+
.arg(project_root)
|
|
34
|
+
.arg("--no-cache")
|
|
35
|
+
.arg("generate-and-validate")
|
|
36
|
+
.assert()
|
|
37
|
+
.success();
|
|
38
|
+
|
|
39
|
+
Ok(())
|
|
40
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$comment":"This file only protects against accidental modifications. It is not a security mechanism and does not protect against malicious changes.","files":{".cargo_vcs_info.json":"bc769f18d75ca5c81bb4b4038e8d34bd3db2a5284a12ccab6b95cebfbebb7fa7",".justfile":"9122dfededec1dbcb12f2f0497312e4fe70f6a9e0a49a9e44946c4a2852eee0e","CHANGELOG.md":"ef965c273b60cf96ddf2137c30b2b7f6b46fcef0f98e1ce7e1478c23d8a10e67","Cargo.lock":"0b3ea621c4662e19c79c680eb786397cf29701705a8c15fbc77e85055c3c6594","Cargo.toml":"ede6bd8d0101ef593d8a252df8a7d02b0dbe49d9f357547b0e96147304fb838e","Cargo.toml.orig":"dca51f82a079dd1e8fc0a82cde44a3ecbe5dfbccd466e58ea283ac06681f748e","LICENSE-APACHE.md":"b2aa406a702ce13fb511912a67a8c461075a815a401123d57920dd9ce6e3044e","LICENSE-MIT.md":"6165554b3979e39de2c51b78f6a6ee807f63fa730c5d3b00104589dd4ea4a1ff","LICENSE.md":"75f8eebefb3b9ee5dc72807d2008a273a452d11f720c7ff6ab37d4eb47924d6e","README.md":"988f7182efcb56662e791393312b96abef783013912ef6c33f1f843173cd1ea4","build.rs":"b3316797c22fe499420944d0e2f612db5c5b3af4051aea54c4885b3697e77391","examples/demo.rs":"e5a3a0b316ca2ad86222fe0a5fc2c0dfefe6356deceb0cec2349638e86e62418","examples/detect.rs":"7d2243f9129fd911571a821aaddda479f89964d6b1ab353c948cd7703ceeb36d","examples/exit_code.rs":"b88fb0a56ad21b0d5713ceba9993b22695ae72e1029a903146be369f634bafbe","examples/parse_config.rs":"c9b1bcdc5b0fb6cab87f3cb0629d5c20661a2fc6e48b8ae6c013daac1d0a2167","src/compat/anyhow.rs":"3128807e751cc20bae1bbb1d65d0c7a7f1627cf0ab84191b99f8b4d4f7313140","src/compat/eyre.rs":"80d166b875e5c56a7b1968df982320a5924cf8feb7a008784695163c2e091e71","src/compat/mod.rs":"c7dfdf9455f8ef845fc62807e97d5be2ba29d0e28d331641155c1790967a41a2","src/context.rs":"3f403a6349def8122f19f8f26eaca95a8608686b98d6a330e9aa65b5135595a6","src/error.rs":"562306e2d81b48ef7c6c036811cb873760ae7f57fe6499f2dac3f50dcf775a65","src/ext/iter.rs":"df2add9f0a0ed759f5213e83d14f9faf13cc17338f5ed2ff9c5dc52d7b1edb20","src/ext/mod.rs":"3439e7f486ef1d7ac557255800043b22786a206b53b800dceec92c209da56edd","src/ext/stream.rs":"45f5fa3741400cb06e9c25bbb5b0f39a7d2ee8189431c8a48dc2bb1e2637dfdb","src/ext/tuple.rs":"103179fc7764e9c9236293e31acdd56e83eadf6503ade86be94c092dcd8dbab3","src/fmt/charset.rs":"bc3c5b39329963acd9ed6c77c756fbf886b06c971dec5de58cdb69e30975fd49","src/fmt/color.rs":"48e3a26acb37053a995e03deb533cce61defec693ab398d150fc4c416d6bce9e","src/fmt/config.rs":"81b10961a3161485205dbea1c3b4abc3f3d2edacc2a41c48bb540171aa56f048","src/fmt/hook.rs":"df2061c866ddb216245507e77d7ed5dd867c1286575d08876d56b4983209a549","src/fmt/location.rs":"86c9b8383b6984b02a8f42e4a734a12e8da9b45b456d547c11ea73967e6abb32","src/fmt/mod.rs":"f4fde71e94294a7c249d3efd3acedede9c0fdc3219faf439bdd0c524045cecb9","src/fmt/override.rs":"3369f18b20ab6b4b13be9330db47ce45d668f0ea4cb4bd69a9d80b07d9e6f25c","src/frame/frame_impl.rs":"21734b861ed51a252184a2076c7028f4c13b796b4f800b9d37088b6935ac835c","src/frame/kind.rs":"681b6fc7e10d5c8ffc6fba179e2ead9f002c26d7e0ecd6e81d517ca40ec363d5","src/frame/mod.rs":"aa29bc7d662918daffd65190deff272aafea187f3975a2e1e1c2d24562f03f6f","src/future.rs":"079f0dcfad0e8445114ac53af668177b8d75f87b369789f596de09672a32611d","src/hook/context.rs":"dd38f5779d7d94b5168c5a27ed349b12db68ab5e480eb2dca6f73a17006e083d","src/hook/mod.rs":"cf3027e0d7d36cd9a9d2ced31b8f64b9c83e5cc5687009348664075ef3874cac","src/iter.rs":"6726c16cc7f3fbb6e921272fd41be7fabe83e49b063ba1d6f1589fb9ba277f77","src/lib.rs":"ee81d736bc72485c4345e201079d20dd6721fbf52a8e73a7909190549a9d829c","src/macros.rs":"0ba07094962edaf9bee39c65729dd3b10484bad6acd16f1e74d6a6b51cf402fa","src/report.rs":"3b737c749376fb55995b3e8eb8311d4235ec885f5dfd15ee2a4fb377fadf47a1","src/result.rs":"1ed871088f90b5e8da84ebf425d1bd0c698117b69d32b883292bfbad7c970a55","src/serde.rs":"6562c1e022e107ea8f6f603f54d84da297e5018a960c43d6403a04be111713c2","src/sink.rs":"667b5486d79dc65387aad6be58489fb06424ce8dd1d43fc67d685c27652703e6","tests/common.rs":"6baec80927823fbd04b9fee3be0f642ceb7da90f5bd489ff81890b9aa04a30ad","tests/compiletest.rs":"6bd58722600d880b0bab06f664954dd56b952e73c658ff4fa9cc43ec944299e7","tests/snapshots/doc/fmt__charset_ascii.snap":"0077511c243d9a2a4c77706fcf0346ae12b94885a44d725c1ef6f488838e1d1b","tests/snapshots/doc/fmt__charset_utf8.snap":"9e969f52aa196afede91b68354a88373fc08aefa2a00bac684ab86e8cf6e1cc4","tests/snapshots/doc/fmt__diagnostics_add.snap":"3ff12afea15d8c5b39d33e11f4a0b02caf59be552d359622536871507e41ef78","tests/snapshots/doc/fmt__doc.snap":"6d1144d2b3476aada8f2dadba64134396bd70a8760b2cce13fef713d76bf058f","tests/snapshots/doc/fmt__emit.snap":"86c4f50b984c9c83436a3adffa2af737ed9f485991553bbdb95bb8e3b09aa819","tests/snapshots/doc/fmt__emit_alt.snap":"ea9f8f38f2ab857c8b6614b5998ff792e2be8bdacb6b3f89d5c77e0901d37b3f","tests/snapshots/doc/fmt__hookcontext_cast.snap":"3b8227db2c5a74bdf8cd9a83ceb49b70a07b1916b7029d3669cfd768cc6bd3a8","tests/snapshots/doc/fmt__hookcontext_decrement.snap":"dfcc618fa1b676e374e51e46ec325bf46e3f40aec6bf5e13e065c5fba1a286e6","tests/snapshots/doc/fmt__hookcontext_emit.snap":"5f004ac11b919292671044ea1026aae4e6611ef8f1938e034f5664a6c64be1e6","tests/snapshots/doc/fmt__hookcontext_increment.snap":"f29da2a3e3da31303e62d54ac827f1525da0968bac1fa8e7c2a323b142c595f4","tests/snapshots/doc/fmt__hookcontext_storage.snap":"6fbe0bf54ab8b8a3783746edbc3902106ec1090b7aada1bb29bf363c7a78c536","tests/snapshots/doc/fmt__preference_color.snap":"6b45f62615180d7c68abffce49ff5648e68c2b1666b7507c53804f298997bd5f","tests/snapshots/doc/fmt__preference_emphasis.snap":"4de63d73291b0913d6c751b8a0e622dcaad894e193beea3f42b4ab37e878ea1f","tests/snapshots/doc/fmt__preference_none.snap":"5b78b941f4bb71f995a88d7ac71e171e084271db0b75ef91ee15f385a45f3554","tests/snapshots/doc/fmt_doc_alt.snap":"f9914477513f7d906985050c505ac6c64607f30a680630bebb2765ed512fc72d","tests/snapshots/doc/hook__debug_hook.snap":"c465d9b7a060c994ab5c17b418b9b8c81d90188d285bf9bd5116cffb3625dca6","tests/snapshots/doc/hook__debug_hook_provide.snap":"8dd54ef8c647646e19038715c2020660eea96e1db2cfd19ff1d972c7c7ff203d","tests/snapshots/doc/hook__location_hook.snap":"bf50411adb98ea391ccf7ccfd13a45f82f887dd4e0c831039dfd12a79417ba24","tests/snapshots/doc/lib__suggestion.snap":"d74174fc88c3ca6381ae001510b53241c8fcfffe2d3bed3d4b46fcce6a0f9713","tests/snapshots/doc/report_debug__doc.snap":"093e043389cac6fdf3b978f328276c78e13ec8639ca7457568fec399a8134149","tests/snapshots/doc/report_display__doc.snap":"3578df6ddcad5c078c5c44a885713ccf3d499a981c9563ebe702d25952443b60","tests/snapshots/doc/report_display_alt__doc.snap":"bd36d21b18f31a1cdd0b1bd217c37f00a0ca5291176bdb4a0d76e9deac38a071","tests/snapshots/test_debug__full__alt.snap":"25a8b30ce62de569bcdeab743703e563a9dd84d65fd4631ca4a23daa615b515b","tests/snapshots/test_debug__full__charset_ascii.snap":"ac42a83d37f30821744cde1aa3ced57d2c96b3ebc716b41f3a82ffb03e7dbde5","tests/snapshots/test_debug__full__color_mode_color.snap":"9b7b08f7f48167b9afde6e3dfa24484a429a06556936ffc9d21a9910e355d627","tests/snapshots/test_debug__full__color_mode_emphasis.snap":"f47438f97f7edff109a5bdc4f7b8393303a14da3a96985e32569e314caef4cf3","tests/snapshots/test_debug__full__complex.snap":"19d58c4bccbaa5f6c5842db20a6f0d94e2028b592c0a7678274ce028f1516776","tests/snapshots/test_debug__full__hook.snap":"0eb96af9174fb160d96e596ccd259d501ab82edfbaae05d046994cd3088d6281","tests/snapshots/test_debug__full__hook_context.snap":"3be727025960ed3a12cdf483be284985c4c72f577f067e3cdf3088e4e11a4006","tests/snapshots/test_debug__full__hook_decr.snap":"f2164683899df74880874542c797f15a9a04252b302c4e0065c36f4f41394cf8","tests/snapshots/test_debug__full__hook_for_context.snap":"7492070f81e90b7a86e8cb5ce31914fdd49823874f4f567279079f055bbdb4d3","tests/snapshots/test_debug__full__hook_incr.snap":"13c5e030a29c5104be47e77b65db5bc1917a3137ef80d7606207f6211fb0ca75","tests/snapshots/test_debug__full__hook_location.snap":"dde9619effcd54241df24545566e40e6df28e118808d65ac136513a66dca9512","tests/snapshots/test_debug__full__hook_multiple.snap":"507a628214d0c18131319570c384b14c8be20ce14f1724408df36435cccbe18a","tests/snapshots/test_debug__full__hook_provider.snap":"3b9aa4ae0e19bb672248905b3d83a86d3cf7fda88c9914609a440d5c654dfc13","tests/snapshots/test_debug__full__linear.snap":"c6855b290332703ab79466044db88de12cb8a78ffe5683ba0fb79085b2493f4d","tests/snapshots/test_debug__full__linear_ext.snap":"5e34afdd494d8b72c4513ed8c388356ce7ff886cf4c3add6b09a75c19075f3f0","tests/snapshots/test_debug__full__multiline.snap":"c6e113180c84d4d2c4b1917cb0ffd64b2c4c33dbed7ef1475b1a5a2e11a180be","tests/snapshots/test_debug__full__multiline_context.snap":"33c9125f7562c3e915b97c906f309d87a4985a1492aa720e8caf055024e91b23","tests/snapshots/test_debug__full__norm.snap":"0600b000335147d565b3ae4bf7ccff24ee36df9456e51539377895403c610285","tests/snapshots/test_debug__full__sources.snap":"f2a61fefb6591e2c3a6c2b61b97e560e52ab30c7b9420963fe0af368bae08003","tests/snapshots/test_debug__full__sources_transparent.snap":"27883ea5cc02377cd3beb138b2146b05af80db64c81aade8be824d75055cb81a","tests/snapshots/test_debug__sources_nested.snap":"cc5f20b0feabe4410e48c7fad80c19231e1de6fd14435470ac890f24bb889e93","tests/snapshots/test_debug__sources_nested@spantrace-backtrace.snap":"ada0b5eee8451ad5ed5604853835a275b3045ef10e980ac2a3b1c11c6570d922","tests/snapshots/test_debug__sources_nested_alternate.snap":"dc06ddce8a513e5ab595fef0a1c697d99eb231aa41804f100169c2769104033e","tests/snapshots/test_debug__sources_nested_alternate@spantrace-backtrace.snap":"fcfa4014d1fb32e51fbeee6a77c7ed28584dac73360c4c99d2047f5a0f51e153","tests/snapshots/test_serialize__attachment.snap":"276d22285e58fb028ee37ff09f2ce703b557a6f74e790b56c72cc9358ee79cc5","tests/snapshots/test_serialize__context.snap":"6c038d510da60cacb5222c438d0652ace2998f27b634eee9a40c0c958d5e7b97","tests/snapshots/test_serialize__multiple_sources.snap":"e25150457ea5dc60dc91f0d269e3bba119d769452c660d9ab6d230250590b7c5","tests/snapshots/test_serialize__multiple_sources_at_root.snap":"7a5ac101f3da18ed281677c6eee5d60d150b2e063f9b3cbb1fbb92d90899859b","tests/test_attach.rs":"a1e1c7080449c43a2c85b16669e42dbf2bde7e50d1316c0031ee51e4d6cf85da","tests/test_attach_printable.rs":"992ed7bbd5c7597a371cfb8ea4af8a23176a2c61bf3e5bbcac60865903752378","tests/test_backtrace.rs":"1c597c2e287fcf3ddf21c566d88ecb4d4350a63cfae5631bae8025b6406e7c51","tests/test_change_context.rs":"4c5f31f38a0063030c538976dcbd0f8c02ed0e0a4d3769c32fcfe013ef78647d","tests/test_compatibility.rs":"2fb7b6f79db54984bb23c554ca4a1ce506429861de5be9ca0dc911ba95557c9c","tests/test_conversion.rs":"38872500a3a7ac00a4d77e6a0bcd92552f40103edd7dcfde896cdd22a76ecde1","tests/test_debug.rs":"8bfca85f1377cef35a8912a2fb92714335d5ec55e003d54ad5a60a4a506e1ceb","tests/test_display.rs":"6233a05fdb2e5090be9c16ff8ab1e8380e0c57bc36afce2c5351ef7c2775f51d","tests/test_downcast.rs":"2c207abe8ada09135ff6fdb404b30e0feb0b352d17928a38ad9a5a713a9b99ba","tests/test_extend.rs":"7de497a64501fe1bfb4006e85b3d4a98291f59c4045f2b4d749f305269453fcf","tests/test_frame.rs":"455a2e1ac5b9b644f7621ee89dcd2ae185da375688c295fc7b8b93e925187642","tests/test_iter.rs":"73df754ae4f12ad53fd4aaa6c72312716c7514086f69a458008f7b768c1b9845","tests/test_macros.rs":"cb7a95f15eb13a3dd2e00d0b9cffa746a8a983d5b1683fa878e9e8de910bb5eb","tests/test_provision.rs":"ef2be61fe22a0c54a5aa74fab28e346986bc165ba65fa4b8f501944f61436244","tests/test_serialize.rs":"30f76361d615983cb5f4a8314ffd16bd1db561cf2cb8d4e3390c2021fcac4e87","tests/test_span_trace.rs":"acbde1b6b25acec1b2879165a3a2ddec7eacddf0724bc2636b7955995d70be08","tests/ui/attach_diagnostics.rs":"10d9d3243f5b75ce876a5f89cfaffdae01f0747a1149e0b92960b08369b26a65","tests/ui/attach_diagnostics.stderr":"117da0ba996ada4b7d266bfddb00b19bcb3286a6f8033fc1840089b2853f0c46","tests/ui/frames_mut_escape.rs":"7ea7e8577c33aa2a6f36ad8b77ce8644a78e98d84a5bb10dcc736fd058a20fc8","tests/ui/frames_mut_escape.stderr":"cb9dacc7116ddb9491986d01e78138b34f58d893f78f93e65e30bf91abf94dfc","tests/ui/macro_invalid_args.rs":"460c4bbaa1e8168aefb21fa13a5fbb10b8ea469c47720088e5ee29eacf07fffa","tests/ui/macro_invalid_args.stderr":"518f13b8303e8da979d0dd56d91c0a069934c626c539470025513359a56452a9","tests/ui/missing_args.rs":"5199af6e18dae67fd0b35065c2b9620705a5c86a5d2713644f93899586d6fc50","tests/ui/missing_args.stderr":"d6de4c05a22d47a29c898f2731e7e39b06d6ab4c04dc86585075ed16438ccdc0","tests/ui/must_use.rs":"e79b7936c2b2d88441783af644df13e748a0e1cdda4f65b693440242877e58ec","tests/ui/must_use.stderr":"3d5befb37577e601bb6ea00be739559699875696b196dc2fb6af47924df6c811"},"package":"d01a8d4d427153bae0c38ca68d7912cbf9903fdcc97ecac18801738b3656a46d"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env just --justfile
|
|
2
|
+
|
|
3
|
+
set fallback
|
|
4
|
+
|
|
5
|
+
[private]
|
|
6
|
+
default:
|
|
7
|
+
@just usage
|
|
8
|
+
|
|
9
|
+
cargo-hack-groups := '--group-features eyre,hooks --group-features anyhow,serde --group-features futures,unstable'
|
|
10
|
+
profile := env_var_or_default('PROFILE', "dev")
|
|
11
|
+
repo := `git rev-parse --show-toplevel`
|
|
12
|
+
|
|
13
|
+
[private]
|
|
14
|
+
clippy *arguments:
|
|
15
|
+
@CLIPPY_CONF_DIR={{repo}} just in-pr cargo clippy --profile {{profile}} --all-features --all-targets --no-deps {{arguments}}
|
|
16
|
+
@CLIPPY_CONF_DIR={{repo}} just not-in-pr cargo hack --optional-deps --feature-powerset {{cargo-hack-groups}} --ignore-unknown-features clippy --profile {{profile}} --all-targets --no-deps {{arguments}}
|
|
@@ -4,7 +4,56 @@ All notable changes to `error-stack` will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## Planned
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- Add `OptionExt` to support `Option::ok_or_report`. ([#667](https://github.com/hashintel/hash/issues/667))
|
|
8
|
+
- Support for [`defmt`](https://defmt.ferrous-systems.com).
|
|
9
|
+
- Better support for serialization and deserialization of `Report`.
|
|
10
|
+
|
|
11
|
+
## [0.8.0](https://github.com/hashintel/hash/tree/error-stack%400.8.0/libs/error-stack) - 2026-07-03
|
|
12
|
+
|
|
13
|
+
### Breaking Changes
|
|
14
|
+
|
|
15
|
+
- Fix a soundness hole in `Report::frames_mut`: the returned iterator handed out `&mut Frame`s with independent lifetimes, so a frame and one of its sources (via `Frame::sources_mut`) could be borrowed mutably at the same time — undefined behavior triggerable from safe code, up to segfaults. `frames_mut` now takes a visitor closure (`FnMut(&mut Frame) -> ControlFlow<()>`) instead of returning an iterator, and the `FramesMut` type has been removed. `Report::downcast_mut` is unaffected. ([#8946](https://github.com/hashintel/hash/pull/8946))
|
|
16
|
+
|
|
17
|
+
## [0.7.1](https://github.com/hashintel/hash/tree/error-stack%400.7.1/libs/error-stack) - 2026-05-27
|
|
18
|
+
|
|
19
|
+
### Fixes
|
|
20
|
+
|
|
21
|
+
- Gate `sink` imports behind `cfg(nightly)` so `error-stack` compiles on stable Rust with the `unstable` feature enabled. ([#8768](https://github.com/hashintel/hash/pull/8768))
|
|
22
|
+
|
|
23
|
+
## [0.7.0](https://github.com/hashintel/hash/tree/error-stack%400.7.0/libs/error-stack) - 2026-03-26
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
- Support trailing commans in `bail!` macro. ([#7772](https://github.com/hashintel/hash/pull/7772))
|
|
28
|
+
|
|
29
|
+
### Breaking Changes
|
|
30
|
+
|
|
31
|
+
- Remove deprecated `Context` ([#7763](https://github.com/hashintel/hash/pull/7763))
|
|
32
|
+
- Remove deprecated `report!` ([#7763](https://github.com/hashintel/hash/pull/7763))
|
|
33
|
+
- Remove deprecated `Report::{attach_lazy, attach_printable, attach_printable_lazy}` ([#7763](https://github.com/hashintel/hash/pull/7763))
|
|
34
|
+
- Depend on `serde_core` instead of `serde`. ([#7909](https://github.com/hashintel/hash/pull/7909))
|
|
35
|
+
|
|
36
|
+
## [0.6.0](https://github.com/hashintel/hash/tree/error-stack%400.6.0/libs/error-stack) - 2025-08-30
|
|
37
|
+
|
|
38
|
+
### Features
|
|
39
|
+
|
|
40
|
+
- Report has been split into `Report<C>` and `Report<[C]>` to distinguish between a group of related errors and a single error. These errors can still be nested. ([#5047](https://github.com/hashintel/hash/pull/5047))
|
|
41
|
+
- Introduce a new `unstable` flag, which is used to enable unstable features, these features are not covered by semver and may be modified or removed at any time. ([#5181](https://github.com/hashintel/hash/pull/5181))
|
|
42
|
+
- Reintroduce a new `IntoReport` trait, which is used to determine when a type can be converted to a `Report`. This allows the usage of errors more idiomatically in traits, such as `type Error: IntoReport`. ([#6738](https://github.com/hashintel/hash/pull/6738))
|
|
43
|
+
|
|
44
|
+
### Breaking Changes
|
|
45
|
+
|
|
46
|
+
- Rename `attach[_lazy]` to `attach_opaque[_with]` and `attach_printable[_lazy]` to `attach[_with]`. ([#7753](https://github.com/hashintel/hash/pull/7753))
|
|
47
|
+
- Set the MSRV to 1.83 ([#5333](https://github.com/hashintel/hash/pull/5333))
|
|
48
|
+
- `Extend` is no longer implemented by `Report<C>`, instead it is implemented on `Report<[C]>`, either use `From` or `Report::expand` to convert between `Report<C>` into `Report<[C]>`. ([#5047](https://github.com/hashintel/hash/pull/5047))
|
|
49
|
+
- `extend_one` has been renamed to `push` and is only implemented on `Report<[C]>`. ([#5047](https://github.com/hashintel/hash/pull/5047))
|
|
50
|
+
- `bail!(report,)` has been removed, one must now use `bail!(report)`. This is in preparation for the unstable `bail!` macro that allows to construct `Report<[C]>`. ([#5047](https://github.com/hashintel/hash/pull/5047))
|
|
51
|
+
|
|
52
|
+
### Deprecations
|
|
53
|
+
|
|
54
|
+
- `Context`: Use `core::error::Error` instead ([#5533](https://github.com/hashintel/hash/pull/5533))
|
|
55
|
+
- `Result<T, C>`: Use `core::result::Result<T, Report<C>>` instead ([#5533](https://github.com/hashintel/hash/pull/5533))
|
|
56
|
+
- `report!`, use `IntoReport::into_report` instead. ([#6738](https://github.com/hashintel/hash/pull/6738))
|
|
8
57
|
|
|
9
58
|
## [0.5.0](https://github.com/hashintel/hash/tree/error-stack%400.5.0/libs/error-stack) - 2024-07-12
|
|
10
59
|
|