[apparmor] [patch] AATest: don't limit diff length
Christian Boltz
apparmor at cboltz.de
Mon Apr 13 23:12:07 UTC 2015
Hello,
Am Montag, 13. April 2015 schrieb Steve Beattie:
> On Sat, Apr 11, 2015 at 08:23:09PM +0200, Christian Boltz wrote:
> > this patch adds setUp() to AATest that sets "self.maxDiff = None"
> > (unlimited). This gives us unlimited array diffs everywhere where
> > AATest is used.
> >
> > === modified file utils/test/common_test.py
> > --- utils/test/common_test.py 2015-04-03 17:41:54.632932445 +0200
> > +++ utils/test/common_test.py 2015-04-11 20:06:33.272044715 +0200
> > @@ -39,6 +39,9 @@
> >
> > class AATest(unittest.TestCase):
> > + def setUp(self):
> > + self.maxDiff = None
> > +
> >
> > tests = []
> >
> > class AAParseTest(unittest.TestCase):
> This part, Acked-by: Steve Beattie <steve at nxnw.org>.
>
> > Also replace several setUp() functions in test-regex_matches.py that
> > just set a class variable with setting the class variable directly.
> > This avoids that the shiny new AATest setUp() gets overwritten.
>
> This part, NACK. This undoes the bit from
> https://lists.ubuntu.com/archives/apparmor/2014-August/006276.html
> (and acked in
> https://lists.ubuntu.com/archives/apparmor/2014-September/006311.html
> ).
Argh, I shouldn't have acked this ;-)
Seriously: you have a good reason to keep it inside a function.
> The better way to fix this I think would be to do e.g.
>
> > === modified file utils/test/test-regex_matches.py
...
> > + super(AARegexTest, self).setUp()
> Annoyingly, python2.7 requires explicit arguments, and when doing so,
> it won't work to reference AATest directly if there's an intermediate
> class in the hierarchy, like AARegexTest here (tested via using a
> print() statement in AATest's setUp() method).
So basically super() is (more or less) useless with py2 :-( - and in
case it isn't, it has an annoying syntax.
Here's a proposal as pseudo-patch:
=== modified file utils/test/common_test.py
--- utils/test/common_test.py 2015-04-03 17:41:54.632932445 +0200
+++ utils/test/common_test.py 2015-04-11 20:06:33.272044715 +0200
class AATest(unittest.TestCase):
+ def setUp(self):
+ self.maxDiff = None
+ self.AASetup()
+
+ def AASetup(self):
+ pass
This would also mean to rename the setUp functions in
test-regex_matches.py to AASetup.
This avoids all problems with super() - even if it does it in a way that
you probably don't like too much ;-)
Would this solution be ok? If yes, I'll update the patch.
Regards,
Christian Boltz
--
[dracut] I'm reluctant to waste time dealing with things like e.g.
modules.d/90crypt/cryptroot-ask.sh. That feels like boot.crypto which
was rightfully killed by systemd raising from the dead.
[Ludwig Nussel in opensuse-packaging]
More information about the AppArmor
mailing list