chiark / gitweb /
Add a simple test for scanner
authorJan Berkel <jan@berkel.fr>
Thu, 14 Dec 2017 23:29:38 +0000 (00:29 +0100)
committerJan Berkel <jan@berkel.fr>
Thu, 14 Dec 2017 23:37:52 +0000 (00:37 +0100)
tests/scanner.TestCase [new file with mode: 0755]
tests/source-files/firebase-suspect/app/build.gradle [new file with mode: 0644]
tests/source-files/firebase-suspect/build.gradle [new file with mode: 0644]
tests/source-files/firebase-whitelisted/app/build.gradle [new file with mode: 0644]
tests/source-files/firebase-whitelisted/build.gradle [new file with mode: 0644]

diff --git a/tests/scanner.TestCase b/tests/scanner.TestCase
new file mode 100755 (executable)
index 0000000..ec220f4
--- /dev/null
@@ -0,0 +1,33 @@
+#!/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)
diff --git a/tests/source-files/firebase-suspect/app/build.gradle b/tests/source-files/firebase-suspect/app/build.gradle
new file mode 100644 (file)
index 0000000..440d75a
--- /dev/null
@@ -0,0 +1,5 @@
+dependencies {
+    compile 'com.google.firebase:firebase-core:11.6.2'
+
+    testCompile 'junit:junit:4.12'
+}
diff --git a/tests/source-files/firebase-suspect/build.gradle b/tests/source-files/firebase-suspect/build.gradle
new file mode 100644 (file)
index 0000000..47295bb
--- /dev/null
@@ -0,0 +1,11 @@
+buildscript {
+    dependencies {
+        classpath 'com.android.tools.build:gradle:2.3.3'
+    }
+}
+
+allprojects {
+    repositories {
+        maven { url "https://maven.google.com" }
+    }
+}
diff --git a/tests/source-files/firebase-whitelisted/app/build.gradle b/tests/source-files/firebase-whitelisted/app/build.gradle
new file mode 100644 (file)
index 0000000..e97e231
--- /dev/null
@@ -0,0 +1,5 @@
+dependencies {
+    compile 'com.firebase:firebase-jobdispatcher:0.8.4'
+
+    testCompile 'junit:junit:4.12'
+}
diff --git a/tests/source-files/firebase-whitelisted/build.gradle b/tests/source-files/firebase-whitelisted/build.gradle
new file mode 100644 (file)
index 0000000..e52ed0a
--- /dev/null
@@ -0,0 +1,14 @@
+buildscript {
+    repositories {
+        jcenter()
+    }
+    dependencies {
+        classpath 'com.android.tools.build:gradle:2.3.3'
+    }
+}
+
+allprojects {
+    repositories {
+        jcenter()
+    }
+}