169 Commits

Author SHA1 Message Date
Ross Sullivan
30b6707135
chore: Moved remaining cargo_exe logic to testsuite 2025-06-25 23:18:08 +09:00
Ross Sullivan
15f755cefd
chore: Created CargoProjectExt extention trait 2025-06-25 23:18:00 +09:00
Ross Sullivan
47312c446d
chore: Moved tools and some cross compiling logic into testsuite 2025-06-24 23:51:39 +09:00
Scott Schafer
ccbe572a74
fix: Make UI tests handle hyperlinks consistently 2025-06-05 21:58:25 -06:00
Arlo Siemsen
5f833db69b feat: Add SBOM pre-cursor files
Adds a new option `build.sbom` that adds generation of a JSON file
containing dependency information alongside compiled artifacts.
2025-02-26 14:57:14 -06:00
Ed Page
34d0bcb3e9 feat(test); Add arg_line support to Execs 2024-12-18 11:56:37 -06:00
Weihang Lo
0921264bc5
test: make path arguments more generic and flexible
So we don't need to `p.to_str().unwrap()`
and are able to pass different types for each argument
2024-12-24 10:33:21 -05:00
Ed Page
8b41a8ecbe feat(test): Provide access to 'RawOutput' from 'Execs::run'
This will allow more custom assertions.
2024-11-18 20:53:50 -06:00
Ed Page
e3065568d0 docs: Focus the summary for API items
This was aided by `clippy::too_long_first_doc_paragraph`
2024-11-15 09:33:23 -06:00
Ed Page
878caf7447 docs: Surround identifiers in backticks
This was mostly done by clippy via `clippy::doc_markdown`.
I then reviewed it to fix words that shouldn't have it or where `--fix`
put the backtick in the wrong location.
2024-11-15 09:33:23 -06:00
Ed Page
af3cfd5abe fix(test): Un-deprecate contains assertions 2024-11-07 15:55:35 -06:00
Ed Page
d20216c302 docs(test): Document Execs assertions based on port effort
A lot of this was pulled from #14039
2024-11-07 15:54:41 -06:00
Ed Page
a03adcf6e2 fix(test): Make redactions consistent with snapbox
I'm unsure how we should be replacing these use cases, so I'm exploring
keeping them but making them use snapbox under the hood.
Part of the intent of snapbox is that it provides you the building
blocks to make what you need.
2024-11-06 20:03:53 -06:00
Ed Page
bfa097e5d5 fix(test)!: Remove unused with_stdout_unordered,with_stderr_unordered 2024-11-05 10:39:30 -06:00
Ed Page
8a8254eb1f refactor(test): Remove dead 'expect_stdout_contains_n' check
This was missed when removing the assert
2024-10-31 15:59:16 -05:00
Weihang Lo
634450e4b6
fix: track version in fingerprint dep-info files
Encodes the version information into Cargo's fingerprint dep-info files,
so that when the format encoding changes in the future,
Cargo understands a dep-info file was outdated and doesn't bother parsing it.

