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

Side by Side Diff: test/test.sh

Issue 973433003: Initial cut for a development server (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 9 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
« test/dependency_graph_test.dart ('K') | « test/end_to_end_test.dart ('k') | no next file » | 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 # bail on error
3 3
4 function fail { 4 function fail {
5 echo -e "Some tests failed" 5 echo -e "Some tests failed"
6 return 1 6 return 1
7 } 7 }
8 8
9 # Arguments passed to the diff tool. We exclude runtime JS files that are just
10 # copied over from the sources and are not duplicated in the expected folder.
11 DIFF_ARGS="-u -r -N --exclude=dart_runtime.js \
12 --exclude=harmony_feature_check.js expect actual"
13
9 function show_diff { 14 function show_diff {
10 echo "Fail: actual output did not match expected" 15 echo "Fail: actual output did not match expected"
11 echo 16 echo
12 diff -u -r -N $1 $2 |\ 17 diff $DIFF_ARGS |\
13 sed -e "s/^\(+.*\)/\1/" |\ 18 sed -e "s/^\(+.*\)/\1/" |\
14 sed -e "s/^\(-.*\)/\1/" 19 sed -e "s/^\(-.*\)/\1/"
15 echo 20 echo
16 echo "You can update these expectations with:" 21 echo "You can update these expectations with:"
17 echo "$ pushd `pwd` && cp -a actual/* expect && popd" 22 echo "$ pushd `pwd` && cp -a actual/* expect && popd"
18 fail 23 fail
19 } 24 }
20 25
21 # the directory of this script 26 # the directory of this script
22 TEST_DIR=$( cd $( dirname "${BASH_SOURCE[0]}" ) && pwd ) 27 TEST_DIR=$( cd $( dirname "${BASH_SOURCE[0]}" ) && pwd )
23 28
24 # Some tests require being run from the package root 29 # Some tests require being run from the package root
25 cd $TEST_DIR/.. 30 cd $TEST_DIR/..
26 31
27 # Check minimum SDK version 32 # Check minimum SDK version
28 ./tool/sdk_version_check.dart 1.9.0-dev.4.0 || fail 33 ./tool/sdk_version_check.dart 1.9.0-dev.4.0 || fail
29 34
30 # Remove packages symlinks, and old codegen output 35 # Remove packages symlinks, and old codegen output
31 find test/codegen -name packages -exec rm {} \; 36 find test/codegen -name packages -exec rm {} \;
32 rm -r test/codegen/actual 2> /dev/null || true 37 rm -r test/codegen/actual 2> /dev/null || true
33 find test/dart_codegen -name packages -exec rm {} \; 38 find test/dart_codegen -name packages -exec rm {} \;
34 rm -r test/dart_codegen/actual 2> /dev/null || true 39 rm -r test/dart_codegen/actual 2> /dev/null || true
35 dart -c test/all_tests.dart || fail 40 dart -c test/all_tests.dart || fail
36 41
37 # validate codegen_test output 42 # validate codegen_test output
38 pushd test/codegen/ &> /dev/null 43 pushd test/codegen/ &> /dev/null
39 diff -u -r -N expect actual > /dev/null || show_diff expect actual 44 diff $DIFF_ARGS > /dev/null || show_diff
40 popd &> /dev/null 45 popd &> /dev/null
41 46
42 # validate dart_codegen_test output 47 # validate dart_codegen_test output
43 pushd test/dart_codegen/ &> /dev/null 48 pushd test/dart_codegen/ &> /dev/null
44 diff -u -r -N expect actual > /dev/null || show_diff expect actual 49 diff $DIFF_ARGS > /dev/null || show_diff
45 popd &> /dev/null 50 popd &> /dev/null
46 51
47 # run self host and analyzer after other tests, because they're ~seconds to run. 52 # run self host and analyzer after other tests, because they're ~seconds to run.
48 dart -c test/checker/self_host_test.dart || fail 53 dart -c test/checker/self_host_test.dart || fail
49 54
50 # Run analyzer on bin/devc.dart, as it includes most of the code we care about 55 # Run analyzer on bin/devc.dart, as it includes most of the code we care about
51 # via transitive dependencies. This seems to be the only fast way to avoid 56 # via transitive dependencies. This seems to be the only fast way to avoid
52 # repeated analysis of the same code. 57 # repeated analysis of the same code.
53 # TODO(jmesserly): ideally we could do test/all_tests.dart, but 58 # TODO(jmesserly): ideally we could do test/all_tests.dart, but
54 # dart_runtime_test.dart creates invalid generic type instantiation AA. 59 # dart_runtime_test.dart creates invalid generic type instantiation AA.
(...skipping 13 matching lines...) Expand all
68 # * local files that have never been added to git, 73 # * local files that have never been added to git,
69 # * subdirectories of test/ and tool/, unless explicitly added. Those dirs 74 # * subdirectories of test/ and tool/, unless explicitly added. Those dirs
70 # contain a lot of generated or external source we should not reformat. 75 # contain a lot of generated or external source we should not reformat.
71 (files=`git ls-files 'bin/*.dart' 'lib/*.dart' test/*.dart test/checker/*.dart \ 76 (files=`git ls-files 'bin/*.dart' 'lib/*.dart' test/*.dart test/checker/*.dart \
72 tool/*.dart | grep -v lib/src/js/`; git status -s $files | grep -q . \ 77 tool/*.dart | grep -v lib/src/js/`; git status -s $files | grep -q . \
73 && echo "Did not run the formatter, please commit edited files first." \ 78 && echo "Did not run the formatter, please commit edited files first." \
74 || (echo "Running dart formatter" ; pub run dart_style:format -w $files)) 79 || (echo "Running dart formatter" ; pub run dart_style:format -w $files))
75 popd &> /dev/null 80 popd &> /dev/null
76 81
77 echo -e "All tests pass" 82 echo -e "All tests pass"
OLDNEW
« test/dependency_graph_test.dart ('K') | « test/end_to_end_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698