summaryrefslogtreecommitdiffstats
path: root/testing/mozharness/mozharness/mozilla/mozbase.py
blob: 552ffd850cbf46bc09722da535f79303df4adeb5 (plain)
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
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

import os

from mozharness.base.script import PreScriptAction


class MozbaseMixin(object):
    """Automatically set virtualenv requirements to use mozbase
    from test package.
    """

    def __init__(self, *args, **kwargs):
        super(MozbaseMixin, self).__init__(*args, **kwargs)

    @PreScriptAction("create-virtualenv")
    def _install_mozbase(self, action):
        dirs = self.query_abs_dirs()

        requirements = os.path.join(
            dirs["abs_test_install_dir"],
            "config",
            self.config.get("mozbase_requirements", "mozbase_requirements.txt"),
        )
        if not os.path.isfile(requirements):
            self.fatal(
                "Could not find mozbase requirements file: {}".format(requirements)
            )

        self.register_virtualenv_module(requirements=[requirements], two_pass=True)