Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <!-- | 1 <!-- |
| 2 Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 2 Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
| 3 for details. All rights reserved. Use of this source code is governed by a | 3 for details. All rights reserved. Use of this source code is governed by a |
| 4 BSD-style license that can be found in the LICENSE file. | 4 BSD-style license that can be found in the LICENSE file. |
| 5 --> | 5 --> |
| 6 # How to test Fasta | 6 # How to test Fasta |
| 7 | 7 |
| 8 When changing Fasta, your changes can affect dart2js or the VM, so you may need | 8 When changing Fasta, your changes can affect dart2js or the VM, so you may need |
| 9 to test them. | 9 to test them. |
| 10 | 10 |
| 11 Most of the tests below use a 32-bit build because the test runs significantly f aster. | |
|
ahe
2017/03/15 14:58:51
Should we include the command line for building? I
Paul Berry
2017/03/15 17:24:09
I actually think we're ok with what we've got. Fo
ahe
2017/03/16 08:39:27
Good point.
| |
| 12 | |
| 11 <!-- TODO(ahe): Soon, also the analyzer. --> | 13 <!-- TODO(ahe): Soon, also the analyzer. --> |
| 12 | 14 |
| 13 ## Test package:front_end and package:analyzer. | 15 ## Test package:front_end and package:analyzer. |
| 14 | 16 |
| 15 The absolutely bare minimum of testing is the basic unit tests: | 17 The absolutely bare minimum of testing is the basic unit tests: |
| 16 | 18 |
| 17 ``` | 19 ``` |
| 18 ./tools/test.py -mrelease 'pkg/front_end|*fasta*' --checked --time -pcolor --rep ort --failure-summary | 20 ./tools/test.py -mrelease 'pkg/front_end|*fasta*' --checked --time -pcolor --rep ort --failure-summary -aia32 |
| 19 ``` | 21 ``` |
| 20 | 22 |
| 21 ## Testing dart2js | 23 ## Testing dart2js |
| 22 | 24 |
| 23 If you're making changes to dart2js, it most likely involves the scanner or pars er (at least for now). In that case, you should run dart2js' unit tests (the tes t suite called dart2js) as well as language and co19. | 25 If you're making changes to dart2js, it most likely involves the scanner or pars er (at least for now). In that case, you should run dart2js' unit tests (the tes t suite called dart2js) as well as language and co19. |
| 24 | 26 |
| 25 ``` | 27 ``` |
| 26 # Unit tests for dart2js | 28 # Unit tests for dart2js |
| 27 ./tools/test.py --dart2js-batch --time -pcolor --report --failure-summary -ax64 -mrelease --checked dart2js | 29 ./tools/test.py --dart2js-batch --time -pcolor --report --failure-summary -aia32 -mrelease --checked dart2js |
| 28 | 30 |
| 29 # Language and co19, dart2js. | 31 # Language and co19, dart2js. |
| 30 ./tools/test.py --dart2js-batch --time -pcolor --report --failure-summary -ax64 -mrelease -cdart2js -rd8 language co19 | 32 ./tools/test.py --dart2js-batch --time -pcolor --report --failure-summary -aia32 -mrelease -cdart2js -rd8 language co19 |
| 31 ``` | 33 ``` |
| 32 | 34 |
| 33 ## Testing the Dart VM | 35 ## Testing the Dart VM |
| 34 | 36 |
| 35 If you're making changes that affect Kernel output, for example, BodyBuilder.dar t, you probably also need to test on the VM: | 37 If you're making changes that affect Kernel output, for example, BodyBuilder.dar t, you probably also need to test on the VM: |
| 36 | 38 |
| 39 Note that this test requires a 64-bit build because app-jit snapshot does not wo rk for ia32. | |
| 40 | |
| 37 ``` | 41 ``` |
| 38 # Language, co19, kernel, for VM using Fasta. | 42 # Language, co19, kernel, for VM using Fasta. |
| 39 ./tools/build.py -mrelease runtime_kernel && ./tools/test.py -mrelease -cdartk c o19 language kernel --time -pcolor --report --failure-summary -j16 | 43 ./tools/build.py -mrelease runtime_kernel && ./tools/test.py -mrelease -cdartk c o19 language kernel --time -pcolor --report --failure-summary -j16 |
| 40 ``` | 44 ``` |
| 41 | 45 |
| 42 | 46 |
| 43 Notice that the option is -cdartk, but it is actually Fasta. Not dartk. | 47 Notice that the option is -cdartk, but it is actually Fasta. Not dartk. |
| 44 | 48 |
| 45 If you're running on a Mac, it's important that you use the -j option with test. py. It defaults to the number of cores on your machine (including hyper-threads) , and for Linux that works fine. But Macs don't seem to be able to run as many p rocesses in parallel. On a Mac Pro with 24 threads, using -j16 seems optimal. | 49 If you're running on a Mac, it's important that you use the -j option with test. py. It defaults to the number of cores on your machine (including hyper-threads) , and for Linux that works fine. But Macs don't seem to be able to run as many p rocesses in parallel. On a Mac Pro with 24 threads, using -j16 seems optimal. |
| OLD | NEW |