Apilint updates
- Make apilint not print in color when added to file.
- Make apilint able to filter for classes or packages
- Add frameworks/base/tools/apilint/apilint script that
has convenient commandline interface for the main
common use cases.
Bug: 132198274
Test: apilint_test.py
Test: manual
Change-Id: I78341f42b0fdf4b73a724423b14545b1861a3293
diff --git a/tools/apilint/apilint_test.py b/tools/apilint/apilint_test.py
index 5cb43db..811cb9a 100644
--- a/tools/apilint/apilint_test.py
+++ b/tools/apilint/apilint_test.py
@@ -392,5 +392,23 @@
p = self._package("package @Rt(a.b.L_G_P) @RestrictTo(a.b.C) an.pref.int {")
self.assertEquals('an.pref.int', p.name)
+class FilterTests(unittest.TestCase):
+ def test_filter_match_prefix(self):
+ self.assertTrue(apilint.match_filter(["a"], "a.B"))
+ self.assertTrue(apilint.match_filter(["a.B"], "a.B.C"))
+
+ def test_filter_dont_match_prefix(self):
+ self.assertFalse(apilint.match_filter(["c"], "a.B"))
+ self.assertFalse(apilint.match_filter(["a."], "a.B"))
+ self.assertFalse(apilint.match_filter(["a.B."], "a.B.C"))
+
+ def test_filter_match_exact(self):
+ self.assertTrue(apilint.match_filter(["a.B"], "a.B"))
+
+ def test_filter_dont_match_exact(self):
+ self.assertFalse(apilint.match_filter([""], "a.B"))
+ self.assertFalse(apilint.match_filter(["a.C"], "a.B"))
+ self.assertFalse(apilint.match_filter(["a.C"], "a.B"))
+
if __name__ == "__main__":
unittest.main()