[apparmor] test-aa-easyprof.py fails because of UsrMove

Christian Boltz apparmor at cboltz.de
Fri Feb 28 22:11:02 UTC 2014


Hello,

test-aa-easyprof.py depends on /bin/ls being a real binary.
In practise, it is a symlink to /usr/bin/ls on some distributions.

The patch below fixes this for me, but I know it isn't a good solution 
because it breaks on systems that didn't follow UsrMove and still have 
/bin/ls as real binary.

Please take this as a bugreport only - I don't expect an Ack for it, but 
hope for someone to come up with a better patch ;-)


=== modified file 'utils/test/test-aa-easyprof.py'
--- utils/test/test-aa-easyprof.py      2014-02-14 01:53:40 +0000
+++ utils/test/test-aa-easyprof.py      2014-02-28 21:54:06 +0000
@@ -424,14 +424,14 @@
 #
     def test_binary_without_profile_name(self):
         '''Test binary (<binary> { })'''
-        easyprof.AppArmorEasyProfile('/bin/ls', self.options)
+        easyprof.AppArmorEasyProfile('/usr/bin/ls', self.options)
 
     def test_binary_with_profile_name(self):
         '''Test binary (profile <name> <binary> { })'''
         args = self.full_args
         args += ['--profile-name=some-profile-name']
         (self.options, self.args) = easyprof.parse_args(args)
-        easyprof.AppArmorEasyProfile('/bin/ls', self.options)
+        easyprof.AppArmorEasyProfile('/usr/bin/ls', self.options)
 
     def test_binary_omitted_with_profile_name(self):
         '''Test binary (profile <name> { })'''
@@ -1206,7 +1206,7 @@
     def test_gen_manifest_policy_with_binary_with_profile_name(self):
         '''Test gen_manifest_policy (binary with profile name)'''
         m = Manifest("test_gen_manifest_policy")
-        m.add_binary('/bin/ls')
+        m.add_binary('/usr/bin/ls')
         self._gen_manifest_policy(m)
 
     def test_gen_manifest_policy_without_binary_with_profile_name(self):


Even with this fixed, I still get two failures in utils "make check":

======================================================================
FAIL: test_policygroups_dir_relative (__main__.T)
Test --policy-groups-dir (relative DIR)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test-aa-easyprof.py", line 240, in test_policygroups_dir_relative
    self.assertTrue(easyp.dirs['policygroups'] == rel, "Not using specified --policy-groups-dir")
AssertionError: Not using specified --policy-groups-dir

======================================================================
FAIL: test_templates_dir_relative (__main__.T)
Test --templates-dir (relative DIR)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test-aa-easyprof.py", line 363, in test_templates_dir_relative
    self.assertTrue(easyp.dirs['templates'] == rel, "Not using specified --template-dir")
AssertionError: Not using specified --template-dir

----------------------------------------------------------------------



Regards,

Christian Boltz
-- 
Die Lösung ist denkbar einfach und naheliegend: Ich bin ein Trottel.
Aber das wussten wir ja schon. :-)             [Ratti in suse-linux]




More information about the AppArmor mailing list