blob: a7ac216e2dba8f6ac7604832f90096ed87fc4ae3 [file] [log] [blame]
Javi Merinoc26e1c72014-04-08 16:39:01 +01001#!/usr/bin/python
2
3import unittest
Javi Merino67958b12014-04-10 16:22:13 +01004import os
Javi Merino3cb3d4f2015-02-24 19:01:44 +00005import shutil
6import subprocess
7import tempfile
Javi Merinoc26e1c72014-04-08 16:39:01 +01008
9TESTS_DIRECTORY = os.path.dirname(os.path.realpath(__file__))
Javi Merinoc26e1c72014-04-08 16:39:01 +010010
Javi Merino3cb3d4f2015-02-24 19:01:44 +000011def trace_cmd_installed():
12 """Return true if trace-cmd is installed, false otherwise"""
13 with open(os.devnull) as devnull:
14 try:
15 subprocess.check_call(["trace-cmd", "options"], stdout=devnull)
16 except OSError:
17 return False
18
19 return True
20
Javi Merinoc26e1c72014-04-08 16:39:01 +010021class SetupDirectory(unittest.TestCase):
22 def __init__(self, files_to_copy, *args, **kwargs):
23 self.files_to_copy = files_to_copy
24 super(SetupDirectory, self).__init__(*args, **kwargs)
25
26 def setUp(self):
Javi Merino9e9ed7f2014-04-08 16:46:42 +010027 self.previous_dir = os.getcwd()
28
Javi Merinoc26e1c72014-04-08 16:39:01 +010029 self.out_dir = tempfile.mkdtemp()
30 os.chdir(self.out_dir)
31
Javi Merino10f90ef2014-12-16 14:51:50 +000032 for src_fname, dst_fname in self.files_to_copy:
33 src_fname = os.path.join(TESTS_DIRECTORY, src_fname)
34 shutil.copy(src_fname, os.path.join(self.out_dir, dst_fname))
Javi Merinoc26e1c72014-04-08 16:39:01 +010035
36 def tearDown(self):
Javi Merino9e9ed7f2014-04-08 16:46:42 +010037 os.chdir(self.previous_dir)
Javi Merinoc26e1c72014-04-08 16:39:01 +010038 shutil.rmtree(self.out_dir)