From: Hans-Christoph Steiner Date: Thu, 11 Feb 2016 22:49:54 +0000 (+0100) Subject: common: do not crash if the java_paths are not what is expected X-Git-Tag: 0.6.0~11^2~3 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=751fd3fb0a708f3eb38a19247c88a4b2cdf577c8;p=fdroidserver.git common: do not crash if the java_paths are not what is expected Many commands work without the JDK installed, and it is also possible that someone is using only JDK 8 or 9. --- diff --git a/fdroidserver/common.py b/fdroidserver/common.py index 120ef2aa..4772abc8 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -157,6 +157,8 @@ def fill_config_defaults(thisconfig): thisconfig['java_paths'][m.group(1)] = d for java_version in ('7', '8', '9'): + if not java_version in thisconfig['java_paths']: + continue java_home = thisconfig['java_paths'][java_version] jarsigner = os.path.join(java_home, 'bin', 'jarsigner') if os.path.exists(jarsigner): diff --git a/tests/run-tests b/tests/run-tests index c770091f..7629f431 100755 --- a/tests/run-tests +++ b/tests/run-tests @@ -156,6 +156,41 @@ fi set -e +#------------------------------------------------------------------------------# +echo_header "ensure commands that don't need the JDK work without a JDK configed" + +REPOROOT=`create_test_dir` +cd $REPOROOT +mkdir repo +mkdir metadata +echo "License:GPL" >> metadata/fake.txt +echo "Summary:Yup still fake" >> metadata/fake.txt +echo "Categories:Internet" >> metadata/fake.txt +echo "Description:" >> metadata/fake.txt +echo "this is fake" >> metadata/fake.txt +echo "." >> metadata/fake.txt + +# fake that no JDKs are available +echo 'java_paths = {}' > config.py + +LOCAL_COPY_DIR=`create_test_dir`/fdroid +mkdir -p $LOCAL_COPY_DIR/repo +echo "local_copy_dir = '$LOCAL_COPY_DIR'" >> config.py + +$fdroid checkupdates +$fdroid gpgsign +$fdroid lint +$fdroid readmeta +$fdroid rewritemeta fake +$fdroid server update +$fdroid scanner + +# run these to get their output, but the are not setup, so don't fail +$fdroid build || true +$fdroid import || true +$fdroid install || true + + #------------------------------------------------------------------------------# echo_header "create a source tarball and use that to build a repo"