mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-11-04 22:40:29 +03:00
test_find_apksigner_system_package_android_home if build_tools is new enough
This commit is contained in:
parent
f04af445dd
commit
2bf6848391
1 changed files with 14 additions and 1 deletions
|
|
@ -21,6 +21,7 @@ import textwrap
|
||||||
import yaml
|
import yaml
|
||||||
import gzip
|
import gzip
|
||||||
import stat
|
import stat
|
||||||
|
from distutils.version import LooseVersion
|
||||||
from zipfile import BadZipFile, ZipFile, ZipInfo
|
from zipfile import BadZipFile, ZipFile, ZipInfo
|
||||||
from unittest import mock
|
from unittest import mock
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
@ -782,6 +783,7 @@ class CommonTest(unittest.TestCase):
|
||||||
self.assertEqual(apksigner, config.get('apksigner'))
|
self.assertEqual(apksigner, config.get('apksigner'))
|
||||||
|
|
||||||
def test_find_apksigner_system_package_android_home(self):
|
def test_find_apksigner_system_package_android_home(self):
|
||||||
|
"""Test that apksigner v30 or newer is found"""
|
||||||
testdir = tempfile.mkdtemp(
|
testdir = tempfile.mkdtemp(
|
||||||
prefix=inspect.currentframe().f_code.co_name, dir=self.tmpdir
|
prefix=inspect.currentframe().f_code.co_name, dir=self.tmpdir
|
||||||
)
|
)
|
||||||
|
|
@ -789,8 +791,19 @@ class CommonTest(unittest.TestCase):
|
||||||
android_home = os.getenv('ANDROID_HOME')
|
android_home = os.getenv('ANDROID_HOME')
|
||||||
if not android_home or not os.path.isdir(android_home):
|
if not android_home or not os.path.isdir(android_home):
|
||||||
self.skipTest('SKIPPING since ANDROID_HOME (%s) is not a dir!' % android_home)
|
self.skipTest('SKIPPING since ANDROID_HOME (%s) is not a dir!' % android_home)
|
||||||
if not glob.glob(os.path.join(android_home, 'build-tools', '*', 'apksigner')):
|
build_tools = glob.glob(os.path.join(android_home, 'build-tools', '*', 'apksigner'))
|
||||||
|
if not build_tools:
|
||||||
self.skipTest('SKIPPING since ANDROID_HOME (%s) build-tools has no apksigner!' % android_home)
|
self.skipTest('SKIPPING since ANDROID_HOME (%s) build-tools has no apksigner!' % android_home)
|
||||||
|
min_version = fdroidserver.common.MINIMUM_APKSIGNER_BUILD_TOOLS_VERSION
|
||||||
|
version = '0'
|
||||||
|
for bt in sorted(build_tools):
|
||||||
|
v = bt.split('/')[-2]
|
||||||
|
if v == 'debian':
|
||||||
|
continue
|
||||||
|
if LooseVersion(version) < LooseVersion(v):
|
||||||
|
version = v
|
||||||
|
if LooseVersion(version) < LooseVersion(min_version):
|
||||||
|
self.skipTest('SKIPPING since build-tools %s or higher is required!' % min_version)
|
||||||
fdroidserver.common.config = {'sdk_path': android_home}
|
fdroidserver.common.config = {'sdk_path': android_home}
|
||||||
os.environ['PATH'] = '/fake/path/to/avoid/conflicts'
|
os.environ['PATH'] = '/fake/path/to/avoid/conflicts'
|
||||||
config = fdroidserver.common.read_config()
|
config = fdroidserver.common.read_config()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue