зеркало из https://github.com/mozilla/gecko-dev.git
43 строки
1.3 KiB
Python
43 строки
1.3 KiB
Python
#!/usr/bin/env python
|
|
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
"""
|
|
tests for mozfile.TemporaryDirectory
|
|
"""
|
|
|
|
from mozfile import TemporaryDirectory
|
|
import os
|
|
import unittest
|
|
|
|
|
|
class TestTemporaryDirectory(unittest.TestCase):
|
|
|
|
def test_removed(self):
|
|
"""ensure that a TemporaryDirectory gets removed"""
|
|
path = None
|
|
with TemporaryDirectory() as tmp:
|
|
path = tmp
|
|
self.assertTrue(os.path.isdir(tmp))
|
|
tmpfile = os.path.join(tmp, "a_temp_file")
|
|
open(tmpfile, "w").write("data")
|
|
self.assertTrue(os.path.isfile(tmpfile))
|
|
self.assertFalse(os.path.isdir(path))
|
|
self.assertFalse(os.path.exists(path))
|
|
|
|
def test_exception(self):
|
|
"""ensure that TemporaryDirectory handles exceptions"""
|
|
path = None
|
|
with self.assertRaises(Exception):
|
|
with TemporaryDirectory() as tmp:
|
|
path = tmp
|
|
self.assertTrue(os.path.isdir(tmp))
|
|
raise Exception("oops")
|
|
self.assertFalse(os.path.isdir(path))
|
|
self.assertFalse(os.path.exists(path))
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|