annotate Lib/test/test_filecmp.py @ 87690:66c1c9f32567 default tip

Add use_weakref option to functools.lru_cache The use_weakref option makes lru_cache create weak references to the function arguments when creating the cache key, which prevents them from staying in the memory forever even after all other references to them are gone. This is a proof of concept for http://bugs.python.org/issue19859
author Radomir Dopieralski <devel@sheep.art.pl>
date Tue, 03 Dec 2013 16:02:48 +0100
parents bfd53dcb02ff
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
59615
b93cfafcdcad Merged revisions 78093 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
1 import os, filecmp, shutil, tempfile
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
2 import unittest
47201
9c930a32cebb #2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents: 42188
diff changeset
3 from test import support
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
4
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
5 class FileCompareTestCase(unittest.TestCase):
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
6 def setUp(self):
47201
9c930a32cebb #2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents: 42188
diff changeset
7 self.name = support.TESTFN
9c930a32cebb #2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents: 42188
diff changeset
8 self.name_same = support.TESTFN + '-same'
9c930a32cebb #2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents: 42188
diff changeset
9 self.name_diff = support.TESTFN + '-diff'
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
10 data = 'Contents of file go here.\n'
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
11 for name in [self.name, self.name_same, self.name_diff]:
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
12 output = open(name, 'w')
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
13 output.write(data)
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
14 output.close()
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
15
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
16 output = open(self.name_diff, 'a+')
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
17 output.write('An extra line.\n')
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
18 output.close()
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
19 self.dir = tempfile.gettempdir()
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
20
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
21 def tearDown(self):
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
22 os.unlink(self.name)
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
23 os.unlink(self.name_same)
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
24 os.unlink(self.name_diff)
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
25
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
26 def test_matching(self):
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
27 self.assertTrue(filecmp.cmp(self.name, self.name_same),
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
28 "Comparing file to itself fails")
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
29 self.assertTrue(filecmp.cmp(self.name, self.name_same, shallow=False),
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
30 "Comparing file to itself fails")
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
31 self.assertTrue(filecmp.cmp(self.name, self.name, shallow=False),
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
32 "Comparing file to identical file fails")
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
33 self.assertTrue(filecmp.cmp(self.name, self.name),
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
34 "Comparing file to identical file fails")
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
35
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
36 def test_different(self):
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
37 self.assertFalse(filecmp.cmp(self.name, self.name_diff),
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
38 "Mismatched files compare as equal")
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
39 self.assertFalse(filecmp.cmp(self.name, self.dir),
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
40 "File and directory compare as equal")
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
41
84124
bfd53dcb02ff Issue #18149: Add filecmp.clear_cache() to manually clear the filecmp cache.
Ned Deily <nad@acm.org>
parents: 81449
diff changeset
42 def test_cache_clear(self):
bfd53dcb02ff Issue #18149: Add filecmp.clear_cache() to manually clear the filecmp cache.
Ned Deily <nad@acm.org>
parents: 81449
diff changeset
43 first_compare = filecmp.cmp(self.name, self.name_same, shallow=False)
bfd53dcb02ff Issue #18149: Add filecmp.clear_cache() to manually clear the filecmp cache.
Ned Deily <nad@acm.org>
parents: 81449
diff changeset
44 second_compare = filecmp.cmp(self.name, self.name_diff, shallow=False)
bfd53dcb02ff Issue #18149: Add filecmp.clear_cache() to manually clear the filecmp cache.
Ned Deily <nad@acm.org>
parents: 81449
diff changeset
45 filecmp.clear_cache()
bfd53dcb02ff Issue #18149: Add filecmp.clear_cache() to manually clear the filecmp cache.
Ned Deily <nad@acm.org>
parents: 81449
diff changeset
46 self.assertTrue(len(filecmp._cache) == 0,
bfd53dcb02ff Issue #18149: Add filecmp.clear_cache() to manually clear the filecmp cache.
Ned Deily <nad@acm.org>
parents: 81449
diff changeset
47 "Cache not cleared after calling clear_cache")
bfd53dcb02ff Issue #18149: Add filecmp.clear_cache() to manually clear the filecmp cache.
Ned Deily <nad@acm.org>
parents: 81449
diff changeset
48
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
49 class DirCompareTestCase(unittest.TestCase):
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
50 def setUp(self):
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
51 tmpdir = tempfile.gettempdir()
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
52 self.dir = os.path.join(tmpdir, 'dir')
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
53 self.dir_same = os.path.join(tmpdir, 'dir-same')
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
54 self.dir_diff = os.path.join(tmpdir, 'dir-diff')
81449
a1efab48d8f8 Close #15442: Expand the list of default directories ignored by filecmp.dircmp and expose it as a module attribute
Eli Bendersky <eliben@gmail.com>
parents: 78580
diff changeset
55
a1efab48d8f8 Close #15442: Expand the list of default directories ignored by filecmp.dircmp and expose it as a module attribute
Eli Bendersky <eliben@gmail.com>
parents: 78580
diff changeset
56 # Another dir is created under dir_same, but it has a name from the
a1efab48d8f8 Close #15442: Expand the list of default directories ignored by filecmp.dircmp and expose it as a module attribute
Eli Bendersky <eliben@gmail.com>
parents: 78580
diff changeset
57 # ignored list so it should not affect testing results.
a1efab48d8f8 Close #15442: Expand the list of default directories ignored by filecmp.dircmp and expose it as a module attribute
Eli Bendersky <eliben@gmail.com>
parents: 78580
diff changeset
58 self.dir_ignored = os.path.join(self.dir_same, '.hg')
a1efab48d8f8 Close #15442: Expand the list of default directories ignored by filecmp.dircmp and expose it as a module attribute
Eli Bendersky <eliben@gmail.com>
parents: 78580
diff changeset
59
30288
1d6d6fb7f10b Only apply case-insensitivity test on appropriate platforms.' test_filecmp.py
Raymond Hettinger <python@rcn.com>
parents: 30286
diff changeset
60 self.caseinsensitive = os.path.normcase('A') == os.path.normcase('a')
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
61 data = 'Contents of file go here.\n'
81449
a1efab48d8f8 Close #15442: Expand the list of default directories ignored by filecmp.dircmp and expose it as a module attribute
Eli Bendersky <eliben@gmail.com>
parents: 78580
diff changeset
62 for dir in (self.dir, self.dir_same, self.dir_diff, self.dir_ignored):
39136
ee6ab3317581 Don't fail if the directory already exists
Neal Norwitz <nnorwitz@gmail.com>
parents: 30288
diff changeset
63 shutil.rmtree(dir, True)
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
64 os.mkdir(dir)
30288
1d6d6fb7f10b Only apply case-insensitivity test on appropriate platforms.' test_filecmp.py
Raymond Hettinger <python@rcn.com>
parents: 30286
diff changeset
65 if self.caseinsensitive and dir is self.dir_same:
30286
22502f795b49 SF bug #453515: filecmp.dircmp case sensitivity bug
Raymond Hettinger <python@rcn.com>
parents: 28917
diff changeset
66 fn = 'FiLe' # Verify case-insensitive comparison
22502f795b49 SF bug #453515: filecmp.dircmp case sensitivity bug
Raymond Hettinger <python@rcn.com>
parents: 28917
diff changeset
67 else:
22502f795b49 SF bug #453515: filecmp.dircmp case sensitivity bug
Raymond Hettinger <python@rcn.com>
parents: 28917
diff changeset
68 fn = 'file'
22502f795b49 SF bug #453515: filecmp.dircmp case sensitivity bug
Raymond Hettinger <python@rcn.com>
parents: 28917
diff changeset
69 output = open(os.path.join(dir, fn), 'w')
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
70 output.write(data)
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
71 output.close()
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
72
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
73 output = open(os.path.join(self.dir_diff, 'file2'), 'w')
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
74 output.write('An extra file.\n')
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
75 output.close()
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
76
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
77 def tearDown(self):
81449
a1efab48d8f8 Close #15442: Expand the list of default directories ignored by filecmp.dircmp and expose it as a module attribute
Eli Bendersky <eliben@gmail.com>
parents: 78580
diff changeset
78 for dir in (self.dir, self.dir_same, self.dir_diff):
a1efab48d8f8 Close #15442: Expand the list of default directories ignored by filecmp.dircmp and expose it as a module attribute
Eli Bendersky <eliben@gmail.com>
parents: 78580
diff changeset
79 shutil.rmtree(dir)
a1efab48d8f8 Close #15442: Expand the list of default directories ignored by filecmp.dircmp and expose it as a module attribute
Eli Bendersky <eliben@gmail.com>
parents: 78580
diff changeset
80
a1efab48d8f8 Close #15442: Expand the list of default directories ignored by filecmp.dircmp and expose it as a module attribute
Eli Bendersky <eliben@gmail.com>
parents: 78580
diff changeset
81 def test_default_ignores(self):
a1efab48d8f8 Close #15442: Expand the list of default directories ignored by filecmp.dircmp and expose it as a module attribute
Eli Bendersky <eliben@gmail.com>
parents: 78580
diff changeset
82 self.assertIn('.hg', filecmp.DEFAULT_IGNORES)
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
83
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
84 def test_cmpfiles(self):
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
85 self.assertTrue(filecmp.cmpfiles(self.dir, self.dir, ['file']) ==
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
86 (['file'], [], []),
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
87 "Comparing directory to itself fails")
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
88 self.assertTrue(filecmp.cmpfiles(self.dir, self.dir_same, ['file']) ==
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
89 (['file'], [], []),
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
90 "Comparing directory to same fails")
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
91
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
92 # Try it with shallow=False
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
93 self.assertTrue(filecmp.cmpfiles(self.dir, self.dir, ['file'],
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
94 shallow=False) ==
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
95 (['file'], [], []),
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
96 "Comparing directory to itself fails")
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
97 self.assertTrue(filecmp.cmpfiles(self.dir, self.dir_same, ['file'],
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
98 shallow=False),
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
99 "Comparing directory to same fails")
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
100
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
101 # Add different file2
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
102 output = open(os.path.join(self.dir, 'file2'), 'w')
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
103 output.write('Different contents.\n')
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
104 output.close()
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
105
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
106 self.assertFalse(filecmp.cmpfiles(self.dir, self.dir_same,
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
107 ['file', 'file2']) ==
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
108 (['file'], ['file2'], []),
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
109 "Comparing mismatched directories fails")
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
110
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
111
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
112 def test_dircmp(self):
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
113 # Check attributes for comparison of two identical directories
78580
7590dec388a7 #15269: document dircmp.left and right, and add tests for them.
R David Murray <rdmurray@bitdance.com>
parents: 59615
diff changeset
114 left_dir, right_dir = self.dir, self.dir_same
7590dec388a7 #15269: document dircmp.left and right, and add tests for them.
R David Murray <rdmurray@bitdance.com>
parents: 59615
diff changeset
115 d = filecmp.dircmp(left_dir, right_dir)
7590dec388a7 #15269: document dircmp.left and right, and add tests for them.
R David Murray <rdmurray@bitdance.com>
parents: 59615
diff changeset
116 self.assertEqual(d.left, left_dir)
7590dec388a7 #15269: document dircmp.left and right, and add tests for them.
R David Murray <rdmurray@bitdance.com>
parents: 59615
diff changeset
117 self.assertEqual(d.right, right_dir)
30288
1d6d6fb7f10b Only apply case-insensitivity test on appropriate platforms.' test_filecmp.py
Raymond Hettinger <python@rcn.com>
parents: 30286
diff changeset
118 if self.caseinsensitive:
1d6d6fb7f10b Only apply case-insensitivity test on appropriate platforms.' test_filecmp.py
Raymond Hettinger <python@rcn.com>
parents: 30286
diff changeset
119 self.assertEqual([d.left_list, d.right_list],[['file'], ['FiLe']])
1d6d6fb7f10b Only apply case-insensitivity test on appropriate platforms.' test_filecmp.py
Raymond Hettinger <python@rcn.com>
parents: 30286
diff changeset
120 else:
1d6d6fb7f10b Only apply case-insensitivity test on appropriate platforms.' test_filecmp.py
Raymond Hettinger <python@rcn.com>
parents: 30286
diff changeset
121 self.assertEqual([d.left_list, d.right_list],[['file'], ['file']])
42188
81930eaae715 Patch by Christian Heimes to change self.assert_(x == y) into
Guido van Rossum <guido@python.org>
parents: 39136
diff changeset
122 self.assertEqual(d.common, ['file'])
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
123 self.assertTrue(d.left_only == d.right_only == [])
42188
81930eaae715 Patch by Christian Heimes to change self.assert_(x == y) into
Guido van Rossum <guido@python.org>
parents: 39136
diff changeset
124 self.assertEqual(d.same_files, ['file'])
81930eaae715 Patch by Christian Heimes to change self.assert_(x == y) into
Guido van Rossum <guido@python.org>
parents: 39136
diff changeset
125 self.assertEqual(d.diff_files, [])
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
126
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
127 # Check attributes for comparison of two different directories
78580
7590dec388a7 #15269: document dircmp.left and right, and add tests for them.
R David Murray <rdmurray@bitdance.com>
parents: 59615
diff changeset
128 left_dir, right_dir = self.dir, self.dir_diff
7590dec388a7 #15269: document dircmp.left and right, and add tests for them.
R David Murray <rdmurray@bitdance.com>
parents: 59615
diff changeset
129 d = filecmp.dircmp(left_dir, right_dir)
7590dec388a7 #15269: document dircmp.left and right, and add tests for them.
R David Murray <rdmurray@bitdance.com>
parents: 59615
diff changeset
130 self.assertEqual(d.left, left_dir)
7590dec388a7 #15269: document dircmp.left and right, and add tests for them.
R David Murray <rdmurray@bitdance.com>
parents: 59615
diff changeset
131 self.assertEqual(d.right, right_dir)
42188
81930eaae715 Patch by Christian Heimes to change self.assert_(x == y) into
Guido van Rossum <guido@python.org>
parents: 39136
diff changeset
132 self.assertEqual(d.left_list, ['file'])
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
133 self.assertTrue(d.right_list == ['file', 'file2'])
42188
81930eaae715 Patch by Christian Heimes to change self.assert_(x == y) into
Guido van Rossum <guido@python.org>
parents: 39136
diff changeset
134 self.assertEqual(d.common, ['file'])
81930eaae715 Patch by Christian Heimes to change self.assert_(x == y) into
Guido van Rossum <guido@python.org>
parents: 39136
diff changeset
135 self.assertEqual(d.left_only, [])
81930eaae715 Patch by Christian Heimes to change self.assert_(x == y) into
Guido van Rossum <guido@python.org>
parents: 39136
diff changeset
136 self.assertEqual(d.right_only, ['file2'])
81930eaae715 Patch by Christian Heimes to change self.assert_(x == y) into
Guido van Rossum <guido@python.org>
parents: 39136
diff changeset
137 self.assertEqual(d.same_files, ['file'])
81930eaae715 Patch by Christian Heimes to change self.assert_(x == y) into
Guido van Rossum <guido@python.org>
parents: 39136
diff changeset
138 self.assertEqual(d.diff_files, [])
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
139
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
140 # Add different file2
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
141 output = open(os.path.join(self.dir, 'file2'), 'w')
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
142 output.write('Different contents.\n')
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
143 output.close()
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
144 d = filecmp.dircmp(self.dir, self.dir_diff)
42188
81930eaae715 Patch by Christian Heimes to change self.assert_(x == y) into
Guido van Rossum <guido@python.org>
parents: 39136
diff changeset
145 self.assertEqual(d.same_files, ['file'])
81930eaae715 Patch by Christian Heimes to change self.assert_(x == y) into
Guido van Rossum <guido@python.org>
parents: 39136
diff changeset
146 self.assertEqual(d.diff_files, ['file2'])
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
147
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
148
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
149 def test_main():
47201
9c930a32cebb #2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents: 42188
diff changeset
150 support.run_unittest(FileCompareTestCase, DirCompareTestCase)
27723
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
151
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
152 if __name__ == "__main__":
7267214f0785 Add test suite for filecmp.py, after some discussion on bug #680494.
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
153 test_main()