← Back to team overview

touch-packages team mailing list archive

[Bug 1425721] Re: Extension classes with multiple base classes aren't merged correctly.

 

Hello Christopher, or anyone else affected,

Accepted autopilot into vivid-proposed. The package will build now and
be available at
https://launchpad.net/ubuntu/+source/autopilot/1.5.1+15.04.20150522-0ubuntu1
in a few hours, and then in the -proposed repository.

Please help us by testing this new package.  See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to
enable and use -proposed.  Your feedback will aid us getting this update
out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested, and change the tag
from verification-needed to verification-done. If it does not fix the
bug for you, please add a comment stating that, and change the tag to
verification-failed.  In either case, details of your testing will help
us make a better decision.

Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification .  Thank you in
advance!

** Changed in: autopilot (Ubuntu Vivid)
       Status: New => Fix Committed

** Tags added: verification-needed

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to autopilot in Ubuntu.
https://bugs.launchpad.net/bugs/1425721

Title:
  Extension classes with multiple base classes aren't merged correctly.

Status in Autopilot:
  Fix Released
Status in autopilot package in Ubuntu:
  New
Status in autopilot source package in Vivid:
  Fix Committed

Bug description:
  Related to this bug: lp:1376996  where the fix for that introduced
  other issues for existing application test cases this code needs to be
  fixed so this aforementioned bug is fixed completely.

  The actual bug is that the extension classes aren't applied in the call to `_try_custom_proxy_classes`, the initial fix (now reverted) attempted this but this introduced unforeseen errors when running all the application tests. A further quick fix was attempted (effectively:
    base + tuple(set(extensions).difference(base))
  )
  But this introduced other errors and at that point the quick fix was no longer quick.

  
  [Impact]

   * It is possible that a test authors tests fail intermittently due to
  the base classes of a cpo not being resolved correctly and thus added
  methods etc. are not available (resulting in an attribute failure).

   * justification: Ensures that test author tests for applications have
  a decreased likelihood of failing

   * This fix improves the handling of the what is expected when using a
  custom proxy object and is stricter in what it allows.

  [Test Case]

   * To reproduce this bug:
      - Install the current python3-autopilot (apt-get install python3-autopilot python-windowmocker)
      - run this test (using the following command):
        $ python3 -m autopilot.run run autopilot.tests.functional.test_introspection_features.IntrospectionFeatureTests.test_customised_proxy_classes_have_extension_classes

  [Regression Potential]

   * Changes to the existing core app autopilot tests have been landed,
  otherwise there would be a potential regression where tests start
  failing with an exception [1].

  [1] ValueError with the message starting: "base_class: {passed} does
  not appear to be the actual base CPO class."

   * This change has been tested against the existing core app tests
  (Using a jenkins job similar to the smokeeng dash board) where all the
  tests are run. The results are inspected.

To manage notifications about this bug go to:
https://bugs.launchpad.net/autopilot/+bug/1425721/+subscriptions