Since there was no version info encoded in the old format (call it v0),
to be compatible with older cargoes,
this PR works around it with a horrible hack.
It is explained in the doc comment of `EncodedDepInfo`.
2024-10-30 18:43:30 -04:00
Jacob Kiesel
cf893c1695
test(freshness_checksum): verify cargo depinfo is properly encoded 2024-10-08 16:30:54 -04:00
Ed Page
01a47f3c4d fix(test): Remove unused, deprecated with_json 2024-10-03 21:15:10 -05:00
Ed Page
5c87c14f9a docs: Declare support level for each crate in our Charter / docs
This is to bring us into conformance with the [Rust crate ownership
policy](https://forge.rust-lang.org/policies/crate-ownership.html).

Items of note
- `cargo-credential-1password` is declared as Experimental as it is
  intended for the community but I was unsure if we wanted to commit to
  full support for it.  In my mind, the ideal thing to do would be to
  expatriate this to 1password.
- `home` is declared as Internal despite its wide use within the
  ecosystem.
- `cargo-credential` is declared as Intentional as its an API intended
  for the wider ecosystem and I didn't see a reason to declare it
  experimental.
- `cargo-platform`, `cargo-util-schemas`, and `crates-io` are declared
  as Intentional as they are both used internally and intended for
  others to use for logic that integrates with cargo/registries.
  I wondered about these being Experimental or Internal instead.
2024-09-26 12:43:09 -05:00
Ed Page
7ab9320664 fix(test): Remove with_stdout/with_stderr 2024-09-23 20:44:41 -05:00
Kornel
f3c7525a61
Tests rely on absence of RUST_BACKTRACE 2024-08-21 23:12:05 +01:00
Ed Page
922cfe5759 fix(test): Remove unused deprecated function 2024-07-24 16:35:11 -05:00
Ed Page
16448d45d7 doc(test): Document 'with_json' replacement 2024-07-24 10:42:51 -05:00
Ed Page
cb528403fa docs(test): Expand docs for ProjectBuilder 2024-07-22 08:58:52 -05:00
Ed Page
45f61ccfa8 docs(test): Expand docs for Project 2024-07-22 08:58:52 -05:00
Ed Page
3dff0ec945 docs(test): Document project* functions 2024-07-22 08:58:52 -05:00
Ed Page
e53f2aff55 docs(test): Document panic_error function 2024-07-22 08:58:52 -05:00
Ed Page
c9dddd27c8 docs(test): Document main_file function 2024-07-22 08:58:52 -05:00
Ed Page
170756601c docs(test): Document 'process' 2024-07-22 08:58:52 -05:00
Ed Page
b4b56d4d65 docs(test): Document basic_*manifest functions 2024-07-22 08:58:52 -05:00
Ed Page
1fe8ae6c3e docs(test): Document Execs
I'm intentionally being light as I want to pull in a lot of "lessons
learned" from the port to snapbox into the docs and want that as a
dedicated PR to make it easier for the contributors to that effort to
review it.
2024-07-22 08:58:52 -05:00
Ed Page
4674f2b84d docs(test): Organize docs for Execs 2024-07-22 08:58:52 -05:00
Ed Page
f42ae4c9c1 docs(test): Pull RawOutput from API
Its not used anywhere
2024-07-22 08:58:52 -05:00
Ed Page
7762d1f98c docs(test): Document cargo_exe 2024-07-22 08:58:52 -05:00
Ed Page
fa0e66e738 docs(test): Document git_process 2024-07-22 08:58:52 -05:00
Ed Page
504d377c8e docs(test): Document cargo_process 2024-07-22 08:58:52 -05:00
Ed Page
86945a211e docs(test): Document t! 2024-07-22 08:58:52 -05:00
Ed Page
ca9fc47fe0 docs(test): Add high level example 2024-07-22 08:58:52 -05:00
Ed Page
8e524ae561 docs(test): Link to two different docs builds 2024-07-22 08:58:52 -05:00
Ed Page
49deefe477 refactor(test): Reuse 'cargo_home' in more cases 2024-07-19 10:54:17 -05:00
bors
dad331c5ba Auto merge of #14269 - epage:test-ext, r=ehuss
fix(test)!: Clarify extension trait role with rename

When browsing the docs, I feel like this will make it easier to tell the role of these traits within the API.
Or in other words, I can easily tell that these fill a support role and for what, so I know when I care to look into them.

We use this naming pattern for
`cargo_test_support::paths::CargoPathExt`.
2024-07-19 15:11:26 +00:00
Ed Page
a49921f829 fix(test)!: Clarify extension trait role with rename
When browsing the docs, I feel like this will make it easier to tell the
role of these traits within the API.
Or in other words, I can easily tell that these fill a support role and
for what, so I know when I care to look into them.

We use this naming pattern for
`cargo_test_support::paths::CargoPathExt`.
2024-07-18 20:52:22 -05:00
Ed Page
879bc9e3c3 feat(test): Re-export ProcessBuilder
Since its tied heavily into the API, this should make it easier to use
and document.
2024-07-18 20:51:43 -05:00
Ed Page
d17322dccb fix(test): Move path2url to CargoPathExt::to_url
I was considering moving this into `paths` and noticed `CargoPathExt`.
I figured if we had any extension traits for `Path`, then this is a
reasonable one to add.
2024-07-18 15:41:26 -05:00
Ed Page
3a615ca9c8 feat(test): Add CargoPathExt to prelude 2024-07-18 15:22:29 -05:00
Ed Page
090064cc14 feat(test): Add cargo_test to test-support prelude 2024-07-12 15:56:22 -05:00
Lawrence Chou
fde1321381
Remove Execs::run_expect_error to avoid #14076 2024-06-16 09:13:24 +08:00
Joe Neeman
ba9dd1ea2e Adds tests for source overlays. 2024-06-10 18:32:22 -05:00
Ed Page
dc5ac62cab fix(test): Deprecate non-snapbox assertions
While this is noisy and hides other deprecations, I figured deprecations would
make it easier for people to discover what tasks remain and allow us to
divide and conquer this work rather than doing a heroic PR.
In theory, this will be short lived and we'll go back to seeing
deprecations in our tests.
2024-06-10 10:20:52 -05:00
Ed Page
ff2ddebc71 feat(test): Allow snapshotting of Execs 2024-06-10 10:20:52 -05:00