diff options
author | Olivier Blanvillain <olivier.blanvillain@gmail.com> | 2017-02-10 14:38:54 +0100 |
---|---|---|
committer | Olivier Blanvillain <olivier.blanvillain@gmail.com> | 2017-02-10 15:03:34 +0100 |
commit | ec1011a8d8861f7b4aefe9439288cb8b90b6c4bc (patch) | |
tree | fc4af7041ea8476535a8aa99d25a86517094c474 /bin | |
parent | c568fbda0659e74daa4394c4f92071ec52a06b58 (diff) | |
download | dotty-ec1011a8d8861f7b4aefe9439288cb8b90b6c4bc.tar.gz dotty-ec1011a8d8861f7b4aefe9439288cb8b90b6c4bc.tar.bz2 dotty-ec1011a8d8861f7b4aefe9439288cb8b90b6c4bc.zip |
Fix dotr/dotc to handle corrupted .packages
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/common | 3 | ||||
-rw-r--r-- | bin/test/TestScripts.scala | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/bin/common b/bin/common index 5b1dd177f..0a084c8a6 100755 --- a/bin/common +++ b/bin/common @@ -122,7 +122,8 @@ function check_jar { # Usage: # check_jar "name" "path/to/package.jar" "sources/dir" 'lambda to exec on failure' local new_files="$(find "$DOTTY_ROOT/$3" \( -iname "*.scala" -o -iname "*.java" \) -newer "$2")" - if [ ! -z "$new_files" ]; then + # If the find failed, or if it found new files... + if [ "$?" -ne 0 ] || [ ! -z "$new_files" ]; then printf "New files detected in $1, rebuilding..." rm "$2" eval "$4" diff --git a/bin/test/TestScripts.scala b/bin/test/TestScripts.scala index 025ee7c90..58fecac3c 100644 --- a/bin/test/TestScripts.scala +++ b/bin/test/TestScripts.scala @@ -91,9 +91,9 @@ class TestScripts { s"Project recompiled when it didn't need to be. Status $ret, output:$lineSep$output") } - /** dotc script should work after deleting .packages */ + /** dotc script should work after corrupting .packages */ @Test def reCreatesPackagesIfNecessary = doUnlessWindows { - delete("./.packages") + executeScript("sed -i.old 's/2.1/2.X/' ./.packages") // That's going to replace 2.11 with 2.X1 val (retFirstBuild, _) = executeScript("./bin/dotc ./tests/pos/HelloWorld.scala") assert(retFirstBuild == 0, "building dotc failed") } |