]> git.proxmox.com Git - mirror_edk2.git/blame - AppPkg/Applications/Python/Python-2.7.2/Lib/distutils/tests/test_file_util.py
EmbeddedPkg: Extend NvVarStoreFormattedLib LIBRARY_CLASS
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Lib / distutils / tests / test_file_util.py
CommitLineData
4710c53d 1"""Tests for distutils.file_util."""\r
2import unittest\r
3import os\r
4import shutil\r
5\r
6from distutils.file_util import move_file, write_file, copy_file\r
7from distutils import log\r
8from distutils.tests import support\r
9from test.test_support import run_unittest\r
10\r
11class FileUtilTestCase(support.TempdirManager, unittest.TestCase):\r
12\r
13 def _log(self, msg, *args):\r
14 if len(args) > 0:\r
15 self._logs.append(msg % args)\r
16 else:\r
17 self._logs.append(msg)\r
18\r
19 def setUp(self):\r
20 super(FileUtilTestCase, self).setUp()\r
21 self._logs = []\r
22 self.old_log = log.info\r
23 log.info = self._log\r
24 tmp_dir = self.mkdtemp()\r
25 self.source = os.path.join(tmp_dir, 'f1')\r
26 self.target = os.path.join(tmp_dir, 'f2')\r
27 self.target_dir = os.path.join(tmp_dir, 'd1')\r
28\r
29 def tearDown(self):\r
30 log.info = self.old_log\r
31 super(FileUtilTestCase, self).tearDown()\r
32\r
33 def test_move_file_verbosity(self):\r
34 f = open(self.source, 'w')\r
35 try:\r
36 f.write('some content')\r
37 finally:\r
38 f.close()\r
39\r
40 move_file(self.source, self.target, verbose=0)\r
41 wanted = []\r
42 self.assertEqual(self._logs, wanted)\r
43\r
44 # back to original state\r
45 move_file(self.target, self.source, verbose=0)\r
46\r
47 move_file(self.source, self.target, verbose=1)\r
48 wanted = ['moving %s -> %s' % (self.source, self.target)]\r
49 self.assertEqual(self._logs, wanted)\r
50\r
51 # back to original state\r
52 move_file(self.target, self.source, verbose=0)\r
53\r
54 self._logs = []\r
55 # now the target is a dir\r
56 os.mkdir(self.target_dir)\r
57 move_file(self.source, self.target_dir, verbose=1)\r
58 wanted = ['moving %s -> %s' % (self.source, self.target_dir)]\r
59 self.assertEqual(self._logs, wanted)\r
60\r
61 def test_write_file(self):\r
62 lines = ['a', 'b', 'c']\r
63 dir = self.mkdtemp()\r
64 foo = os.path.join(dir, 'foo')\r
65 write_file(foo, lines)\r
66 content = [line.strip() for line in open(foo).readlines()]\r
67 self.assertEqual(content, lines)\r
68\r
69 def test_copy_file(self):\r
70 src_dir = self.mkdtemp()\r
71 foo = os.path.join(src_dir, 'foo')\r
72 write_file(foo, 'content')\r
73 dst_dir = self.mkdtemp()\r
74 copy_file(foo, dst_dir)\r
75 self.assertTrue(os.path.exists(os.path.join(dst_dir, 'foo')))\r
76\r
77def test_suite():\r
78 return unittest.makeSuite(FileUtilTestCase)\r
79\r
80if __name__ == "__main__":\r
81 run_unittest(test_suite())\r