From 39b76b0eda1b6e5b3aa1c9bbdcc3d5f4b4d10c81 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 19 Dec 2017 22:51:03 +0100 Subject: [PATCH 1/1] 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 --- tests/scanner.TestCase | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) 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__": -- 2.30.2