rust/src
Matthias Krüger 8904ff135f
Rollup merge of #146762 - madsmtm:test-apple-sim, r=jieyouxu
Fix and provide instructions for running test suite on Apple simulators

The following now works:

```sh
./x test --host='' --target aarch64-apple-ios-sim --skip tests/debuginfo
./x test --host='' --target aarch64-apple-tvos-sim --skip tests/debuginfo
./x test --host='' --target aarch64-apple-watchos-sim --skip tests/debuginfo
./x test --host='' --target aarch64-apple-visionos-sim --skip tests/debuginfo
```

I have documented the setup I used [in the `rustc-dev-guide`](https://rustc-dev-guide.rust-lang.org/tests/running.html#testing-on-emulators), it's fairly standard use of `remote-test-server` (with a small fix to library load paths which I've made in the first commit).

I first tried the somewhat simpler `target.aarch64-apple-ios-sim.runner = "xcrun simctl spawn $UDID"`, but that doesn't work as required libraries etc. also need to be copied to the device.

The debuginfo tests fail, I think because the debug info in `.dSYM` isn't available. I am yet unsure exactly how to fix this, either we need to copy that directory to the target as well, or we need to configure `lldb` somehow to read it from the host.

I decided to not add this to our CI, since I suspect we wouldn't gain much from it? Running on the simulator still uses the host Darwin kernel, it's basically just configured to run in another mode with more restricted permissions and different system libraries.

r? jieyouxu
CC ``@simlay,`` you're a lot more familiar with `xcrun simctl` than I.
2025-09-20 17:55:04 +02:00
..
bootstrap Auto merge of #146771 - Kobzol:download-ci-llvm-default-value, r=jieyouxu 2025-09-20 08:04:38 +00:00
build_helper Fix some minor issues in comments 2025-08-24 16:58:22 +08:00
ci Update the minimum external LLVM to 20 2025-09-16 11:49:20 -07:00
doc Document how to test with iOS/tvOS/watchOS/visionOS simulator 2025-09-19 13:55:02 +02:00
etc htmldocck: fix a bug in relative paths / globs 2025-09-03 09:09:18 -07:00
gcc@4e995bd73c Update GCC submodule 2025-08-26 18:09:42 +02:00
librustdoc Rollup merge of #146484 - notriddle:stringdex-js-opt, r=GuillaumeGomez 2025-09-19 22:31:50 +10:00
llvm-project@333793696b Update to LLVM 21.1.1 2025-09-10 10:24:07 +02:00
rustc-std-workspace update rustc-std-workspace crates 2024-11-04 07:45:15 +01:00
rustdoc-json-types Add new doc(attribute = "...") attribute 2025-08-28 15:56:29 +02:00
tools Rollup merge of #146762 - madsmtm:test-apple-sim, r=jieyouxu 2025-09-20 17:55:04 +02:00
README.md
stage0 Bump stage0 rustfmt 2025-09-05 20:20:09 +02:00
version Bump version to 1.92.0 2025-09-13 10:09:15 -04:00

This directory contains some source code for the Rust project, including:

  • The bootstrapping build system
  • Various submodules for tools, like cargo, tidy, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.