<div dir="ltr">Hello,<br><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Apr 12, 2015 at 2:32 AM, Christian Boltz <span dir="ltr"><<a href="mailto:apparmor@cboltz.de" target="_blank">apparmor@cboltz.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br>
<br>
This patch adds some tests for the Baserule class to cover the<br>
3 functions that must be re-implemented in each rule class. This means<br>
we finally get 100% test coverage for apparmor/rule/__init__.py ;-)<br>
<br></blockquote><div>100% coverage even though parse_modifiers code has no tests?<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
If we merge the rule classes into 2.9, then this patch should also go in.<br>
<br>
Note: this patch depends on 31-enable-testloops-for-nosetests.diff<br>
because of the changed setup_all_loops() function name and parameters.<br>
<br>
<br>
[ 41-add-baserule-tests.diff ]<br>
<br>
=== added file utils/test/test-baserule.py<br>
--- utils/test/test-baserule.py 2015-04-11 22:52:56.270968523 +0200<br>
+++ utils/test/test-baserule.py 2015-04-11 22:51:35.361699045 +0200<br>
@@ -0,0 +1,36 @@<br>
+#! /usr/bin/env python<br>
+# ------------------------------------------------------------------<br>
+#<br>
+#    Copyright (C) 2015 Christian Boltz <<a href="mailto:apparmor@cboltz.de">apparmor@cboltz.de</a>><br>
+#<br>
+#    This program is free software; you can redistribute it and/or<br>
+#    modify it under the terms of version 2 of the GNU General Public<br>
+#    License published by the Free Software Foundation.<br>
+#<br>
+# ------------------------------------------------------------------<br>
+<br>
+import unittest<br>
+from common_test import AATest, setup_all_loops<br>
+<br>
+from apparmor.common import AppArmorBug<br>
+from apparmor.rule import BaseRule<br>
+<br>
+class TestBaserule(AATest):<br>
+    def test_abstract__parse(self):<br>
+        with self.assertRaises(AppArmorBug):<br>
+            BaseRule._parse('foo')<br>
+<br>
+    def test_is_equal_localvars(self):<br>
+        obj = BaseRule()<br>
+        with self.assertRaises(AppArmorBug):<br>
+            obj.is_equal_localvars(BaseRule())<br>
+<br>
+    def test_is_covered_localvars(self):<br>
+        obj = BaseRule()<br>
+        with self.assertRaises(AppArmorBug):<br>
+            obj.is_covered_localvars(None)<br>
+<br>
+<br>
+setup_all_loops(__name__)<br>
+if __name__ == '__main__':<br>
+    unittest.main(verbosity=2)<br>
<br>
<br></blockquote><div>Thanks for the patch.<br><br>Acked-by: Kshitij Gupta <<a href="mailto:kgupta8592@gmail.com" target="_blank">kgupta8592@gmail.com</a>>.<br><br></div><div>Regards,<br><br></div><div>Kshitij Gupta<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Regards,<br>
<br>
Christian Boltz<br>
<span class=""><font color="#888888">--<br>
Jungchen, so jemand wie Du kommt hier immer mal wieder vorbei. Wir<br>
füttern ihn ne Weile und dann binden wir ihn auf ner Raststätte an und<br>
hoffen, dass ihn kein Tierheim aufnimmt ;) [Jan Trippler in suse-linux]<br>
<br>
<br>
--<br>
AppArmor mailing list<br>
<a href="mailto:AppArmor@lists.ubuntu.com">AppArmor@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/apparmor" target="_blank">https://lists.ubuntu.com/mailman/listinfo/apparmor</a><br>
</font></span></blockquote></div><br></div></div>