← Back to team overview

canonical-ubuntu-qa team mailing list archive

[Bug 1987121] Re: Can't trigger tests if the package never had tests before

 

Hey, this got amended a little while ago, if you're in one of these
teams [1] you can trigger tests for a new package

[1] https://git.launchpad.net/autopkgtest-
cloud/tree/charms/focal/autopkgtest-web/webcontrol/request/submit.py#n39

** Changed in: autopkgtest (Ubuntu)
       Status: Confirmed => Fix Released

-- 
You received this bug notification because you are a member of
Canonical's Ubuntu QA, which is subscribed to autopkgtest in Ubuntu.
https://bugs.launchpad.net/bugs/1987121

Title:
  Can't trigger tests if the package never had tests before

Status in autopkgtest package in Ubuntu:
  Fix Released

Bug description:
  I'm unsure if this is the right place to file this bug, as it's a
  server-side issue.

  Specifically what happened, is that I added DEP8 tests to a package
  that never had DEP8 tests before, uploaded it to a ppa, and tried to
  trigger a test run with this url:

  http://autopkgtest.ubuntu.com/request.cgi?release=kinetic&arch=amd64&package=libp11&ppa=ahasenack/libp11-update&trigger=libp11/0.4.12-0ubuntu1~ppa4

  The reply from the server was:

  You submitted an invalid request: Package libp11 does not have any
  test results

  Bryce investigated it a bit and found this code:
  def is_valid_package_with_results(self, release, arch, package):
          """Check if package exists and has any results on that release+arch                                          
                                                                                                                       
          Use this for validating *tested* packages (not triggers, as they don't                                       
          necessarily have tests themselves).                                                                          
          """
          c = self.db_con.cursor()
          if release:
              c.execute('SELECT count(arch) FROM test '
                'WHERE package=? AND arch=? AND release=?',
                        (package, arch, release))
          else:
              c.execute('SELECT count(arch) FROM test '
                        'WHERE package=? AND arch=?',
                (package, arch))
          return c.fetchone()[0] > 0

  ...

          if not self.is_valid_package_with_results(None if (ppas or skip_result_check) else release, arch, package):
              raise ValueError('Package %s does not have any test results' %
                               package)

  
  Where it looks like the server is checking a local database, and not the package that is being used in the test, and as a consequence, if the package never had DEP8 tests before, they won't be attempted, even if the package now has them.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/autopkgtest/+bug/1987121/+subscriptions