Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(175)

Side by Side Diff: test/test.sh

Issue 1042863004: tweaks to build/test scripts (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « .travis.yml ('k') | tool/coverage.sh » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 set -e # bail on error 2 set -e
3 3 echo warning: this script has been renamed to ./tool/presubmit.sh
4 function fail { 4 $(dirname "${BASH_SOURCE[0]}")/../tool/presubmit.sh
5 echo -e "Some tests failed"
6 return 1
7 }
8
9 # Arguments passed to the diff tool. We exclude:
10 # - *.map files so they aren't compared, as the diff is not human readable.
11 # - runtime JS files that are just copied over from the sources and are not
12 # duplicated in the expected folder.
13 DIFF_ARGS="-u -r -N --exclude=\*.map expect actual"
14
15 function show_diff {
16 echo "Fail: actual output did not match expected"
17 echo
18 diff $DIFF_ARGS |\
19 sed -e "s/^\(+.*\)/\1/" |\
20 sed -e "s/^\(-.*\)/\1/"
21 echo
22 echo "You can update these expectations with:"
23 echo "$ pushd `pwd` && cp -a actual/* expect && popd"
24 fail
25 }
26
27 # the directory of this script
28 TEST_DIR=$( cd $( dirname "${BASH_SOURCE[0]}" ) && pwd )
29
30 # Some tests require being run from the package root
31 cd $TEST_DIR/..
32
33 # Check minimum SDK version
34 ./tool/sdk_version_check.dart 1.9.0-dev.4.0 || fail
35
36 ./tool/build_sdk.sh
37
38 dart -c test/all_tests.dart || fail
39
40 # validate codegen_test output
41 pushd test/codegen/ &> /dev/null
42 rm -r actual/dev_compiler/ actual/server_mode/dev_compiler/ \
43 actual/sunflower/dev_compiler
44 diff $DIFF_ARGS > /dev/null || show_diff
45 popd &> /dev/null
46
47 # validate dart_codegen_test output
48 pushd test/dart_codegen/ &> /dev/null
49 diff $DIFF_ARGS > /dev/null || show_diff
50 popd &> /dev/null
51
52 # run self host and analyzer after other tests, because they're ~seconds to run.
53 dart -c test/checker/self_host_test.dart || fail
54
55 # Run analyzer on bin/devc.dart, as it includes most of the code we care about
56 # via transitive dependencies. This seems to be the only fast way to avoid
57 # repeated analysis of the same code.
58 # TODO(jmesserly): ideally we could do test/all_tests.dart, but
59 # dart_runtime_test.dart creates invalid generic type instantiation AA.
60 echo "Running dartanalyzer to check for errors/warnings/hints..."
61 dartanalyzer --fatal-warnings --package-warnings bin/devc.dart | (! grep $PWD) \
62 || fail
63
64 {
65 fc=`find test -name "*.dart" |\
66 xargs grep "/\*\S* should be \S*\*/" | wc -l`
67 echo "There are" $fc "tests marked as known failures."
68 }
69
70 # Run formatter in rewrite mode on all files that are part of the project.
71 # This checks that all files are commited first to git, so no state is lost.
72 # The formatter ignores:
73 # * local files that have never been added to git,
74 # * subdirectories of test/ and tool/, unless explicitly added. Those dirs
75 # contain a lot of generated or external source we should not reformat.
76 (files=`git ls-files 'bin/*.dart' 'lib/*.dart' test/*.dart test/checker/*.dart \
77 tool/*.dart | grep -v lib/src/js/`; git status -s $files | grep -q . \
78 && echo "Did not run the formatter, please commit edited files first." \
79 || (echo "Running dart formatter" ; pub run dart_style:format -w $files))
80 popd &> /dev/null
81
82 echo -e "All tests pass"
OLDNEW
« no previous file with comments | « .travis.yml ('k') | tool/coverage.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698