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:
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user