~bladernr/checkbox/1095713-set-pipefail-on-sleep-jobs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
from hwtest.plugin import Plugin


class CategoryPrompt(Plugin):

    attributes = ["category"]

    def register(self, manager):
        super(CategoryPrompt, self).register(manager)
        self._manager.reactor.call_on(("interface", "show-category"), self.show_category)

    def show_category(self, interface):
        category = self.config.category
        registry = self._manager.registry

        # Try to determine category from HAL formfactor
        if not category:
            formfactor = registry.hal.computer.system.formfactor
            if formfactor != "unknown":
                category = formfactor

        # Try to determine category from dpkg architecture
        if not category:
            architecture = registry.dpkg.architecture
            if architecture == "sparc":
                category = "server"

        # Try to determine category from kernel version
        if not category:
            version = registry.hal.system.kernel.version
            if version.endswith("-server"):
                category = "server"

        if not category:
            category = interface.show_category()

        self._manager.reactor.fire(("prompt", "set-category"),
            category)


factory = CategoryPrompt