~canonical-platform-qa/ubuntu-system-tests/qemu-build-snap

« back to all changes in this revision

Viewing changes to ubuntu_system_tests/helpers/job_fixtures.py

  • Committer: Tarmac
  • Author(s): Sergio Cazzolato, Santiago Baldassin, Heber Parrucci
  • Date: 2016-11-24 17:40:34 UTC
  • mfrom: (471.1.32 systemd-support)
  • Revision ID: tarmac-20161124174034-4isut3l7bveaenxc
Adding changes to support systemd in the target device.

Approved by Sergio Cazzolato, Richard Huddie, platform-qa-bot, Heber Parrucci.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
 
2
 
 
3
# Ubuntu System Tests
 
4
# Copyright (C) 2016 Canonical
 
5
#
 
6
# This program 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
# This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.
 
18
import fixtures
 
19
from ubuntu_system_tests.helpers.init_systems import get_init_system
 
20
 
 
21
 
 
22
class JobEnvironmentVariable(fixtures.Fixture):
 
23
    """ Class used to set an environment variable for a job during the
 
24
    test execution. This Fixture could use either upstart or systemd
 
25
    depending the machine/device where it is executed.
 
26
    """
 
27
 
 
28
    def __init__(self, global_=False, **kwargs):
 
29
        super().__init__()
 
30
        self.variables = kwargs
 
31
        self.global_ = global_
 
32
 
 
33
    def setUp(self):
 
34
        super().setUp()
 
35
        init_system = get_init_system()
 
36
        for key, value in self.variables.items():
 
37
            init_system.set_environment_variable(key, value, self.global_)
 
38
            self.addCleanup(init_system.unset_environment_variable,
 
39
                            key, value, self.global_)