Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Corrected Building.md and added additional content. #60167

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions docs/Building-Dart-SDK-for-ARM-or-RISC-V.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```
8 changes: 2 additions & 6 deletions docs/Building.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,6 @@ Dart analyzer tests example:
--progress color \
--arch x64 \
--mode release \
--report \
--time \
--tasks 6 \
language
Expand All @@ -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
Expand All @@ -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
Expand Down