#!/bin/bash
set -e

declare -i TEST_FAILURES
TEST_FAILURES=0

sed -ri '/(android|windows)/ d' examples/BUILD

# Bazel test
(bazel build //examples/gen:genrule && echo Bazel test passed) || (echo Bazel test failed && TEST_FAILURES=${TEST_FAILURES}+1)

# C++ tests
(bazel test //examples/cpp:hello-success_test && echo C++ test 1 passed) || (echo C++ test 1 failed && TEST_FAILURES=${TEST_FAILURES}+1)
(bazel test //examples/cpp:hello-fail_test && echo C++ test 2 failed && TEST_FAILURES=${TEST_FAILURES}+1) || echo C++ test 2 passsed

# Java native tests
#(bazel test //examples/java-native/src/test/java/com/example/myproject:hello && echo Java test 1 passed) || (echo Java test 1 failed && TEST_FAILURES=${TEST_FAILURES}+1)
#(bazel test //examples/java-native/src/test/java/com/example/myproject:custom && echo Java test 2 passed) || (echo Java test 2 failed && TEST_FAILURES=${TEST_FAILURES}+1)
#(bazel test //examples/java-native/src/test/java/com/example/myproject:custom_with_test_class && echo Java test 3 passed) || (echo Java test 3 failed && TEST_FAILURES=${TEST_FAILURES}+1)
#(bazel test //examples/java-native/src/test/java/com/example/myproject:fail && echo Java test 4 failed && TEST_FAILURES=${TEST_FAILURES}+1) || echo Java test 4 passsed
#(bazel test //examples/java-native/src/test/java/com/example/myproject:sleep0 && echo Java test 5 passed) || (echo Java test 5 failed && TEST_FAILURES=${TEST_FAILURES}+1)
#(bazel test //examples/java-native/src/test/java/com/example/myproject:sleep1 && echo Java test 6 passed) || (echo Java test 6 failed && TEST_FAILURES=${TEST_FAILURES}+1)
#(bazel test //examples/java-native/src/test/java/com/example/myproject:sleep2 && echo Java test 7 passed) || (echo Java test 7 failed && TEST_FAILURES=${TEST_FAILURES}+1)
#(bazel test //examples/java-native/src/test/java/com/example/myproject:sleep3 && echo Java test 8 passed) || (echo Java test 8 failed && TEST_FAILURES=${TEST_FAILURES}+1)
#(bazel test //examples/java-native/src/test/java/com/example/myproject:resource-fail && echo Java test 9 failed && TEST_FAILURES=${TEST_FAILURES}+1) || echo Java test 9 passsed

#Number of test failures
echo
if [[ ${TEST_FAILURES} == 0 ]] ; then
    echo "All tests passed!"
    echo
    exit 0
else
    echo "${TEST_FAILURES} tests failed"
    echo
    exit 1
fi