--- /dev/null
+#!/usr/bin/env python3
+
+import unittest
+import optparse
+from pathlib import Path
+from os.path import basename, dirname, realpath
+
+from fdroidserver import scanner
+from fdroidserver.metadata import Build
+import fdroidserver.common
+
+
+class ScannerTest(unittest.TestCase):
+ def test_scan_source_files(self):
+ source_files = Path(dirname(realpath(__file__)), 'source-files')
+ projects = {
+ 'Zillode': 1,
+ 'firebase-suspect': 1
+ }
+ for d in source_files.iterdir():
+ fatal_problems = scanner.scan_source(d, Build())
+ self.assertEqual(projects.get(basename(d), 0), fatal_problems)
+
+
+if __name__ == "__main__":
+ parser = optparse.OptionParser()
+ parser.add_option("-v", "--verbose", action="store_true", default=False,
+ help="Spew out even more information than normal")
+ (fdroidserver.common.options, args) = parser.parse_args(['--verbose'])
+
+ newSuite = unittest.TestSuite()
+ newSuite.addTest(unittest.makeSuite(ScannerTest))
+ unittest.main(failfast=False)