blob: 7caa66980589ac546393b928490f8d41ed196a2d [file] [log] [blame]
Javi Merinoc26e1c72014-04-08 16:39:01 +01001#!/usr/bin/python
Javi Merino034e7cc2015-04-22 18:39:21 +01002# $Copyright:
3# ----------------------------------------------------------------
4# This confidential and proprietary software may be used only as
5# authorised by a licensing agreement from ARM Limited
6# (C) COPYRIGHT 2015 ARM Limited
7# ALL RIGHTS RESERVED
8# The entire notice above must be reproduced on all authorised
9# copies and copies may only be made to the extent permitted
10# by a licensing agreement from ARM Limited.
11# ----------------------------------------------------------------
12# File: utils_tests.py
13# ----------------------------------------------------------------
14# $
15#
Javi Merinoc26e1c72014-04-08 16:39:01 +010016
17import unittest
Javi Merino67958b12014-04-10 16:22:13 +010018import os
Javi Merino3cb3d4f2015-02-24 19:01:44 +000019import shutil
20import subprocess
21import tempfile
Javi Merinoc26e1c72014-04-08 16:39:01 +010022
23TESTS_DIRECTORY = os.path.dirname(os.path.realpath(__file__))
Javi Merinoc26e1c72014-04-08 16:39:01 +010024
Javi Merino3cb3d4f2015-02-24 19:01:44 +000025def trace_cmd_installed():
26 """Return true if trace-cmd is installed, false otherwise"""
27 with open(os.devnull) as devnull:
28 try:
29 subprocess.check_call(["trace-cmd", "options"], stdout=devnull)
30 except OSError:
31 return False
32
33 return True
34
Javi Merinoc26e1c72014-04-08 16:39:01 +010035class SetupDirectory(unittest.TestCase):
36 def __init__(self, files_to_copy, *args, **kwargs):
37 self.files_to_copy = files_to_copy
38 super(SetupDirectory, self).__init__(*args, **kwargs)
39
40 def setUp(self):
Javi Merino9e9ed7f2014-04-08 16:46:42 +010041 self.previous_dir = os.getcwd()
42
Javi Merinoc26e1c72014-04-08 16:39:01 +010043 self.out_dir = tempfile.mkdtemp()
44 os.chdir(self.out_dir)
45
Javi Merino10f90ef2014-12-16 14:51:50 +000046 for src_fname, dst_fname in self.files_to_copy:
47 src_fname = os.path.join(TESTS_DIRECTORY, src_fname)
48 shutil.copy(src_fname, os.path.join(self.out_dir, dst_fname))
Javi Merinoc26e1c72014-04-08 16:39:01 +010049
50 def tearDown(self):
Javi Merino9e9ed7f2014-04-08 16:46:42 +010051 os.chdir(self.previous_dir)
Javi Merinoc26e1c72014-04-08 16:39:01 +010052 shutil.rmtree(self.out_dir)