mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-09-13 22:42:29 +03:00
Merge branch 'build_tools_tests' into 'master'
Build tools tests See merge request fdroid/fdroidserver!834
This commit is contained in:
commit
2a265cbc0b
5 changed files with 14 additions and 51 deletions
|
@ -31,9 +31,6 @@
|
||||||
# java_paths:
|
# java_paths:
|
||||||
# 8: /usr/lib/jvm/java-8-openjdk
|
# 8: /usr/lib/jvm/java-8-openjdk
|
||||||
|
|
||||||
# Build tools version to be used
|
|
||||||
# build_tools: 28.0.3
|
|
||||||
|
|
||||||
# Command or path to binary for running Ant
|
# Command or path to binary for running Ant
|
||||||
# ant: ant
|
# ant: ant
|
||||||
|
|
||||||
|
|
|
@ -115,7 +115,6 @@ default_config = {
|
||||||
'r16b': None,
|
'r16b': None,
|
||||||
},
|
},
|
||||||
'cachedir': os.path.join(os.getenv('HOME'), '.cache', 'fdroidserver'),
|
'cachedir': os.path.join(os.getenv('HOME'), '.cache', 'fdroidserver'),
|
||||||
'build_tools': MINIMUM_APKSIGNER_BUILD_TOOLS_VERSION,
|
|
||||||
'java_paths': None,
|
'java_paths': None,
|
||||||
'scan_binary': False,
|
'scan_binary': False,
|
||||||
'ant': "ant",
|
'ant': "ant",
|
||||||
|
@ -501,18 +500,11 @@ def find_sdk_tools_cmd(cmd):
|
||||||
tooldirs = []
|
tooldirs = []
|
||||||
if config is not None and 'sdk_path' in config and os.path.exists(config['sdk_path']):
|
if config is not None and 'sdk_path' in config and os.path.exists(config['sdk_path']):
|
||||||
# try to find a working path to this command, in all the recent possible paths
|
# try to find a working path to this command, in all the recent possible paths
|
||||||
if 'build_tools' in config:
|
|
||||||
build_tools = os.path.join(config['sdk_path'], 'build-tools')
|
build_tools = os.path.join(config['sdk_path'], 'build-tools')
|
||||||
# if 'build_tools' was manually set and exists, check only that one
|
if os.path.isdir(build_tools):
|
||||||
configed_build_tools = os.path.join(build_tools, config['build_tools'])
|
|
||||||
if os.path.exists(configed_build_tools):
|
|
||||||
tooldirs.append(configed_build_tools)
|
|
||||||
else:
|
|
||||||
# no configed version, so hunt known paths for it
|
|
||||||
for f in sorted(os.listdir(build_tools), reverse=True):
|
for f in sorted(os.listdir(build_tools), reverse=True):
|
||||||
if os.path.isdir(os.path.join(build_tools, f)):
|
if os.path.isdir(os.path.join(build_tools, f)):
|
||||||
tooldirs.append(os.path.join(build_tools, f))
|
tooldirs.append(os.path.join(build_tools, f))
|
||||||
tooldirs.append(build_tools)
|
|
||||||
sdk_tools = os.path.join(config['sdk_path'], 'tools')
|
sdk_tools = os.path.join(config['sdk_path'], 'tools')
|
||||||
if os.path.exists(sdk_tools):
|
if os.path.exists(sdk_tools):
|
||||||
tooldirs.append(sdk_tools)
|
tooldirs.append(sdk_tools)
|
||||||
|
@ -528,7 +520,8 @@ def find_sdk_tools_cmd(cmd):
|
||||||
test_aapt_version(path)
|
test_aapt_version(path)
|
||||||
return path
|
return path
|
||||||
# did not find the command, exit with error message
|
# did not find the command, exit with error message
|
||||||
ensure_build_tools_exists(config)
|
if not test_sdk_exists(config):
|
||||||
|
raise FDroidException(_("Android SDK not found!"))
|
||||||
|
|
||||||
|
|
||||||
def test_aapt_version(aapt):
|
def test_aapt_version(aapt):
|
||||||
|
@ -581,17 +574,6 @@ def test_sdk_exists(thisconfig):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def ensure_build_tools_exists(thisconfig):
|
|
||||||
if not test_sdk_exists(thisconfig):
|
|
||||||
raise FDroidException(_("Android SDK not found!"))
|
|
||||||
build_tools = os.path.join(thisconfig['sdk_path'], 'build-tools')
|
|
||||||
versioned_build_tools = os.path.join(build_tools, thisconfig['build_tools'])
|
|
||||||
if not os.path.isdir(versioned_build_tools):
|
|
||||||
raise FDroidException(
|
|
||||||
_("Android build-tools path '{path}' does not exist!")
|
|
||||||
.format(path=versioned_build_tools))
|
|
||||||
|
|
||||||
|
|
||||||
def get_local_metadata_files():
|
def get_local_metadata_files():
|
||||||
'''get any metadata files local to an app's source repo
|
'''get any metadata files local to an app's source repo
|
||||||
|
|
||||||
|
|
|
@ -28,23 +28,10 @@ import fdroidserver.scanner
|
||||||
class BuildTest(unittest.TestCase):
|
class BuildTest(unittest.TestCase):
|
||||||
'''fdroidserver/build.py'''
|
'''fdroidserver/build.py'''
|
||||||
|
|
||||||
def _set_build_tools(self):
|
|
||||||
build_tools = os.path.join(fdroidserver.common.config['sdk_path'], 'build-tools')
|
|
||||||
if os.path.exists(build_tools):
|
|
||||||
fdroidserver.common.config['build_tools'] = ''
|
|
||||||
for f in sorted(os.listdir(build_tools), reverse=True):
|
|
||||||
versioned = os.path.join(build_tools, f)
|
|
||||||
if os.path.isdir(versioned) \
|
|
||||||
and os.path.isfile(os.path.join(versioned, 'aapt')):
|
|
||||||
fdroidserver.common.config['build_tools'] = versioned
|
|
||||||
break
|
|
||||||
return True
|
|
||||||
else:
|
|
||||||
print('no build-tools found: ' + build_tools)
|
|
||||||
return False
|
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
logging.basicConfig(level=logging.DEBUG)
|
logging.basicConfig(level=logging.DEBUG)
|
||||||
|
logger = logging.getLogger('androguard.axml')
|
||||||
|
logger.setLevel(logging.INFO) # tame the axml debug messages
|
||||||
self.basedir = os.path.join(localmodule, 'tests')
|
self.basedir = os.path.join(localmodule, 'tests')
|
||||||
self.tmpdir = os.path.abspath(os.path.join(self.basedir, '..', '.testfiles'))
|
self.tmpdir = os.path.abspath(os.path.join(self.basedir, '..', '.testfiles'))
|
||||||
if not os.path.exists(self.tmpdir):
|
if not os.path.exists(self.tmpdir):
|
||||||
|
@ -56,7 +43,6 @@ class BuildTest(unittest.TestCase):
|
||||||
fdroidserver.common.fill_config_defaults(config)
|
fdroidserver.common.fill_config_defaults(config)
|
||||||
fdroidserver.common.config = config
|
fdroidserver.common.config = config
|
||||||
fdroidserver.build.config = config
|
fdroidserver.build.config = config
|
||||||
self._set_build_tools()
|
|
||||||
try:
|
try:
|
||||||
config['aapt'] = fdroidserver.common.find_sdk_tools_cmd('aapt')
|
config['aapt'] = fdroidserver.common.find_sdk_tools_cmd('aapt')
|
||||||
except fdroidserver.exception.FDroidException:
|
except fdroidserver.exception.FDroidException:
|
||||||
|
@ -183,7 +169,6 @@ class BuildTest(unittest.TestCase):
|
||||||
config = dict()
|
config = dict()
|
||||||
config['sdk_path'] = os.getenv('ANDROID_HOME')
|
config['sdk_path'] = os.getenv('ANDROID_HOME')
|
||||||
config['ndk_paths'] = {'r10d': os.getenv('ANDROID_NDK_HOME')}
|
config['ndk_paths'] = {'r10d': os.getenv('ANDROID_NDK_HOME')}
|
||||||
config['build_tools'] = 'FAKE_BUILD_TOOLS_VERSION'
|
|
||||||
fdroidserver.common.config = config
|
fdroidserver.common.config = config
|
||||||
app = fdroidserver.metadata.App()
|
app = fdroidserver.metadata.App()
|
||||||
app.id = 'com.gpl.rpg.AndorsTrail'
|
app.id = 'com.gpl.rpg.AndorsTrail'
|
||||||
|
|
|
@ -42,6 +42,8 @@ class CommonTest(unittest.TestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
logging.basicConfig(level=logging.DEBUG)
|
logging.basicConfig(level=logging.DEBUG)
|
||||||
|
logger = logging.getLogger('androguard.axml')
|
||||||
|
logger.setLevel(logging.INFO) # tame the axml debug messages
|
||||||
self.basedir = os.path.join(localmodule, 'tests')
|
self.basedir = os.path.join(localmodule, 'tests')
|
||||||
self.tmpdir = os.path.abspath(os.path.join(self.basedir, '..', '.testfiles'))
|
self.tmpdir = os.path.abspath(os.path.join(self.basedir, '..', '.testfiles'))
|
||||||
if not os.path.exists(self.tmpdir):
|
if not os.path.exists(self.tmpdir):
|
||||||
|
@ -75,12 +77,10 @@ class CommonTest(unittest.TestCase):
|
||||||
def _set_build_tools(self):
|
def _set_build_tools(self):
|
||||||
build_tools = os.path.join(fdroidserver.common.config['sdk_path'], 'build-tools')
|
build_tools = os.path.join(fdroidserver.common.config['sdk_path'], 'build-tools')
|
||||||
if os.path.exists(build_tools):
|
if os.path.exists(build_tools):
|
||||||
fdroidserver.common.config['build_tools'] = ''
|
|
||||||
for f in sorted(os.listdir(build_tools), reverse=True):
|
for f in sorted(os.listdir(build_tools), reverse=True):
|
||||||
versioned = os.path.join(build_tools, f)
|
versioned = os.path.join(build_tools, f)
|
||||||
if os.path.isdir(versioned) \
|
if os.path.isdir(versioned) \
|
||||||
and os.path.isfile(os.path.join(versioned, 'apksigner')):
|
and os.path.isfile(os.path.join(versioned, 'apksigner')):
|
||||||
fdroidserver.common.config['build_tools'] = versioned
|
|
||||||
break
|
break
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
|
@ -235,7 +235,6 @@ class CommonTest(unittest.TestCase):
|
||||||
config = dict()
|
config = dict()
|
||||||
config['sdk_path'] = os.getenv('ANDROID_HOME')
|
config['sdk_path'] = os.getenv('ANDROID_HOME')
|
||||||
config['ndk_paths'] = {'r10d': os.getenv('ANDROID_NDK_HOME')}
|
config['ndk_paths'] = {'r10d': os.getenv('ANDROID_NDK_HOME')}
|
||||||
config['build_tools'] = 'FAKE_BUILD_TOOLS_VERSION'
|
|
||||||
fdroidserver.common.config = config
|
fdroidserver.common.config = config
|
||||||
app = fdroidserver.metadata.App()
|
app = fdroidserver.metadata.App()
|
||||||
app.id = 'org.fdroid.froid'
|
app.id = 'org.fdroid.froid'
|
||||||
|
@ -715,9 +714,10 @@ class CommonTest(unittest.TestCase):
|
||||||
fdroidserver.common.fill_config_defaults(config)
|
fdroidserver.common.fill_config_defaults(config)
|
||||||
fdroidserver.common.config = config
|
fdroidserver.common.config = config
|
||||||
self._set_build_tools()
|
self._set_build_tools()
|
||||||
aapt = fdroidserver.common.find_sdk_tools_cmd('aapt')
|
try:
|
||||||
if aapt:
|
|
||||||
config['aapt'] = fdroidserver.common.find_sdk_tools_cmd('aapt')
|
config['aapt'] = fdroidserver.common.find_sdk_tools_cmd('aapt')
|
||||||
|
except fdroidserver.exception.FDroidException:
|
||||||
|
pass # aapt is not required if androguard is present
|
||||||
|
|
||||||
testcases = [
|
testcases = [
|
||||||
('repo/obb.main.twoversions_1101613.apk', 'obb.main.twoversions', '1101613', '0.1'),
|
('repo/obb.main.twoversions_1101613.apk', 'obb.main.twoversions', '1101613', '0.1'),
|
||||||
|
|
|
@ -59,7 +59,6 @@ class VCSTest(unittest.TestCase):
|
||||||
os.mkdir("build")
|
os.mkdir("build")
|
||||||
config['sdk_path'] = 'MOCKPATH'
|
config['sdk_path'] = 'MOCKPATH'
|
||||||
config['ndk_paths'] = {'r10d': os.getenv('ANDROID_NDK_HOME')}
|
config['ndk_paths'] = {'r10d': os.getenv('ANDROID_NDK_HOME')}
|
||||||
config['build_tools'] = 'FAKE_BUILD_TOOLS_VERSION'
|
|
||||||
config['java_paths'] = {'fake': 'fake'}
|
config['java_paths'] = {'fake': 'fake'}
|
||||||
fdroidserver.common.config = config
|
fdroidserver.common.config = config
|
||||||
app = fdroidserver.metadata.App()
|
app = fdroidserver.metadata.App()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue