~dstansby-deactivatedaccount/ubuntu/maverick/checkbox/checkbox-fix-525454

« back to all changes in this revision

Viewing changes to plugins/remote_suite.py

  • Committer: Bazaar Package Importer
  • Author(s): Mathias Gug, Marc Tardif
  • Date: 2010-03-09 16:58:36 UTC
  • Revision ID: james.westby@ubuntu.com-20100309165836-26f22oe6ubppzx0d
Tags: 0.9
[ Marc Tardif ]
New upstream release (LP: #532882):
* Introduced job_prompt plugin to treat all jobs (suites, tests, etc.) as composites.
* Replaced the registry and resource scripts and centralized job iteration.
* Replaced dependency on dbus by using sudo/gksu/kdesudo instead.
* Replaced mktemp with mkdtemp for security purposes.
* Fixed strings in fingerprint and modem tests (LP: #457759)
* Fixed client side validation of Launchpad form (LP: #438671)
* Added device information to tags when reporting bugs with apport.
* Added shorthands for blacklist-file and whitelist-file.
* Added support for apport default configuration (LP: #465447)
* Added support for scrolled options list (LP: #411526)
* Added support for tests generated by suites to run as root.
* Added support for requirements in attachments.
* Added support for armv7l processor
* Added Autotest integration
* Added LTP integration
* Added Phoronix integration
* Added qa-regression-testing integration

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#
 
2
# This file is part of Checkbox.
 
3
#
 
4
# Copyright 2008 Canonical Ltd.
 
5
#
 
6
# Checkbox is free software: you can redistribute it and/or modify
 
7
# it under the terms of the GNU General Public License as published by
 
8
# the Free Software Foundation, either version 3 of the License, or
 
9
# (at your option) any later version.
 
10
#
 
11
# Checkbox is distributed in the hope that it will be useful,
 
12
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
14
# GNU General Public License for more details.
 
15
#
 
16
# You should have received a copy of the GNU General Public License
 
17
# along with Checkbox.  If not, see <http://www.gnu.org/licenses/>.
 
18
#
 
19
from checkbox.plugin import Plugin
 
20
 
 
21
 
 
22
class RemoteSuite(Plugin):
 
23
 
 
24
    def register(self, manager):
 
25
        super(RemoteSuite, self).register(manager)
 
26
 
 
27
        for (rt, rh) in [
 
28
             ("prompt-remote", self.prompt_remote),
 
29
             ("report-remote", self.report_remote)]:
 
30
            self._manager.reactor.call_on(rt, rh)
 
31
 
 
32
    def prompt_remote(self, interface, suite):
 
33
        self._manager.reactor.fire("prompt-suite", interface, suite)
 
34
 
 
35
        # Register temporary handler for report-message events
 
36
        def report_message(message):
 
37
            message["suite"] = suite["name"]
 
38
 
 
39
        event_id = self._manager.reactor.call_on("report-message", report_message)
 
40
        self._manager.reactor.fire("message-exec", suite)
 
41
        self._manager.reactor.cancel_call(event_id)
 
42
 
 
43
    def report_remote(self, suite):
 
44
        self._manager.reactor.fire("report-suite", suite)
 
45
 
 
46
 
 
47
factory = RemoteSuite