bug-osgi: update test script to not fail if junit tests do not
[leafcutter:leafcutter-oe.git] / buglabs-scripts / bug-osgi-test.sh
1 #!/bin/bash
2 # This script assumes it's running in the root of an oe-build, and that it is being called
3 # after a build has completed succesfully.
4 # The propose of the script is to execute tests against code contained in the depoy/sysroots output.
5 # It is designed to be called from within and without the CI system.
6
7 set -e
8
9 if [ -z $WORKSPACE ]; then
10         echo "Setting WORKSPACE TO `pwd`"
11         WORKSPACE=`pwd`
12 fi
13
14 cd $WORKSPACE
15
16 JAVA_OE_BUILD_DIR=$WORKSPACE/oe-tmp/sysroots/java
17 TEST_ROOT=$WORKSPACE/tests
18 BUILD_TOOLS=$TEST_ROOT/bug-osgi/com.buglabs.osgi.build
19 DEPS_DIR=$TEST_ROOT/subjects
20
21 if [ ! -d $TEST_ROOT ]; then
22         mkdir $TEST_ROOT
23 fi
24
25 if [ ! -d $DEPS_DIR ]; then
26         mkdir $DEPS_DIR
27 else 
28         rm -Rf $DEPS_DIR
29         mkdir $DEPS_DIR
30 fi
31
32 echo "Copying oe-built jars from $JAVA_OE_BUILD_DIR"
33 cp $JAVA_OE_BUILD_DIR/* $DEPS_DIR
34
35 if [ ! -f $DEPS_DIR/junit-osgi-4.9b2.jar ]; then
36         wget --no-check-certificate -P $DEPS_DIR https://github.com/downloads/buglabs/bug-osgi/junit-osgi-4.9b2.jar
37 fi 
38
39 if [ ! -d $TEST_ROOT ]; then
40         mkdir $TEST_ROOT
41 fi
42
43 if [ ! -d $TEST_ROOT/junit-reports ]; then
44         mkdir $TEST_ROOT/junit-reports
45 else
46         set +e
47         # Delete old reports
48         rm $TEST_ROOT/junit-reports/*
49         set -e
50 fi
51
52 cd $TEST_ROOT
53
54 if [ ! -d bug-osgi ]; then
55         git clone git@github.com:buglabs/bug-osgi.git
56 fi
57
58 if [ ! -d $BUILD_TOOLS ]; then
59         echo "com.buglabs.osgi.build is not at $BUILD_TOOLS, aborting."
60         exit 1
61 else 
62         cd bug-osgi
63         git reset --hard HEAD
64         git pull
65         cd ..
66 fi
67
68
69
70 echo "Running tests com.buglabs.common.tests"
71 ant -Dreport.dir=$TEST_ROOT/junit-reports -Dbase.build.dir=$BUILD_TOOLS -Dcheckout.dir=$TEST_ROOT/bug-osgi -DexternalDirectory=$DEPS_DIR -DdistDirectory=$DEPS_DIR -f $TEST_ROOT/bug-osgi/com.buglabs.common.tests/build.xml test
72
73 if [ ! -f $DEPS_DIR/com.buglabs.osgi.tester.jar ]; then
74         echo "Building OSGi test runner"
75         ant -Dbase.build.dir=$BUILD_TOOLS -Dcheckout.dir=$TEST_ROOT/bug-osgi -DexternalDirectory=$DEPS_DIR -DdistDirectory=$DEPS_DIR -f $TEST_ROOT/bug-osgi/com.buglabs.osgi.tester/build.xml build.jars
76 fi
77
78 ant -Dreport.dir=$TEST_ROOT/junit-reports -Dbase.build.dir=$BUILD_TOOLS -Dcheckout.dir=$TEST_ROOT/bug-osgi -DexternalDirectory=$DEPS_DIR -DdistDirectory=$DEPS_DIR -f $TEST_ROOT/bug-osgi/com.buglabs.common.tests/build.xml test-osgi
79
80 cd $WORKSPACE
81 echo "Test phase complete."