annotate Lib/test/test_netrc.py @ 79675:c0a2294de787 2.7

Issue #16199: Backport 2to3 typo fix from 3.2.
author Chris Jerdonek <chris.jerdonek@gmail.com>
date Thu, 11 Oct 2012 16:15:46 -0700
parents cb3a77b0f8dd
children 2e19c65d6688
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
70766
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
1 import netrc, os, unittest, sys, textwrap
24364
aa0d2d51fbde Get rid of relative imports in all unittests. Now anything that
Barry Warsaw <barry@python.org>
parents: 23075
diff changeset
2 from test import test_support
22542
16e542af2c45 This commit was manufactured by cvs2svn to create branch
cvs2svn <tools@python.org>
parents:
diff changeset
3
24710
11c701038805 Massive changes from SF 589982 (tempfile.py rewrite, by Zack
Guido van Rossum <guido@python.org>
parents: 24364
diff changeset
4 temp_filename = test_support.TESTFN
22542
16e542af2c45 This commit was manufactured by cvs2svn to create branch
cvs2svn <tools@python.org>
parents:
diff changeset
5
16e542af2c45 This commit was manufactured by cvs2svn to create branch
cvs2svn <tools@python.org>
parents:
diff changeset
6 class NetrcTestCase(unittest.TestCase):
16e542af2c45 This commit was manufactured by cvs2svn to create branch
cvs2svn <tools@python.org>
parents:
diff changeset
7
70766
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
8 def tearDown(self):
22542
16e542af2c45 This commit was manufactured by cvs2svn to create branch
cvs2svn <tools@python.org>
parents:
diff changeset
9 os.unlink(temp_filename)
16e542af2c45 This commit was manufactured by cvs2svn to create branch
cvs2svn <tools@python.org>
parents:
diff changeset
10
70766
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
11 def make_nrc(self, test_data):
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
12 test_data = textwrap.dedent(test_data)
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
13 mode = 'w'
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
14 if sys.platform != 'cygwin':
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
15 mode += 't'
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
16 with open(temp_filename, mode) as fp:
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
17 fp.write(test_data)
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
18 return netrc.netrc(temp_filename)
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
19
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
20 def test_default(self):
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
21 nrc = self.make_nrc("""\
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
22 machine host1.domain.com login log1 password pass1 account acct1
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
23 default login log2 password pass2
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
24 """)
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
25 self.assertEqual(nrc.hosts['host1.domain.com'],
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
26 ('log1', 'acct1', 'pass1'))
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
27 self.assertEqual(nrc.hosts['default'], ('log2', None, 'pass2'))
66598
e7844b7f6ed4 Merged revisions 86925 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents: 55002
diff changeset
28
e7844b7f6ed4 Merged revisions 86925 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents: 55002
diff changeset
29 def test_macros(self):
70766
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
30 nrc = self.make_nrc("""\
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
31 macdef macro1
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
32 line1
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
33 line2
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
34
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
35 macdef macro2
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
36 line3
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
37 line4
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
38 """)
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
39 self.assertEqual(nrc.macros, {'macro1': ['line1\n', 'line2\n'],
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
40 'macro2': ['line3\n', 'line4\n']})
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
41
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
42 def _test_passwords(self, nrc, passwd):
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
43 nrc = self.make_nrc(nrc)
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
44 self.assertEqual(nrc.hosts['host.domain.com'], ('log', 'acct', passwd))
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
45
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
46 def test_password_with_leading_hash(self):
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
47 self._test_passwords("""\
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
48 machine host.domain.com login log password #pass account acct
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
49 """, '#pass')
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
50
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
51 def test_password_with_trailing_hash(self):
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
52 self._test_passwords("""\
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
53 machine host.domain.com login log password pass# account acct
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
54 """, 'pass#')
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
55
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
56 def test_password_with_internal_hash(self):
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
57 self._test_passwords("""\
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
58 machine host.domain.com login log password pa#ss account acct
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
59 """, 'pa#ss')
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
60
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
61 def _test_comment(self, nrc, passwd='pass'):
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
62 nrc = self.make_nrc(nrc)
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
63 self.assertEqual(nrc.hosts['foo.domain.com'], ('bar', None, passwd))
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
64 self.assertEqual(nrc.hosts['bar.domain.com'], ('foo', None, 'pass'))
66598
e7844b7f6ed4 Merged revisions 86925 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents: 55002
diff changeset
65
70766
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
66 def test_comment_before_machine_line(self):
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
67 self._test_comment("""\
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
68 # comment
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
69 machine foo.domain.com login bar password pass
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
70 machine bar.domain.com login foo password pass
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
71 """)
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
72
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
73 def test_comment_before_machine_line_no_space(self):
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
74 self._test_comment("""\
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
75 #comment
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
76 machine foo.domain.com login bar password pass
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
77 machine bar.domain.com login foo password pass
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
78 """)
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
79
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
80 def test_comment_before_machine_line_hash_only(self):
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
81 self._test_comment("""\
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
82 #
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
83 machine foo.domain.com login bar password pass
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
84 machine bar.domain.com login foo password pass
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
85 """)
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
86
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
87 def test_comment_at_end_of_machine_line(self):
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
88 self._test_comment("""\
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
89 machine foo.domain.com login bar password pass # comment
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
90 machine bar.domain.com login foo password pass
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
91 """)
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
92
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
93 def test_comment_at_end_of_machine_line_no_space(self):
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
94 self._test_comment("""\
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
95 machine foo.domain.com login bar password pass #comment
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
96 machine bar.domain.com login foo password pass
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
97 """)
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
98
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
99 def test_comment_at_end_of_machine_line_pass_has_hash(self):
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
100 self._test_comment("""\
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
101 machine foo.domain.com login bar password #pass #comment
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
102 machine bar.domain.com login foo password pass
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
103 """, '#pass')
cb3a77b0f8dd fix regression in netrc comment handling (closes #12009)
Benjamin Peterson <benjamin@python.org>
parents: 66598
diff changeset
104
23075
b7e87732f6ab Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 22542
diff changeset
105
27912
c5ebacbba0be Actually run these tests from regrtest.py.
Neal Norwitz <nnorwitz@gmail.com>
parents: 24710
diff changeset
106 def test_main():
c5ebacbba0be Actually run these tests from regrtest.py.
Neal Norwitz <nnorwitz@gmail.com>
parents: 24710
diff changeset
107 test_support.run_unittest(NetrcTestCase)
23075
b7e87732f6ab Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 22542
diff changeset
108
22542
16e542af2c45 This commit was manufactured by cvs2svn to create branch
cvs2svn <tools@python.org>
parents:
diff changeset
109 if __name__ == "__main__":
27912
c5ebacbba0be Actually run these tests from regrtest.py.
Neal Norwitz <nnorwitz@gmail.com>
parents: 24710
diff changeset
110 test_main()