Javi Merino | c26e1c7 | 2014-04-08 16:39:01 +0100 | [diff] [blame] | 1 | #!/usr/bin/python |
| 2 | |
| 3 | import unittest |
Javi Merino | 67958b1 | 2014-04-10 16:22:13 +0100 | [diff] [blame] | 4 | import os |
Javi Merino | 3cb3d4f | 2015-02-24 19:01:44 +0000 | [diff] [blame^] | 5 | import shutil |
| 6 | import subprocess |
| 7 | import tempfile |
Javi Merino | c26e1c7 | 2014-04-08 16:39:01 +0100 | [diff] [blame] | 8 | |
| 9 | TESTS_DIRECTORY = os.path.dirname(os.path.realpath(__file__)) |
Javi Merino | c26e1c7 | 2014-04-08 16:39:01 +0100 | [diff] [blame] | 10 | |
Javi Merino | 3cb3d4f | 2015-02-24 19:01:44 +0000 | [diff] [blame^] | 11 | def 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 Merino | c26e1c7 | 2014-04-08 16:39:01 +0100 | [diff] [blame] | 21 | class 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 Merino | 9e9ed7f | 2014-04-08 16:46:42 +0100 | [diff] [blame] | 27 | self.previous_dir = os.getcwd() |
| 28 | |
Javi Merino | c26e1c7 | 2014-04-08 16:39:01 +0100 | [diff] [blame] | 29 | self.out_dir = tempfile.mkdtemp() |
| 30 | os.chdir(self.out_dir) |
| 31 | |
Javi Merino | 10f90ef | 2014-12-16 14:51:50 +0000 | [diff] [blame] | 32 | 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 Merino | c26e1c7 | 2014-04-08 16:39:01 +0100 | [diff] [blame] | 35 | |
| 36 | def tearDown(self): |
Javi Merino | 9e9ed7f | 2014-04-08 16:46:42 +0100 | [diff] [blame] | 37 | os.chdir(self.previous_dir) |
Javi Merino | c26e1c7 | 2014-04-08 16:39:01 +0100 | [diff] [blame] | 38 | shutil.rmtree(self.out_dir) |