diff --git a/jenkins-build b/jenkins-build index dbdea777..cbdf115f 100755 --- a/jenkins-build +++ b/jenkins-build @@ -47,7 +47,7 @@ cd $WORKSPACE/fdroidserver/getsig #------------------------------------------------------------------------------# # run local tests cd $WORKSPACE/tests -./run-tests +./run-tests ~jenkins/ #------------------------------------------------------------------------------# @@ -67,7 +67,7 @@ python setup.py install # run tests in new pip+virtualenv install . $WORKSPACE/env/bin/activate -fdroid=$WORKSPACE/env/bin/fdroid $WORKSPACE/tests/run-tests +fdroid=$WORKSPACE/env/bin/fdroid $WORKSPACE/tests/run-tests ~jenkins/ #------------------------------------------------------------------------------# diff --git a/tests/run-tests b/tests/run-tests index 206ffa6b..49aadeb5 100755 --- a/tests/run-tests +++ b/tests/run-tests @@ -9,12 +9,15 @@ echo_header() { } copy_apks_into_repo() { - for f in `ls -1 ../../*/bin/*.apk`; do + for f in `find $APKDIR -name '*.apk' | grep -F -v -e unaligned -e unsigned`; do name=$(basename $(dirname `dirname $f`)) - echo "name $name" - apk=`aapt d badging "$f" | sed -n "s,^package: name='\(.*\)' versionCode='\([0-9][0-9]*\)' .*,\1_\2.apk,p"` - echo "apk $apk" - cp -f $f $1/repo/$apk + apk=`aapt dump badging "$f" | sed -n "s,^package: name='\(.*\)' versionCode='\([0-9][0-9]*\)' .*,\1_\2.apk,p"` + test $f -nt repo/$apk && rm -f repo/$apk # delete existing if $f is newer + if [ ! -e repo/$apk ] && [ ! -e archive/$apk ]; then + echo "$f --> repo/$apk" + ln $f $1/repo/$apk || \ + rsync -axv $f $1/repo/$apk # rsync if hard link is not possible + fi done } @@ -34,6 +37,16 @@ create_test_file() { mktemp --tmpdir=$WORKSPACE/.testfiles } +#------------------------------------------------------------------------------# +# "main" + +if [ $# -ne 1 ]; then + echo "Usage: $0 '/path/to/folder/with/apks'" + exit 1 +fi + +APKDIR=$1 + if [ -z $WORKSPACE ]; then WORKSPACE=`dirname $(pwd)` echo "Setting Workspace to $WORKSPACE"