blob: a3c2a37d7fcbcd99101bea6a6fc944fd35addaa2 [file] [log] [blame]
Javi Merino034e7cc2015-04-22 18:39:21 +01001# $Copyright:
2# ----------------------------------------------------------------
3# This confidential and proprietary software may be used only as
4# authorised by a licensing agreement from ARM Limited
5# (C) COPYRIGHT 2015 ARM Limited
6# ALL RIGHTS RESERVED
7# The entire notice above must be reproduced on all authorised
8# copies and copies may only be made to the extent permitted
9# by a licensing agreement from ARM Limited.
10# ----------------------------------------------------------------
11# File: utils_tests.py
12# ----------------------------------------------------------------
13# $
14#
Javi Merinoc26e1c72014-04-08 16:39:01 +010015
16import unittest
Javi Merino67958b12014-04-10 16:22:13 +010017import os
Javi Merino3cb3d4f2015-02-24 19:01:44 +000018import shutil
19import subprocess
20import tempfile
Javi Merinoc26e1c72014-04-08 16:39:01 +010021
22TESTS_DIRECTORY = os.path.dirname(os.path.realpath(__file__))
Javi Merinoc26e1c72014-04-08 16:39:01 +010023
Javi Merino3cb3d4f2015-02-24 19:01:44 +000024def trace_cmd_installed():
25 """Return true if trace-cmd is installed, false otherwise"""
26 with open(os.devnull) as devnull:
27 try:
28 subprocess.check_call(["trace-cmd", "options"], stdout=devnull)
29 except OSError:
30 return False
31
32 return True
33
Javi Merinoc26e1c72014-04-08 16:39:01 +010034class SetupDirectory(unittest.TestCase):
35 def __init__(self, files_to_copy, *args, **kwargs):
36 self.files_to_copy = files_to_copy
37 super(SetupDirectory, self).__init__(*args, **kwargs)
38
39 def setUp(self):
Javi Merino9e9ed7f2014-04-08 16:46:42 +010040 self.previous_dir = os.getcwd()
41
Javi Merinoc26e1c72014-04-08 16:39:01 +010042 self.out_dir = tempfile.mkdtemp()
43 os.chdir(self.out_dir)
44
Javi Merino10f90ef2014-12-16 14:51:50 +000045 for src_fname, dst_fname in self.files_to_copy:
46 src_fname = os.path.join(TESTS_DIRECTORY, src_fname)
47 shutil.copy(src_fname, os.path.join(self.out_dir, dst_fname))
Javi Merinoc26e1c72014-04-08 16:39:01 +010048
49 def tearDown(self):
Javi Merino9e9ed7f2014-04-08 16:46:42 +010050 os.chdir(self.previous_dir)
Javi Merinoc26e1c72014-04-08 16:39:01 +010051 shutil.rmtree(self.out_dir)