| #!/bin/bash |
| set -e # bail on error |
| |
| function fail { |
| echo -e "[31mSome tests failed[0m" |
| return 1 |
| } |
| |
| # Some tests require being run from the package root |
| # switch to the root directory of dev_compiler |
| cd $( dirname "${BASH_SOURCE[0]}" )/.. |
| |
| # Check minimum SDK version |
| ./tool/sdk_version_check.dart 1.9.0-dev.4.0 || fail |
| |
| # Delete codegen expectation files to be sure that if a test fails to compile |
| # we don't erroneously pick up the old version. |
| if [ -d test/codegen/expect ]; then |
| rm -r test/codegen/expect || fail |
| fi |
| |
| if [ -d gen/codegen_input ]; then |
| rm -r gen/codegen_input || fail |
| fi |
| |
| if [ -d gen/codegen_output ]; then |
| rm -r gen/codegen_output || fail |
| fi |
| |
| # Build the SDK summary in a place where the tests can find it if it's not |
| # already there. |
| if [ ! -e gen/sdk/ddc_sdk.sum ]; then |
| ./tool/build_sdk.sh |
| fi |
| |
| ./tool/build_pkgs.dart \ |
| --analyzer-sdk=gen/sdk/ddc_sdk.sum \ |
| --output=gen/codegen_output/pkg |
| |
| # Make sure we don't run tests in code coverage mode. |
| # this will cause us to generate files that are not part of the baseline |
| # TODO(jmesserly): we should move diff into Dart code, so we don't need to |
| # worry about this. Also if we're in code coverage mode, we should avoid running |
| # all_tests twice. Finally self_host_test is not currently being tracked by |
| # code coverage. |
| unset COVERALLS_TOKEN |
| dart test/all_tests.dart || fail |
| |
| { |
| fc=`find test -name "*.dart" |\ |
| xargs grep "/\*\S* should be \S*\*/" | wc -l` |
| echo "There are" $fc "tests marked as known failures." |
| } |
| |
| echo -e "[32mAll tests built - run tool/browser_test.sh to run tests[0m" |