ClickAppArmor

Dependents/Clients

  • upstart-app-launch (uses apparmor kernel interface via upstart to load the AppArmor profile generated by click-apparmor)

  • ubuntu-sdk (eventually, once it uses the new aa-clickquery command)

Test Plan

  • Install image on phone
  • Reboot before installing the new MPs
  • Install freshly build MPs that are needed for landing
  • Examine sudo aa-status and verify it looks ok. It should report many profiles are loaded for click packages. Perform sudo aa-status|wc -l. You might want to save the output of sudo aa-status in $HOME for comparison later.

  • Reboot
  • Verify that sudo aa-status|wc -l has the same output after the reboot with the new packages as before the reboot with the old packages

  • Verify apps launch
    • Launch an app (eg, start the weather app). Does it start?
    • Run sudo aa-status, is the process for the app running under confinement (in enforce mode)?

  • Ensure that webapps launch
    • launch a webapp (eg, start the facebook webapp). Does it start?
    • Run sudo aa-status, is the process for the webapp running under confinement (in enforce mode)?

  • Run image tests on Ubuntu Touch (emulator or touch image):

    $ git clone https://git.launchpad.net/qa-regression-testing
    $ cd qa-regression-testing
    $ adb push ./tests /tmp/tests
    $ adb shell /tmp/tests/image/unprivileged/click-apparmor 2>&1 | tee /tmp/ca.out
    $ adb shell /tmp/tests/image/unprivileged/apparmor-easyprof-ubuntu 2>&1 | tee /tmp/aeu.out
    • Note: if testing a new framework, be sure to declare the new framework in /usr/share/click/frameworks/<framework>.framework before running the above image tests

    • Note 2: if testing on a device with a poor USB connection, install 'screen' (either pull the binary from a deb and run it or mount -o remount,rw / && dpkg -i /path/to/screen...deb && sudo mount -o remount,ro /

  • Run autopkgtests
    1. make sure the schroot is up to date (eg, autopkgtest-trusty-amd64)

    2. download the new AppArmor binaries to ../binary

    3. run the tests:
      • 14.04:

        $ adt-run -B ../binary/*.deb --source ../source/*.dsc --log-file /tmp/adt.out --- adt-virt-schroot autopkgtest-trusty-amd64 || echo "** AUTOPKGTESTS FAILED"
      • 14.10 and higher:

        $ export REL=vivid
        $ adt-run `for i in ../binary/*.deb ; do echo -n "-B $i " ; done` --source ../source/*.dsc --log-file /tmp/adt.out --- adt-virt-schroot autopkgtest-$REL-amd64 || echo "** AUTOPKGTESTS FAILED"
      • 16.04 (likely applies to vivid, but leaving that for posterity):

        $ export REL=xenial
        $ adt-run ../binary/*.deb -B --source ../source/*.dsc --log-file /tmp/adt.out --- adt-virt-schroot autopkgtest-$REL-amd64 || echo "** AUTOPKGTESTS FAILED"

    Note, as of 2016/08/26 yakkety's autopkgtest 'test_aa-clickhook' fails due to a problem with 'click install' bug #1615757

Process/Merges/TestPlans/ClickAppArmor (last edited 2016-08-26 16:39:43 by jdstrand)