[prev in list] [next in list] [prev in thread] [next in thread] 

List:       apparmor-dev
Subject:    Re: [apparmor] [patch] Adjust test-signal_parse.py to use SignalRule
From:       Kshitij Gupta <kgupta8592 () gmail ! com>
Date:       2015-11-18 22:21:49
Message-ID: CAMBXP53F7bQEPwemuVds5k-tWsfn0=-zx38Y-LwM07q35u=v_w () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


On Fri, Oct 23, 2015 at 6:43 PM, Christian Boltz <apparmor@cboltz.de> wrote:

> Hello,
>
> the tests in test-signal_parse.py used aa.parse_signal_rule(), which is
> based on Raw_Signal_Rule (= regex check + "just store it").
>
> This patch changes the tests to test against SignalRule.get_clean().
> Since get_clean does some cleanups, the expected result slightly differs
> from the original rule.
>
> Finally switch to the AATest class and setup_all_loops() we use in most
> tests.
>
>
> Also change test-regex_matches.py to import RE_PROFILE_SIGNAL directly
> from apparmor.regex instead of apparmor.aa (where it will vanish soon).
>
>
>
> [ 08-adjust-tests-to-use-SignalRule.diff ]
>
> === modified file ./utils/test/test-regex_matches.py
> --- utils/test/test-regex_matches.py    2015-10-23 01:35:57.903695924 +0200
> +++ utils/test/test-regex_matches.py    2015-10-23 01:34:43.484064929 +0200
> @@ -14,7 +14,7 @@
>  from common_test import AATest, setup_all_loops
>  from apparmor.common import AppArmorBug, AppArmorException
>
> -from apparmor.regex import strip_quotes, parse_profile_start_line,
> re_match_include, RE_PROFILE_START, RE_PROFILE_CAP
> +from apparmor.regex import strip_quotes, parse_profile_start_line,
> re_match_include, RE_PROFILE_START, RE_PROFILE_CAP, RE_PROFILE_SIGNAL
>
>
>  class AARegexTest(AATest):
> @@ -296,7 +296,7 @@
>      '''Tests for RE_PROFILE_SIGNAL'''
>
>      def AASetup(self):
> -        self.regex = aa.RE_PROFILE_SIGNAL
> +        self.regex = RE_PROFILE_SIGNAL
>
>      tests = [
>          ('   signal,',                                  (None,    None,
> 'signal,',                                  None,
>      None)),
> === modified file ./utils/test/test-signal_parse.py
> --- utils/test/test-signal_parse.py     2014-10-15 20:19:34.705810000 +0200
> +++ utils/test/test-signal_parse.py     2015-10-23 00:14:42.834347424 +0200
> @@ -9,30 +9,34 @@
>  #
>  # ------------------------------------------------------------------
>
> -import apparmor.aa as aa
>  import unittest
> -from common_test import AAParseTest, setup_regex_tests
> +from common_test import AATest, setup_all_loops
> +
> +from apparmor.rule.signal import SignalRule
> +
> +class AAParseSignalTest(AATest):
> +    def _run_test(self, params, expected):
> +        parsed = SignalRule.parse(params)
> +        self.assertEqual(expected, parsed.get_clean())
>
> -class AAParseSignalTest(AAParseTest):
> -    def setUp(self):
> -        self.parse_function = aa.parse_signal_rule
>
>      tests = [
> -        ('signal,', 'signal base keyword rule'),
> -        ('signal (receive),', 'signal receive rule'),
> -        ('signal (send),', 'signal send rule'),
> -        ('signal (send receive),', 'signal multiple perms rule'),
> -        ('signal r,', 'signal r rule'),
> -        ('signal w,', 'signal w rule'),
> -        ('signal rw,', 'signal rw rule'),
> -        ('signal send set=("hup"),', 'signal set rule 1'),
> -        ('signal (receive) set=kill,', 'signal set rule 2'),
> -        ('signal w set=(quit int),', 'signal set rule 3'),
> -        ('signal receive peer=foo,', 'signal peer rule 1'),
> -        ('signal (send receive) peer=/usr/bin/bar,', 'signal peer rule
> 2'),
> -        ('signal wr set=(pipe, usr1) peer=/sbin/baz,', 'signal peer rule
> 3'),
> +        ('signal,',                     'signal,'),
> +        ('signal (receive),',           'signal receive,'),
> +        ('signal (send),',              'signal send,'),
> +        ('signal (send receive),',      'signal (receive send),'),
> +        ('signal r,',                   'signal r,'),
> +        ('signal w,',                   'signal w,'),
> +        ('signal rw,',                  'signal rw,'),
> +        ('signal send set=("hup"),',    'signal send set=hup,'),
> +        ('signal (receive) set=kill,',  'signal receive set=kill,'),
> +        ('signal w set=(quit int),',    'signal w set=(int quit),'),
> +        ('signal receive peer=foo,',    'signal receive peer=foo,'),
> +        ('signal (send receive) peer=/usr/bin/bar,',    'signal (receive
> send) peer=/usr/bin/bar,'),
> +        ('signal wr set=(pipe, usr1) peer=/sbin/baz,',  'signal wr
> set=(pipe usr1) peer=/sbin/baz,'),
>      ]
>
> +
> +setup_all_loops(__name__)
>  if __name__ == '__main__':
> -    setup_regex_tests(AAParseSignalTest)
>      unittest.main(verbosity=2)
>
> Thanks for the patch.

Acked-by: Kshitij Gupta <kgupta8592@gmail.com>

>
> Regards,
>
> Christian Boltz
> --
> > Wrong ;-)
> Ah, diplomacy at its finest.
> [> Christian Boltz and Steve Beattie in apparmor]
>
>
> --
> AppArmor mailing list
> AppArmor@lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/apparmor
>



-- 
Regards,

Kshitij Gupta

[Attachment #5 (text/html)]

<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct \
23, 2015 at 6:43 PM, Christian Boltz <span dir="ltr">&lt;<a \
href="mailto:apparmor@cboltz.de" target="_blank">apparmor@cboltz.de</a>&gt;</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>
the tests in test-signal_parse.py used aa.parse_signal_rule(), which is<br>
based on Raw_Signal_Rule (= regex check + &quot;just store it&quot;).<br>
<br>
This patch changes the tests to test against SignalRule.get_clean().<br>
Since get_clean does some cleanups, the expected result slightly differs<br>
from the original rule.<br>
<br>
Finally switch to the AATest class and setup_all_loops() we use in most<br>
tests.<br>
<br>
<br>
Also change test-regex_matches.py to import RE_PROFILE_SIGNAL directly<br>
from apparmor.regex instead of apparmor.aa (where it will vanish soon).<br>
<br>
<br>
<br>
[ 08-adjust-tests-to-use-SignalRule.diff ]<br>
<br>
=== modified file ./utils/test/test-regex_matches.py<br>
--- utils/test/test-regex_matches.py      2015-10-23 01:35:57.903695924 +0200<br>
+++ utils/test/test-regex_matches.py      2015-10-23 01:34:43.484064929 +0200<br>
@@ -14,7 +14,7 @@<br>
  from common_test import AATest, setup_all_loops<br>
  from apparmor.common import AppArmorBug, AppArmorException<br>
<br>
-from apparmor.regex import strip_quotes, parse_profile_start_line, re_match_include, \
RE_PROFILE_START, RE_PROFILE_CAP<br> +from apparmor.regex import strip_quotes, \
parse_profile_start_line, re_match_include, RE_PROFILE_START, RE_PROFILE_CAP, \
RE_PROFILE_SIGNAL<br> <br>
<br>
  class AARegexTest(AATest):<br>
@@ -296,7 +296,7 @@<br>
        &#39;&#39;&#39;Tests for RE_PROFILE_SIGNAL&#39;&#39;&#39;<br>
<br>
        def AASetup(self):<br>
-            self.regex = aa.RE_PROFILE_SIGNAL<br>
+            self.regex = RE_PROFILE_SIGNAL<br>
<br>
        tests = [<br>
              (&#39;     signal,&#39;,                                                \
(None,      None, &#39;signal,&#39;,                                                  \
None,                                               None)),<br> === modified file \
                ./utils/test/test-signal_parse.py<br>
--- utils/test/test-signal_parse.py        2014-10-15 20:19:34.705810000 +0200<br>
+++ utils/test/test-signal_parse.py        2015-10-23 00:14:42.834347424 +0200<br>
@@ -9,30 +9,34 @@<br>
  #<br>
  # ------------------------------------------------------------------<br>
<br>
-import apparmor.aa as aa<br>
  import unittest<br>
-from common_test import AAParseTest, setup_regex_tests<br>
+from common_test import AATest, setup_all_loops<br>
+<br>
+from apparmor.rule.signal import SignalRule<br>
+<br>
+class AAParseSignalTest(AATest):<br>
+      def _run_test(self, params, expected):<br>
+            parsed = SignalRule.parse(params)<br>
+            self.assertEqual(expected, parsed.get_clean())<br>
<br>
-class AAParseSignalTest(AAParseTest):<br>
-      def setUp(self):<br>
-            self.parse_function = aa.parse_signal_rule<br>
<br>
        tests = [<br>
-            (&#39;signal,&#39;, &#39;signal base keyword rule&#39;),<br>
-            (&#39;signal (receive),&#39;, &#39;signal receive rule&#39;),<br>
-            (&#39;signal (send),&#39;, &#39;signal send rule&#39;),<br>
-            (&#39;signal (send receive),&#39;, &#39;signal multiple perms \
                rule&#39;),<br>
-            (&#39;signal r,&#39;, &#39;signal r rule&#39;),<br>
-            (&#39;signal w,&#39;, &#39;signal w rule&#39;),<br>
-            (&#39;signal rw,&#39;, &#39;signal rw rule&#39;),<br>
-            (&#39;signal send set=(&quot;hup&quot;),&#39;, &#39;signal set rule \
                1&#39;),<br>
-            (&#39;signal (receive) set=kill,&#39;, &#39;signal set rule 2&#39;),<br>
-            (&#39;signal w set=(quit int),&#39;, &#39;signal set rule 3&#39;),<br>
-            (&#39;signal receive peer=foo,&#39;, &#39;signal peer rule 1&#39;),<br>
-            (&#39;signal (send receive) peer=/usr/bin/bar,&#39;, &#39;signal peer \
                rule 2&#39;),<br>
-            (&#39;signal wr set=(pipe, usr1) peer=/sbin/baz,&#39;, &#39;signal peer \
rule 3&#39;),<br> +            (&#39;signal,&#39;,                                \
&#39;signal,&#39;),<br> +            (&#39;signal (receive),&#39;,                 \
&#39;signal receive,&#39;),<br> +            (&#39;signal (send),&#39;,               \
&#39;signal send,&#39;),<br> +            (&#39;signal (send receive),&#39;,         \
&#39;signal (receive send),&#39;),<br> +            (&#39;signal r,&#39;,             \
&#39;signal r,&#39;),<br> +            (&#39;signal w,&#39;,                          \
&#39;signal w,&#39;),<br> +            (&#39;signal rw,&#39;,                         \
&#39;signal rw,&#39;),<br> +            (&#39;signal send \
set=(&quot;hup&quot;),&#39;,      &#39;signal send set=hup,&#39;),<br> +            \
(&#39;signal (receive) set=kill,&#39;,   &#39;signal receive set=kill,&#39;),<br> +   \
(&#39;signal w set=(quit int),&#39;,      &#39;signal w set=(int quit),&#39;),<br> +  \
(&#39;signal receive peer=foo,&#39;,      &#39;signal receive peer=foo,&#39;),<br> +  \
(&#39;signal (send receive) peer=/usr/bin/bar,&#39;,      &#39;signal (receive send) \
peer=/usr/bin/bar,&#39;),<br> +            (&#39;signal wr set=(pipe, usr1) \
peer=/sbin/baz,&#39;,   &#39;signal wr set=(pipe usr1) peer=/sbin/baz,&#39;),<br>  \
]<br> <br>
+<br>
+setup_all_loops(__name__)<br>
  if __name__ == &#39;__main__&#39;:<br>
-      setup_regex_tests(AAParseSignalTest)<br>
        unittest.main(verbosity=2)<br>
<br></blockquote><div>Thanks for the patch.<br><br>Acked-by: Kshitij Gupta &lt;<a \
href="mailto:kgupta8592@gmail.com" target="_blank">kgupta8592@gmail.com</a>&gt; \
</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>
&gt; Wrong ;-)<br>
Ah, diplomacy at its finest.<br>
[&gt; Christian Boltz and Steve Beattie in apparmor]<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" rel="noreferrer" \
target="_blank">https://lists.ubuntu.com/mailman/listinfo/apparmor</a><br> \
</font></span></blockquote></div><br><br clear="all"><br>-- <br><div \
class="gmail_signature"><div dir="ltr"><div>Regards,<br><br></div>Kshitij \
Gupta<br></div></div> </div></div>



-- 
AppArmor mailing list
AppArmor@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/apparmor


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic