17755 Commits

Author SHA1 Message Date
Lawrence Chou
fde1321381
Remove Execs::run_expect_error to avoid #14076 2024-06-16 09:13:24 +08:00
Lawrence Chou
afe9d17258
Reproduce #14076
The `with_stderr_contains()` (as well as the new `with_stderr_data()` too, see #14060) has no effect when using with `run_expect_error()`.
2024-06-16 09:13:09 +08:00
bors
ea16f96033 Auto merge of #14060 - choznerol:issue-14039-snapshot-port-help, r=weihanglo
test: migrate help to snapbox
2024-06-15 21:25:49 +00:00
bors
0feff3d02b Auto merge of #14079 - dieterplex:snapboxport4co, r=weihanglo
test: Migrate tests/testsuite/co*.rs to snapbox

Migrating files:

- tests/testsuite/collisions.rs
  - `with_stderr_does_not_contain` in test `collision_doc_host_target_feature_split`
- tests/testsuite/concurrent.rs
- tests/testsuite/config.rs
- tests/testsuite/config_cli.rs
- tests/testsuite/config_include.rs
- tests/testsuite/corrupt_git.rs

Testing with command `SNAPSHOTS=overwrite cargo test collisions::` or so.

Part of #14039
2024-06-15 20:45:17 +00:00
d1t2
bd451d0ac0 test: Migrate tests/testsuite/co*.rs to snapbox
Part of #14039
2024-06-15 17:45:21 +00:00
Lawrence Chou
8db30bc4bd
Use snapshot generated by SNAPSHOTS=overwrite cargo test 2024-06-15 22:43:11 +08:00
bors
6a43035d05 Auto merge of #14075 - ChrisDenton:absolute, r=weihanglo
Use `std::fs::absolute` instead of reimplementing it

[`std::fs::absolute`](https://doc.rust-lang.org/std/path/fn.absolute.html) was stabilize in Rust 1.79 and so Cargo no longer needs its own implementation.
2024-06-15 12:56:07 +00:00
Lawrence Chou
e5e9f2f7c5
Remove [..] and mention #14076 caveat 2024-06-15 15:32:18 +08:00
Lawrence Chou
eef057ea0f
Dedup with cargo_search::help::case (https://github.com/rust-lang/cargo/pull/14060#discussion_r1638479136) 2024-06-15 15:02:37 +08:00
Lawrence Chou
3fd3879bc8
Dedup with cargo::z_help::case (https://github.com/rust-lang/cargo/pull/14060#discussion_r1638481972)
# Conflicts:
#	tests/testsuite/help.rs
2024-06-15 15:02:34 +08:00
Lawrence Chou
3a95c7846d
Revert "Tmp commit prior to SNAPSHOTS=overwrite cargo t --test testsuite help::"
This reverts commit cbaa4a89e60507366401ac0076d652f5eafc4998.
2024-06-15 15:02:14 +08:00
Lawrence Chou
715cba9189
Tmp commit prior to SNAPSHOTS=overwrite cargo t --test testsuite help::
# Conflicts:
#	tests/testsuite/help.rs
2024-06-15 15:02:13 +08:00
Chris Denton
306018ddcc
Use std::fs::absolute 2024-06-15 03:44:09 +00:00
bors
a1f47ec3f7 Auto merge of #14074 - tweag:verification-order, r=epage
Change verification order during packaging.

Once we support packaging workspaces with dependencies, dependency packages need to be built before anything is verified. In addition to a little refactoring, this commit reorders the console messages so that package metadata (archive size, etc.) is reported before verification results.

As [suggested](ecba15ca99 (r1640182916)) on #13947  this, splits out the first commit (which has a lot of test output churn) as a separate PR.
2024-06-15 01:10:07 +00:00
Joe Neeman
c0287bec8d Change verification order during packaging.
Once we support packaging workspaces with dependencies, dependency
packages need to be built before anything is verified. In addition to a
little refactoring, this commit reorders the console messages so that
package metadata (archive size, etc.) is reported before verification
results.

Co-Authored-By: Tor Hovland <55164+torhovland@users.noreply.github.com>
2024-06-14 15:15:03 -05:00
bors
d990adb208 Auto merge of #14067 - ehuss:update-git2, r=epage
Update git2 for libgit2 1.8.1

Updates git2 to pull in libgit2 1.8.1 (from 1.7.2).
libgit2 1.8.0: https://github.com/libgit2/libgit2/releases/tag/v1.8.0
libgit2 1.8.1: https://github.com/libgit2/libgit2/releases/tag/v1.8.1
git2: https://github.com/rust-lang/git2-rs/blob/master/CHANGELOG.md#0190---2024-06-13
libgit2-sys: https://github.com/rust-lang/git2-rs/blob/master/libgit2-sys/CHANGELOG.md#0170181---2024-06-13
2024-06-14 01:04:39 +00:00
Eric Huss
eadde99fe7 Update git2 for libgit2 1.8.1 2024-06-13 17:39:37 -07:00
bors
05e61b222a Auto merge of #14066 - ehuss:spelling, r=weihanglo
Fix some documentation misspellings

This is a repost of #13903 with a few other fixes.
2024-06-13 23:53:04 +00:00
Eric Huss
c65b7b2376 Fix some documentation misspellings 2024-06-13 16:48:47 -07:00
bors
9eee3fb1a6 Auto merge of #14063 - rust-lang:renovate/msrv, r=epage
chore(deps): update msrv (1 version) to v1.79

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [MSRV:1](https://togithub.com/rust-lang/rust) | minor | `1.78` -> `1.79` |

---

### Release Notes

<details>
<summary>rust-lang/rust (MSRV:1)</summary>

### [`v1.79`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1790-2024-06-13)

[Compare Source](https://togithub.com/rust-lang/rust/compare/1.78.0...1.79.0)

\==========================

<a id="1.79.0-Language"></a>

## Language

-   [Stabilize inline `const {}` expressions.](https://togithub.com/rust-lang/rust/pull/104087/)
-   [Prevent opaque types being instantiated twice with different regions within the same function.](https://togithub.com/rust-lang/rust/pull/116935/)
-   [Stabilize WebAssembly target features that are in phase 4 and 5.](https://togithub.com/rust-lang/rust/pull/117457/)
-   [Add the `redundant_lifetimes` lint to detect lifetimes which are semantically redundant.](https://togithub.com/rust-lang/rust/pull/118391/)
-   [Stabilize the `unnameable_types` lint for public types that can't be named.](https://togithub.com/rust-lang/rust/pull/120144/)
-   [Enable debuginfo in macros, and stabilize `-C collapse-macro-debuginfo` and `#[collapse_debuginfo]`.](https://togithub.com/rust-lang/rust/pull/120845/)
-   [Propagate temporary lifetime extension into `if` and `match` expressions.](https://togithub.com/rust-lang/rust/pull/121346/)
-   [Restrict promotion of `const fn` calls.](https://togithub.com/rust-lang/rust/pull/121557/)
-   [Warn against refining impls of crate-private traits with `refining_impl_trait` lint.](https://togithub.com/rust-lang/rust/pull/121720/)
-   [Stabilize associated type bounds (RFC 2289).](https://togithub.com/rust-lang/rust/pull/122055/)
-   [Stabilize importing `main` from other modules or crates.](https://togithub.com/rust-lang/rust/pull/122060/)
-   [Check return types of function types for well-formedness](https://togithub.com/rust-lang/rust/pull/115538)
-   [Rework `impl Trait` lifetime inference](https://togithub.com/rust-lang/rust/pull/116891/)
-   [Change inductive trait solver cycles to be ambiguous](https://togithub.com/rust-lang/rust/pull/122791)

<a id="1.79.0-Compiler"></a>

## Compiler

-   [Define `-C strip` to only affect binaries, not artifacts like `.pdb`.](https://togithub.com/rust-lang/rust/pull/115120/)
-   [Stabilize `-Crelro-level` for controlling runtime link hardening.](https://togithub.com/rust-lang/rust/pull/121694/)
-   [Stabilize checking of `cfg` names and values at compile-time with `--check-cfg`.](https://togithub.com/rust-lang/rust/pull/123501/)
    *Note that this only stabilizes the compiler part, the Cargo part is still unstable in this release.*
-   [Add `aarch64-apple-visionos` and `aarch64-apple-visionos-sim` tier 3 targets.](https://togithub.com/rust-lang/rust/pull/121419/)
-   [Add `riscv32ima-unknown-none-elf` tier 3 target.](https://togithub.com/rust-lang/rust/pull/122696/)
-   [Promote several Windows targets to tier 2](https://togithub.com/rust-lang/rust/pull/121712): `aarch64-pc-windows-gnullvm`, `i686-pc-windows-gnullvm`, and `x86_64-pc-windows-gnullvm`.

Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.

<a id="1.79.0-Libraries"></a>

## Libraries

-   [Implement `FromIterator` for `(impl Default + Extend, impl Default + Extend)`.](https://togithub.com/rust-lang/rust/pull/107462/)
-   [Implement `{Div,Rem}Assign<NonZero<X>>` on `X`.](https://togithub.com/rust-lang/rust/pull/121952/)
-   [Document overrides of `clone_from()` in core/std.](https://togithub.com/rust-lang/rust/pull/122201/)
-   [Link MSVC default lib in core.](https://togithub.com/rust-lang/rust/pull/122268/)
-   [Caution against using `transmute` between pointers and integers.](https://togithub.com/rust-lang/rust/pull/122379/)
-   [Enable frame pointers for the standard library.](https://togithub.com/rust-lang/rust/pull/122646/)

<a id="1.79.0-Stabilized-APIs"></a>

## Stabilized APIs

-   [`{integer}::unchecked_add`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_add)
-   [`{integer}::unchecked_mul`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_mul)
-   [`{integer}::unchecked_sub`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_sub)
-   [`<[T]>::split_at_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_unchecked)
-   [`<[T]>::split_at_mut_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_unchecked)
-   [`<[u8]>::utf8_chunks`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.utf8\_chunks)
-   [`str::Utf8Chunks`](https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunks.html)
-   [`str::Utf8Chunk`](https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunk.html)
-   [`<*const T>::is_aligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned)
-   [`<*mut T>::is_aligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned-1)
-   [`NonNull::is_aligned`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_aligned)
-   [`<*const [T]>::len`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len)
-   [`<*mut [T]>::len`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len-1)
-   [`<*const [T]>::is_empty`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty)
-   [`<*mut [T]>::is_empty`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty-1)
-   [`NonNull::<[T]>::is_empty`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_empty)
-   [`CStr::count_bytes`](https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.count_bytes)
-   [`io::Error::downcast`](https://doc.rust-lang.org/stable/std/io/struct.Error.html#method.downcast)
-   [`num::NonZero<T>`](https://doc.rust-lang.org/stable/core/num/struct.NonZero.html)
-   [`path::absolute`](https://doc.rust-lang.org/stable/std/path/fn.absolute.html)
-   [`proc_macro::Literal::byte_character`](https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.byte_character)
-   [`proc_macro::Literal::c_string`](https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.c_string)

These APIs are now stable in const contexts:

-   [`Atomic*::into_inner`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.into_inner)
-   [`io::Cursor::new`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.new)
-   [`io::Cursor::get_ref`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_ref)
-   [`io::Cursor::position`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.position)
-   [`io::empty`](https://doc.rust-lang.org/stable/std/io/fn.empty.html)
-   [`io::repeat`](https://doc.rust-lang.org/stable/std/io/fn.repeat.html)
-   [`io::sink`](https://doc.rust-lang.org/stable/std/io/fn.sink.html)
-   [`panic::Location::caller`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.caller)
-   [`panic::Location::file`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.file)
-   [`panic::Location::line`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.line)
-   [`panic::Location::column`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.column)

<a id="1.79.0-Cargo"></a>

## Cargo

-   [Prevent dashes in `lib.name`, always normalizing to `_`.](https://togithub.com/rust-lang/cargo/pull/12783/)
-   [Stabilize MSRV-aware version requirement selection in `cargo add`.](https://togithub.com/rust-lang/cargo/pull/13608/)
-   [Switch to using `gitoxide` by default for listing files.](https://togithub.com/rust-lang/cargo/pull/13696/)
-   [Error on `[project]` in Edition 2024; `cargo fix --edition` will change it to `[package]`.](https://togithub.com/rust-lang/cargo/pull/13747/)

<a id="1.79.0-Rustdoc"></a>

## Rustdoc

-   [Always display stability version even if it's the same as the containing item.](https://togithub.com/rust-lang/rust/pull/118441/)
-   [Show a single search result for items with multiple paths.](https://togithub.com/rust-lang/rust/pull/119912/)
-   [Support typing `/` in docs to begin a search.](https://togithub.com/rust-lang/rust/pull/123355/)

<a id="1.79.0-Misc"></a>

## Misc

<a id="1.79.0-Compatibility-Notes"></a>

## Compatibility Notes

-   [Update the minimum external LLVM to 17.](https://togithub.com/rust-lang/rust/pull/122649/)
-   [`RustcEncodable` and `RustcDecodable` are soft-destabilized, to be removed
    from the prelude in next edition.](https://togithub.com/rust-lang/rust/pull/116016/)
-   [The `wasm_c_abi` future-incompatibility lint will warn about use of the
    non-spec-compliant C ABI.](https://togithub.com/rust-lang/rust/pull/117918/)
    Use `wasm-bindgen v0.2.88` to generate forward-compatible bindings.
-   [Check return types of function types for well-formedness](https://togithub.com/rust-lang/rust/pull/115538)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "* * * * *" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2024-06-13 22:03:44 +00:00
bors
35a436a60f Auto merge of #14064 - epage:artifact, r=weihanglo
test: Redact conditional compile-fail warning

I got a CI failure because the following line showed up:
```
[WARNING] build failed, waiting for other jobs to finish...
```
I'm assumin this is a race condition in the test for whether the successful target completed before the error or not.

Before snapbox, we used a `contains` check which didn't have this problem.  I'm replacing this with a `...` multi-line (0+) glob.
2024-06-13 21:14:23 +00:00
Ed Page
7d9e9e12f0 test: Redact conditional compile-fail warning
I got a CI failure because the following line showed up:
```
[WARNING] build failed, waiting for other jobs to finish...
```
I'm assumin this is a race condition in the test for whether the
successful target completed before the error or not.

Before snapbox, we used a `contains` check which didn't have this
problem.  I'm replacing this with a `...` multi-line (0+) glob.
2024-06-13 15:28:06 -05:00
bors
0d7c7b82ef Auto merge of #14048 - Muscraft:move-to-snapbox, r=epage
Migrate a few test files to snapbox

This migrates the following files to `snapbox`
- `artifact_dep`
  - Has a few `does_not_contain`
- `artifact_dir`
- `bad_config`
- `bad_manifest_path`
  - Does not use `str!` for all tests
- `bench`

Note: This also adds auto-redactions for:
- `[HOST_TARGET]`
- `[ALT_TARGET]`
  - Only added if cross-compilation is allowed for the target
- `[AVG_ELAPSED]`
  - For `bench` output
- `[JITTER]`
  - For `bench` output

Part of #14039
2024-06-13 19:31:50 +00:00
Ed Page
b07e87656f chore: Bump version for internal crates 2024-06-13 13:38:32 -05:00
bors
a458756c00 Auto merge of #14052 - epage:triage, r=weihanglo
docs(contrib): Improve triage instructions

### What does this PR try to resolve?

`@torhovland` brought up some confusions they had when looking at our triage instructions and this attempts to fix them.

### How should we test and review this PR?

### Additional information
2024-06-13 18:23:30 +00:00
Ed Page
390accfbda docs(contrib): Clarify that S- label switching is 'atomic' 2024-06-13 12:47:55 -05:00
bors
1cbcb4f4fd Auto merge of #14062 - epage:semver, r=weihanglo
chore(ci): Upgrade cargo-semver-checks

This should work with the new rustdoc json output

e.g. see CI failure in #14061
2024-06-13 17:27:54 +00:00
renovate[bot]
a018e3a946
chore(deps): update msrv (1 version) to v1.79 2024-06-13 17:27:19 +00:00
bors
ebb6a36471 Auto merge of #14061 - weihanglo:revert-13630, r=epage
Revert #13630 as rustc ignores `-C strip` on MSVC

This reverts commit fa619a9d16ca0d4dc58431808c08b7c1fee72bfa, reversing changes made to 1f6857dcfbe84ce3e8edd26f861ee8bae0c5da2b.

See also <https://github.com/rust-lang/rust/pull/115120>.
2024-06-13 16:54:35 +00:00
Ed Page
2bd147f62a chore(ci): Upgrade cargo-semver-checks
This should work with the new rustdoc json output
2024-06-13 11:46:41 -05:00
Weihang Lo
4f002a5f46
Revert "Auto merge of #13630 - Kobzol:msvc-disable-release-strip, r=weihanglo"
This reverts commit fa619a9d16ca0d4dc58431808c08b7c1fee72bfa, reversing
changes made to 1f6857dcfbe84ce3e8edd26f861ee8bae0c5da2b.

See also <https://github.com/rust-lang/rust/pull/115120>
2024-06-13 12:21:13 -04:00
Lawrence Chou
7c28d80d37
test: migrate help to snapbox 2024-06-13 23:37:23 +08:00
bors
5f0294b15a Auto merge of #14051 - henry40408:issue-14039-shell-quoting, r=weihanglo
test: migrate features_are_quoted to snapbox

### What does this PR try to resolve?

Part of https://github.com/rust-lang/cargo/issues/14039.

Migrate `tests/testsuite/shell_quoting.rs` to snapbox.

### How should we test and review this PR?

N/A

### Additional information

N/A
2024-06-13 13:35:11 +00:00
Heng-Yi Wu
3a19de7638
refactor: apply suggestions from code review
Co-authored-by: Weihang Lo <weihanglo@users.noreply.github.com>
2024-06-13 20:09:35 +08:00
bors
00ea165442 Auto merge of #14054 - Muscraft:add-assert-redactions, r=epage
Add assert redactions

This was split out from #14048 so that the test changes in that PR do not block the redactions.

This adds auto-redactions for:
- A new `[HASH]` for `/<file>-<16 char hash>`
- `[HOST_TARGET]`
- `[ALT_TARGET]`
  - Only added if cross-compilation is allowed for the target
- `[AVG_ELAPSED]`
  - For `bench` output
- `[JITTER]`
  - For `bench` output

This also moves all common redactions to a function that `assert_e2e` and `assert_ui` call to reduce the amount of duplicate code and makes it so we only compile regex redactions once.
2024-06-12 19:57:23 +00:00
Scott Schafer
d0804f833c
test: Resolve bench deprecations 2024-06-12 13:31:55 -06:00
Scott Schafer
90e23a233b
test: Resolve bad_manifest_path deprecations 2024-06-12 13:31:55 -06:00
Scott Schafer
eff4b74da3
test: Resolve bad_config deprecations 2024-06-12 13:31:55 -06:00
Scott Schafer
6d6c9ac65b
test: Resolve artifact_dir deprecations 2024-06-12 13:31:55 -06:00
Scott Schafer
b08fb91f23
test: Resolve artifact_dep deprecations 2024-06-12 13:31:55 -06:00
Scott Schafer
190ef86d06
test: Auto-redact file hash 2024-06-12 13:27:08 -06:00
Scott Schafer
875a25fba7
test: Auto-redact exit status 2024-06-12 13:27:08 -06:00
Scott Schafer
02459b707f
test: Auto-redact bench timing results 2024-06-12 13:27:08 -06:00
Scott Schafer
6a7b15a61e
test: Auto-redact host target and alt target 2024-06-12 13:27:08 -06:00
Scott Schafer
d7de93777d
test: Only compile regex replacements once 2024-06-12 13:26:54 -06:00
bors
c13a39472a Auto merge of #14044 - heisen-li:build_script_env, r=epage
test: migrate build_script_env to snapbox

### What does this PR try to resolve?

part of https://github.com/rust-lang/cargo/issues/14039.
2024-06-12 16:44:49 +00:00
Scott Schafer
6914c2958f
test: Merge common redactions 2024-06-12 09:28:24 -06:00
Ed Page
d3184540b7 docs(contrib): Clarify steps for S-needs-rfc 2024-06-12 10:05:14 -05:00
Ed Page
2dc4a8e6f3 docs(contrib): Re-order labels according to stages 2024-06-12 10:03:37 -05:00
bors
30e5580d95 Auto merge of #14047 - epage:breaking, r=weihanglo
docs: Iterate on --breaking docs

This is a follow up to #13979 to try to clarify things in prep for users testing this.
2024-06-12 14:59:42 +00:00