Home | History | Annotate | Download | only in robolectric-shadows
      1 #!/bin/bash
      2 #
      3 # This script lists the tests which are failing in the output of Robolectric
      4 # tests.
      5 # TODO: Remove this script and move the functionality into a custom JUnit runner.
      6 
      7 # Matches the line specifying which test has failed and matches the test name
      8 # and class name as the first and second matching group, respectively.
      9 readonly FAILED_TEST_RE='^[1-9][0-9]*)\s\(\w\+\)(\(\(\w\|.\)\+\))$'
     10 
     11 # Fails with a message.
     12 function fatal() {
     13   echo 1>&2 "FATAL: $@"
     14   exit 113
     15 }
     16 
     17 function main() {
     18   test $# = 0 || fatal "Too many arguments: $@"
     19 
     20   sed -e '1,/^There \(was 1 failure\|were [0-9]* failures\):$/d' |
     21       grep "$FAILED_TEST_RE" |
     22       sed -e "s/$FAILED_TEST_RE/\2.\1/" ||
     23       true
     24 }
     25 
     26 set -e
     27 set -o pipefail
     28 main "$@"
     29