From: Hans-Christoph Steiner Date: Tue, 19 Dec 2017 21:51:03 +0000 (+0100) Subject: scanner: fix tests so they work on all tested platforms X-Git-Tag: 1.0.0~22 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=fdroidserver.git;a=commitdiff_plain;h=39b76b0eda1b6e5b3aa1c9bbdcc3d5f4b4d10c81 scanner: fix tests so they work on all tested platforms The standard test configuration is needed to make the tests reliably. Also, these tests used some odd yield logic. Who knows what exactly failed, but these tests should be reliable. * https://gitlab.com/fdroid/fdroidserver/-/jobs/44984595 * https://gitlab.com/fdroid/fdroidserver/-/jobs/44984596 * https://travis-ci.org/f-droid/fdroidserver/builds/318071369 --- diff --git a/tests/scanner.TestCase b/tests/scanner.TestCase index 874d1ad4..b0d2dc52 100755 --- a/tests/scanner.TestCase +++ b/tests/scanner.TestCase @@ -1,25 +1,41 @@ #!/usr/bin/env python3 -import unittest +import glob +import inspect +import logging import optparse -from pathlib import Path -from os.path import basename, dirname, realpath +import os +import sys +import unittest + +localmodule = os.path.realpath( + os.path.join(os.path.dirname(inspect.getfile(inspect.currentframe())), '..')) +print('localmodule: ' + localmodule) +if localmodule not in sys.path: + sys.path.insert(0, localmodule) -from fdroidserver import scanner -from fdroidserver.metadata import Build import fdroidserver.common +import fdroidserver.metadata +import fdroidserver.scanner class ScannerTest(unittest.TestCase): + + def setUp(self): + logging.basicConfig(level=logging.INFO) + self.basedir = os.path.join(localmodule, 'tests') + def test_scan_source_files(self): - source_files = Path(dirname(realpath(__file__)), 'source-files') + source_files = os.path.join(self.basedir, 'source-files') projects = { 'Zillode': 1, 'firebase-suspect': 1 } - for d in (str(p) for p in source_files.iterdir()): - fatal_problems = scanner.scan_source(d, Build()) - self.assertEqual(projects.get(basename(d), 0), fatal_problems) + for d in glob.glob(os.path.join(source_files, '*')): + build = fdroidserver.metadata.Build() + fatal_problems = fdroidserver.scanner.scan_source(d, build) + self.assertEqual(projects.get(os.path.basename(d), 0), + fatal_problems) if __name__ == "__main__":