1# -*- coding: utf-8 -*- 2# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 3# See https://llvm.org/LICENSE.txt for license information. 4# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 5 6import libear as sut 7import unittest 8import os.path 9 10 11class TemporaryDirectoryTest(unittest.TestCase): 12 def test_creates_directory(self): 13 dirname = None 14 with sut.TemporaryDirectory() as tmpdir: 15 self.assertTrue(os.path.isdir(tmpdir)) 16 dirname = tmpdir 17 self.assertIsNotNone(dirname) 18 self.assertFalse(os.path.exists(dirname)) 19 20 def test_removes_directory_when_exception(self): 21 dirname = None 22 try: 23 with sut.TemporaryDirectory() as tmpdir: 24 self.assertTrue(os.path.isdir(tmpdir)) 25 dirname = tmpdir 26 raise RuntimeError('message') 27 except: 28 self.assertIsNotNone(dirname) 29 self.assertFalse(os.path.exists(dirname)) 30