OLD | NEW |
| (Empty) |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 import imp | |
6 import os.path | |
7 import shutil | |
8 import sys | |
9 import tempfile | |
10 import unittest | |
11 | |
12 def _GetDirAbove(dirname): | |
13 """Returns the directory "above" this file containing |dirname| (which must | |
14 also be "above" this file).""" | |
15 path = os.path.abspath(__file__) | |
16 while True: | |
17 path, tail = os.path.split(path) | |
18 assert tail | |
19 if tail == dirname: | |
20 return path | |
21 | |
22 try: | |
23 imp.find_module("mojom") | |
24 except ImportError: | |
25 sys.path.append(os.path.join(_GetDirAbove("pylib"), "pylib")) | |
26 from mojom import fileutil | |
27 | |
28 | |
29 class FileUtilTest(unittest.TestCase): | |
30 | |
31 def testEnsureDirectoryExists(self): | |
32 """Test that EnsureDirectoryExists fuctions correctly.""" | |
33 | |
34 temp_dir = tempfile.mkdtemp() | |
35 try: | |
36 self.assertTrue(os.path.exists(temp_dir)) | |
37 | |
38 # Directory does not exist, yet. | |
39 full = os.path.join(temp_dir, "foo", "bar") | |
40 self.assertFalse(os.path.exists(full)) | |
41 | |
42 # Create the directory. | |
43 fileutil.EnsureDirectoryExists(full) | |
44 self.assertTrue(os.path.exists(full)) | |
45 | |
46 # Trying to create it again does not cause an error. | |
47 fileutil.EnsureDirectoryExists(full) | |
48 self.assertTrue(os.path.exists(full)) | |
49 | |
50 # Bypass check for directory existence to tickle error handling that | |
51 # occurs in response to a race. | |
52 fileutil.EnsureDirectoryExists(full, always_try_to_create=True) | |
53 self.assertTrue(os.path.exists(full)) | |
54 finally: | |
55 shutil.rmtree(temp_dir) | |
OLD | NEW |