From 5cd9a8e396ebf2ae2748f4460eb50cc737c66624 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 29 Jan 2021 09:04:48 +0100 Subject: [PATCH] tests: make init apksigner test use existing test keystore This test does not need to generate a keystore, so using the existing one reduces the run time from 4 seconds to 0.040 seconds. Also, if makes this mystery error on macOS go away: ``` Traceback (most recent call last): File "/Users/travis/build/fdroidtravis/fdroidserver/tests/init.TestCase", line 66, in test_main_in_empty_dir fdroidserver.init.main() File "/Users/travis/build/fdroidtravis/fdroidserver/fdroidserver/init.py", line 231, in main common.genkeystore(c) File "/Users/travis/build/fdroidtravis/fdroidserver/fdroidserver/common.py", line 3434, in genkeystore cmd = [config['keytool'], '-genkey', KeyError: 'keytool' ``` --- tests/init.TestCase | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/init.TestCase b/tests/init.TestCase index 30d4db32..918643cc 100755 --- a/tests/init.TestCase +++ b/tests/init.TestCase @@ -6,6 +6,7 @@ import inspect import logging import os import optparse +import shutil import sys import tempfile import unittest @@ -52,9 +53,12 @@ class InitTest(unittest.TestCase): self.assertIsNone(config.get('keypass')) def test_main_in_empty_dir(self): + """Test that `fdroid init` will find apksigner and add it to the config""" testdir = tempfile.mkdtemp(prefix=inspect.currentframe().f_code.co_name, dir=self.tmpdir) os.chdir(testdir) + shutil.copy(os.path.join(self.basedir, 'keystore.jks'), testdir) + bindir = os.path.join(os.getcwd(), 'bin') os.mkdir(bindir) apksigner = os.path.join(bindir, 'apksigner') @@ -62,7 +66,7 @@ class InitTest(unittest.TestCase): os.chmod(apksigner, 0o755) os.environ['PATH'] = bindir - sys.argv = ['fdroid init'] + sys.argv = ['fdroid init', '--keystore', 'keystore.jks', '--repo-keyalias=sova'] fdroidserver.init.main() with open('config.yml') as fp: config = yaml.safe_load(fp)