Corrected Building.md and added additional content.

Closes https://github.com/dart-lang/sdk/pull/60167

GitOrigin-RevId: 15572be15068c18e0b9787daf7fc2389ae6ee247
Change-Id: I1769a7f24dd38e1f7306372ef480af349aac30e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/410446
Commit-Queue: Slava Egorov <vegorov@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
This commit is contained in:
Mo Luo
2025-02-26 06:10:08 -08:00
committed by Commit Queue
parent 060e154eed
commit 2b96b7eb6c
2 changed files with 25 additions and 6 deletions
@@ -63,3 +63,26 @@ You can create Debian packages targeting ARM or RISC-V as follows:
$ ./tools/linux_dist_support/create_tarball.py
$ ./tools/linux_dist_support/create_debian_packages.py -a {ia32, x64, arm, arm64, riscv64}
```
# Testing
In addition to cross-compiling the Dart SDK, test items can also be cross-compiled. Even without the corresponding hardware, you can quickly verify if the source code modifications you made are correct. Below is a simple method for development on the riscv64 platform for your reference.
Cross-compile the test items on x86_64 Linux to riscv64 and perform correctness check:
1. Follow the steps above to cross-compile the riscv64 sdk.
2. Cross-compile the test items by running: `./tools/build.py --mode release --arch riscv64 most run_ffi_unit_tests`.
3. Install the necessary QEMU dependencies: `sudo apt install qemu-user qemu-user-static qemu-system`.
4. Run the test items, e.g., `tests/lib`:
```bash
export QEMU_LD_PREFIX=/usr/riscv64-linux-gnu
./tools/test.py \
--runtime vm \
--progress color \
--arch riscv64 \
--mode release \
--time \
--tasks 8 \
lib
```
+2 -6
View File
@@ -189,7 +189,6 @@ Dart analyzer tests example:
--progress color \
--arch x64 \
--mode release \
--report \
--time \
--tasks 6 \
language
@@ -198,13 +197,10 @@ Dart analyzer tests example:
VM tests example:
```bash
./tools/test.py \
--compiler none \
--runtime vm \
--progress color \
--arch x64 \
--mode release \
--checked \
--report \
--time \
--tasks 6 \
language
@@ -218,13 +214,13 @@ Dart2JS example:
--progress color \
--arch x64 \
--mode release \
--checked \
--report \
--time \
--tasks 6 \
language
```
In the above examples: `--progress` is used to style the progress bar in terminal; `--time` is used to print time information; `--tasks` is used to set the number of parallel tasks; you can use `. /tools/test.py --help` for more details.
## Troubleshooting and tips for browser tests
To debug a browser test failure, you must start a local http server to serve the test. This is made easy with a helper script in dart/tools/testing. The error report from test.py gives the command line to start the server in a message that reads:
```bash