Mercurial > cpython-lru_cache-weakref
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 |
| 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() |
