From d03b12115279e13e576c61fefc9e9fdf7d243a68 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Sun, 3 Feb 2019 16:52:12 +0100 Subject: [PATCH] update: allow tests to pass when apksigner is not installed This is only for the v2/v3 signatures. fdroid/fdroidserver#627 --- tests/update.TestCase | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/tests/update.TestCase b/tests/update.TestCase index 1210c78e..bce7e41c 100755 --- a/tests/update.TestCase +++ b/tests/update.TestCase @@ -408,13 +408,16 @@ class UpdateTest(unittest.TestCase): print('USE_ANDROGUARD', use_androguard) - apksigner = fdroidserver.common.find_sdk_tools_cmd('apksigner') - if use_androguard and apksigner: # v2 parsing needs both - config['apksigner'] = apksigner - apk_info = fdroidserver.update.scan_apk('v2.only.sig_2.apk') - self.assertIsNone(apk_info.get('maxSdkVersion')) - self.assertEqual(apk_info.get('versionName'), 'v2-only') - self.assertEqual(apk_info.get('versionCode'), 2) + try: + apksigner = fdroidserver.common.find_sdk_tools_cmd('apksigner') + if use_androguard and apksigner: # v2 parsing needs both + config['apksigner'] = apksigner + apk_info = fdroidserver.update.scan_apk('v2.only.sig_2.apk') + self.assertIsNone(apk_info.get('maxSdkVersion')) + self.assertEqual(apk_info.get('versionName'), 'v2-only') + self.assertEqual(apk_info.get('versionCode'), 2) + except fdroidserver.exception.FDroidException: + print('WARNING: skipping v2-only test since apksigner cannot be found') apk_info = fdroidserver.update.scan_apk('repo/v1.v2.sig_1020.apk') self.assertIsNone(apk_info.get('maxSdkVersion'))