summaryrefslogtreecommitdiffstats
path: root/tools/scan-build-py/tests/unit/test_libear.py
blob: 933da50242ff466721d863966db748fdd12cbef3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# -*- coding: utf-8 -*-
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

import libear as sut
import unittest
import os.path


class TemporaryDirectoryTest(unittest.TestCase):
    def test_creates_directory(self):
        dirname = None
        with sut.TemporaryDirectory() as tmpdir:
            self.assertTrue(os.path.isdir(tmpdir))
            dirname = tmpdir
        self.assertIsNotNone(dirname)
        self.assertFalse(os.path.exists(dirname))

    def test_removes_directory_when_exception(self):
        dirname = None
        try:
            with sut.TemporaryDirectory() as tmpdir:
                self.assertTrue(os.path.isdir(tmpdir))
                dirname = tmpdir
                raise RuntimeError('message')
        except:
            self.assertIsNotNone(dirname)
            self.assertFalse(os.path.exists(dirname))