3 set -o nounset ## (set -u) error exit on attempts to deref undefined variable
4 set -o errexit ## (set -e) error exit if subcommand returns nonzero
6 CFB_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
7 INSTR_DIR="${CFB_ROOT}/../instr"
8 JAVA=${JAVA_HOME}/bin/java
9 JAVAC=${JAVA_HOME}/bin/javac
11 . ${CFB_ROOT}/setcp.sh
15 find "${CFB_ROOT}/prod" -name "*.java" | xargs ${JAVAC} -g -Xlint:deprecation
16 find "${CFB_ROOT}/test" -name "*.java" | xargs ${JAVAC} -g -classpath ${CFB_ROOT}/prod:${CLASSPATH} -Xlint:deprecation
18 if [ -d "${CFB_ROOT}/bin" ]; then
19 rm -rf "${CFB_ROOT}/bin"
21 mkdir -p "${CFB_ROOT}/bin"
23 find . -name '*.class' | xargs tar zcf "${CFB_ROOT}/tmp_classes.tar.gz"
25 tar zxf "${CFB_ROOT}/tmp_classes.tar.gz"
26 if [ -e "${CFB_ROOT}/tmp_classes.tar.gz" ]; then
27 rm "${CFB_ROOT}/tmp_classes.tar.gz"
32 echo Cleaning old coverage files...
33 for x in "${INSTR_DIR}" report
35 if [ -d "${x}" ]; then
40 for x in result.xml template.xml
49 ${JAVA} -classpath "${CLASSPATH}" -jar `pwd`/jcov/jcov.jar Instr -t template.xml -o "${INSTR_DIR}" -type all "${CFB_ROOT}/prod"
52 echo Running unit tests...
55 for x in `cd ${CFB_ROOT}/test; find . -name '*Test.class'`
58 TEST_CLASS=`echo ${x} | sed s:\^./:: | cut -d . -f 1 | sed s:/:.:g`
59 #echo TEST_CLASS ${TEST_CLASS}
60 TESTS="${TEST_CLASS} ${TESTS}"
63 echo First run: locale es_ES, timezone Europe/Madrid
64 ${JAVA} -Duser.language=es -Duser.country=ES -Duser.timezone=Europe/Madrid -Djcov.template=${CFB_ROOT}/template.xml -Djcov.file=${CFB_ROOT}/result.xml -classpath "${INSTR_DIR}:${CFB_ROOT}/test:${CLASSPATH}:/usr/share/java/junit.jar:${CFB_ROOT}/jcov/jcov_file_saver.jar" org.junit.runner.JUnitCore ${TESTS}
66 echo Second run: server default locale and timezone
67 ${JAVA} -Djcov.template=${CFB_ROOT}/template.xml -Djcov.file=${CFB_ROOT}/result.xml -classpath "${INSTR_DIR}:${CFB_ROOT}/test:${CLASSPATH}:/usr/share/java/junit.jar:${CFB_ROOT}/jcov/jcov_file_saver.jar" org.junit.runner.JUnitCore ${TESTS}
70 echo Generating HTML Report...
72 ${JAVA} -jar "${CFB_ROOT}/jcov/jcov.jar" RepGen -sourcepath "${CFB_ROOT}/prod" -log.level FINE result.xml
76 find "${CFB_ROOT}/prod" -type f -name '*.class' -exec rm {} \;
77 find "${CFB_ROOT}/test" -type f -name '*.class' -exec rm {} \;