Ticket #1253: test-1253.darcs.patch

File test-1253.darcs.patch, 18.6 KB (added by davidsarah, at 2010-11-10T04:05:56Z)

test_system.py: test for 'tahoe mv' with the http_proxy and HTTP_PROXY variables set. refs #1253

Line 
11 patch for repository davidsarah@dev.allmydata.org:/home/darcs/tahoe/trunk:
2
3Wed Nov 10 03:36:49 GMT Standard Time 2010  david-sarah@jacaranda.org
4  * test_system.py: test for 'tahoe mv' with the http_proxy and HTTP_PROXY variables set. refs #1253
5
6New patches:
7
8[test_system.py: test for 'tahoe mv' with the http_proxy and HTTP_PROXY variables set. refs #1253
9david-sarah@jacaranda.org**20101110033649
10 Ignore-this: a75557ba7589352768d227e2cd37299e
11] {
12hunk ./src/allmydata/test/test_system.py 7
13 from twisted.trial import unittest
14 from twisted.internet import defer
15 from twisted.internet import threads # CLI tests use deferToThread
16+from twisted.internet import utils
17+
18 import allmydata
19 from allmydata import uri
20 from allmydata.storage.mutable import MutableShareFile
21hunk ./src/allmydata/test/test_system.py 34
22 
23 from allmydata.test.common import SystemTestMixin
24 
25+# TODO: move these to common or common_util
26+from allmydata.test.test_runner import bintahoe, SkipMixin
27+
28 LARGE_DATA = """
29 This is some data to publish to the remote grid.., which needs to be large
30 enough to not fit inside a LIT uri.
31hunk ./src/allmydata/test/test_system.py 55
32                 self.interrupt_after_d.callback(self)
33         return upload.Data.read(self, length)
34 
35-class SystemTest(SystemTestMixin, unittest.TestCase):
36+class SystemTest(SystemTestMixin, SkipMixin, unittest.TestCase):
37     timeout = 3600 # It takes longer than 960 seconds on Zandr's ARM box.
38 
39     def test_connections(self):
40hunk ./src/allmydata/test/test_system.py 1597
41         d.addCallback(_check_ls_rouri)
42 
43 
44-        d.addCallback(run, "mv", "tahoe-file-stdin", "tahoe-moved")
45+        d.addCallback(run, "mv", "tahoe-file-stdin", "tahoe-moved-first-time")
46         d.addCallback(run, "ls")
47hunk ./src/allmydata/test/test_system.py 1599
48-        d.addCallback(_check_ls, ["tahoe-moved"], ["tahoe-file-stdin"])
49+        d.addCallback(_check_ls, ["tahoe-moved-first-time"], ["tahoe-file-stdin"])
50+
51+        def _mv_with_http_proxy(ign):
52+            env = os.environ
53+            env['http_proxy'] = env['HTTP_PROXY'] = "http://127.0.0.0:12345"  # invalid address
54+            return self._run_cli_in_subprocess(["mv"] + nodeargs + ["tahoe-moved-first-time", "tahoe-moved"], env=env)
55+        d.addCallback(_mv_with_http_proxy)
56+
57+        def _check_mv_with_http_proxy(res):
58+            out, err, rc_or_sig = res
59+            self.failUnlessEqual(rc_or_sig, 0, str(res))
60+        d.addCallback(_check_mv_with_http_proxy)
61+
62+        d.addCallback(run, "ls")
63+        d.addCallback(_check_ls, ["tahoe-moved"], ["tahoe-moved-firsttime"])
64 
65         d.addCallback(run, "ln", "tahoe-moved", "newlink")
66         d.addCallback(run, "ls")
67hunk ./src/allmydata/test/test_system.py 1767
68         d.addCallback(_done)
69         return d
70 
71+    def _run_cli_in_subprocess(self, argv, env=None):
72+        self.skip_if_cannot_run_bintahoe()
73+
74+        if env is None:
75+            env = os.environ
76+        d = utils.getProcessOutputAndValue(sys.executable, args=[bintahoe] + argv,
77+                                           env=env)
78+        return d
79+
80     def _test_checker(self, res):
81         ut = upload.Data("too big to be literal" * 200, convergence=None)
82         d = self._personal_node.add_file(u"big file", ut)
83}
84
85Context:
86
87[test_client.py: change overzealous use of failUnlessReallyEqual on integers back to failUnlessEqual.
88david-sarah@jacaranda.org**20101109230816
89 Ignore-this: 6488663c0c9212f548f8b498c42c9d30
90]
91[misc/build_helpers/show-tool-versions.py: look for zetuptoolz egg in the current directory, not the parent.
92david-sarah@jacaranda.org**20101107233615
93 Ignore-this: 6e7081a69584d07d5c38fc9de6749254
94]
95[misc/build_helpers/show-tool-versions.py: if we can't import pkg_resources, insert the bundled zetuptoolz egg onto sys.path.
96david-sarah@jacaranda.org**20101106234404
97 Ignore-this: adb1bd5800129a6c9596f89620146f85
98]
99[setup.py: fix a bug in the check for whether we are running 'trial' or 'test', that affected zooko's test for #1233. refs #1233
100david-sarah@jacaranda.org**20101105235415
101 Ignore-this: bc79517853f39301218d7d840de830f2
102]
103[misc/build_helpers/gen-package-table.py: allow all lowercase letters except 'w' (for example, 'c' and 'dev') in package versions.
104david-sarah@jacaranda.org**20101105154756
105 Ignore-this: 1189fad2b0d210e2f827bb710f532f7e
106]
107[setup: fix gen-package-table to allow the "_r$REV" version numbers of packages
108zooko@zooko.com**20101104073944
109 Ignore-this: b6b72b0d2a207929d4ffb0cfc988e8ee
110]
111[misc/build_helpers/run_trial.py: minor refactoring -- make variable names consistent between run_trial.py and test_runner.py
112david-sarah@jacaranda.org**20101104012027
113 Ignore-this: 443fb127ad39015fb2d82bd1beacfa66
114]
115[NEWS: entry for #1242 (tilde expansion in 'tahoe backup --exclude-from'). refs #1242
116david-sarah@jacaranda.org**20101104011915
117 Ignore-this: 1c85e7c74f5a48b4cdae5aa073c6b9fb
118]
119[tests: make test-with-fake-pkg's unacceptably-old fake pycryptopp be 0.5.13 instead of 0.5.17, since 0.5.17 is acceptably new on non-x86 archs
120zooko@zooko.com**20101102053357
121 Ignore-this: a400f6f73c7574f2b2266547b0e7b051
122 Also move the fakepkgs directory to be in misc/build_helpers/ instead of in the base of the source tree.
123]
124[misc/build_helpers/gen-package-table.py: fix missing 'r's (meant to delete CRs :-)
125david-sarah@jacaranda.org**20101103043718
126 Ignore-this: ffa25a18637b6165725a49a79bfa6cc
127]
128[add misc/build_helpers/gen-package-table.py. refs #1247
129david-sarah@jacaranda.org**20101103043328
130 Ignore-this: 3185c869d98d6fecbae4bcc6b74a810d
131]
132[setup: FreeStorm's WinXP-x86-py2.6 buildslave has informed us that there is yet a fourth way to spell "i386" in Python
133zooko@zooko.com**20101101052142
134 Ignore-this: 732892975c19f7fd18caeb071f09ef7
135]
136[setup: add platform.machine() to show-tool-versions, because FreeStorm WinXP builder apparently thinks that its platform.machine() is not one of ['i386', 'x86_64', 'amd64', ''], since it is requiring pycryptopp >= 0.5.14 instead of pycryptopp >= 0.5.20
137zooko@zooko.com**20101101042721
138 Ignore-this: 322a3e5af9785ebca3452f3937ce47a4
139]
140[edit docs for English usage, rename "Tahoe" to "Tahoe-LAFS" in docs/configuration.rst, rename a variable in bin/tahoe-script.template for clarity, update François's CREDITS entry
141zooko@zooko.com**20101101042602
142 Ignore-this: d192c4c9660b1b9173db19d0e533dc22
143]
144[test_runner.py: fix test failure in test_the_right_code after applying zooko's change to test-with-fake-pkg.py
145david-sarah@jacaranda.org**20101102035905
146 Ignore-this: 71b467615ae7dcdfbf84049e60a08933
147]
148[allmydata/__init__.py: move the call to require_auto_deps() to the top again, since the [4784] patch turned out not to be the cause of the failure on the 'mm netbsd5' buildslave.
149david-sarah@jacaranda.org**20101101003316
150 Ignore-this: 879a5188ff2529fb755b6e594c59aeb2
151]
152[allmydata/__init__.py: put the _auto_deps.require_auto_deps() call back in exactly the same place it was prior to [4784].
153david-sarah@jacaranda.org**20101031174649
154 Ignore-this: c5f4fbb2c444d7b05b1d30a199b6178f
155]
156[allmydata/__init__.py: suppress a DeprecationWarning for the sha module on importing pycrypto.
157david-sarah@jacaranda.org**20101031160636
158 Ignore-this: 414d55a0da432cfb0d65329a88e13396
159]
160[misc/build_helpers/run_trial.py: fix another typo in last patch.
161david-sarah@jacaranda.org**20101031160332
162 Ignore-this: 61131c5775a2393b6862f76b7bc222f
163]
164[misc/build_helpers/run_trial.py: fix typo in last patch.
165david-sarah@jacaranda.org**20101031155215
166 Ignore-this: a2fbecf858c0a399e938d4f1ade7329b
167]
168[allmydata/__init__.py: call require_auto_deps() after importing nevow and twisted, reverting change in [4784]. Also fix a missing 'warnings.filters.pop()'.
169david-sarah@jacaranda.org**20101031153828
170 Ignore-this: 8a5cd7798674d56868e9c333a77a4ac2
171]
172[misc/build_helpers/run_trial.py: fix false positive on directory check that can occur when running run_trial from test-with-fake-pkg manually.
173david-sarah@jacaranda.org**20101031153613
174 Ignore-this: 7d4a0758a305cbfdd296570a9c1a88d2
175]
176[allmydata.__init__.py: temporary hack to debug failure on midnightmagic's buildslave
177david-sarah@jacaranda.org**20101031055003
178 Ignore-this: 2ac28b2f19a436a374399b4c59d29cc7
179]
180[NEWS: entries for #1190 and #1212, and minor cleanups. refs #1190, #1212
181david-sarah@jacaranda.org**20101031051426
182 Ignore-this: c318dff69296ae1e1a897752b5221870
183]
184[tahoe backup: perform tilde expansion in exclude-from filename (version 2). fixes #1241
185david-sarah@jacaranda.org**20101031035231
186 Ignore-this: 65e6cd2247dd8d1fc025758d740708c0
187]
188[NEWS: add news entry for #1223
189Francois Deppierraz <francois@ctrlaltdel.ch>**20101030111130
190 Ignore-this: 6b6afd4b0f0527a3c9784c1db95d083
191]
192[NEWS: add a NEWS entry about bug #1045
193Francois Deppierraz <francois@ctrlaltdel.ch>**20101030101351
194 Ignore-this: 7e758afbbd0f1d22a5d0b4fc38661c1d
195]
196[setup: run require_auto_deps() before attempting to import any deps in __init__.py
197zooko@zooko.com**20101030081035
198 Ignore-this: ffcaf2450628543e020e9919e455f691
199 For one thing, this makes missing-dependency failures into DistributionNotFound errors instead of ImportErrors, which might be more useful to the user. For another thing, if someone is using distributions that were installed with --multi-version, then they might be not importable until after require_auto_deps() has been run. (The docs claim that this would be the case, but we don't have an example of this happening at this time.)
200]
201[setup: show-tool-versions: emit module and __version__ information even when module name != distribution (package) name, and add TwistedCore, TwistedWeb, and TwistedConch
202zooko@zooko.com**20101030070233
203 Ignore-this: 3df19910090d44502ddeeef5d9c29a7
204]
205[misc/build_helpers/test-with-fake-pkg.py: look for eggs in the parent of the src directory. refs #1190
206david-sarah@jacaranda.org**20101030034303
207 Ignore-this: 4a3cf286272cdb5d06aac15fb5998b33
208]
209[scripts/runner.py: fix unused import of allmydata. refs #1190
210david-sarah@jacaranda.org**20101030003149
211 Ignore-this: b2fc67f6192ea7ccf8a5ad010ce74a64
212]
213[scripts/runner.py: remove pkg_resources.require() calls. These are at best redundant because we have already called _auto_deps.require_auto_deps() (from allmydata.__init__) at that point, and they are causing failure of the test-from-prefixdir step on some buildslaves. refs #1190
214david-sarah@jacaranda.org**20101029235328
215 Ignore-this: e00dee63acc7b76a5755025d75abf524
216]
217[misc/build_helpers/run_trial.py: look for zetuptoolz egg in the parent directory, not the cwd of run_trial. refs #1190
218david-sarah@jacaranda.org**20101029230329
219 Ignore-this: 1596fb8c290d1c706f079701b1857db8
220]
221[scripts/tahoe_backup.py: oops, fix missing import, thanks pyflakes
222Brian Warner <warner@lothar.com>**20101029094223
223 Ignore-this: 285c35af824935641a5be35c008b080c
224 
225 test_cli.py: hush minor pyflakes complaint
226]
227[mutable/servermap.py: update comment. Closes #1231.
228Brian Warner <warner@lothar.com>**20101029091424
229 Ignore-this: 80bf854123fc254e097a81b82bdf4990
230]
231[tahoe_cp.py: Don't call urllib.quote with an Unicode argument, fix #1224
232Brian Warner <warner@lothar.com>**20101029084520
233 Ignore-this: 5524722d5e5babbb73ca0969d54967f6
234 tahoe_backup.py: Fix another (potential) occurrence of calling urllib.quote()
235 with an Unicode parameter
236]
237[fix #1223, crash+inefficiency during repair due to read overrun
238Brian Warner <warner@lothar.com>**20101029082036
239 Ignore-this: e6aa0295ad254544da3b5cc41b33d862
240 
241 * repairer (really the uploader) reads beyond end of input file (Uploadable)
242 * new-downloader does not tolerate overreads
243 * uploader does lots of tiny reads (inefficient)
244 
245 This fixes the last two. The uploader still does a single overread at the end
246 of the input file, but now that's ok so we can leave it in place. The
247 uploader now expects the Uploadable to behave like a normal disk
248 file (reading beyond EOF will return less data than was asked for), and now
249 the new-downloadable behaves that way.
250]
251[add misc/build_helpers/test-with-fake-pkg.py. refs #1190
252david-sarah@jacaranda.org**20101029025150
253 Ignore-this: 995f220962708f1bad83092161130f67
254]
255[bundled zetuptoolz: if __main__.__requires__ exists then do not add packages to the working set if they provide an incompatible version of a package. Also put a complete __requires__ listing the transitive closure of dependencies at the beginning of generated scripts, rather than a shallow __requires__ specifying only the application version. refs #1190
256david-sarah@jacaranda.org**20101029223111
257 Ignore-this: a95f1967884340e53bf3adf90db40cfc
258]
259[setup.py, misc/build_helpers/run_trial.py: use undocumented __requires__ variable to cause setuptools/zetuptoolz to put the correct versions of dependencies on sys.path. Also ensure that run_trial adds the bundled zetuptoolz egg at the start of sys.path if present. Make the source directory comparison work correctly for the test-with-fake-pkg build step. refs #1190
260david-sarah@jacaranda.org**20101029222825
261 Ignore-this: 8b09366eb6ce3d55c7db5239077a0fac
262]
263[test_runner.py: fix error in BinTahoe.test_version_no_noise introduced by last patch. refs #1235
264david-sarah@jacaranda.org**20101029221123
265 Ignore-this: 4bf21ea34768e8e6adf104e56f939fd0
266]
267[test_runner.py: also allow 'from pkg_resources import load_entry_point' as noise. refs #1235.
268david-sarah@jacaranda.org**20101029204246
269 Ignore-this: a47440aa2cdd29ce55ac7c6c7f4bcaf2
270]
271[test_runner.py: if the only noise is 'UserWarning: Unbuilt egg for setuptools', skip instead of failing the no_noise tests. This version avoids 'any' to be compatible with Python < 2.5. refs #1235.
272david-sarah@jacaranda.org**20101029191804
273 Ignore-this: 83ca1543fc9673e664a8eeefe1eba429
274]
275[NEWS: clarify (strengthen) description of what backdoors.rst declares, and add bugfix entries for 'tahoe cp' and Windows console bugs. refs #1216, #1224, #1232
276david-sarah@jacaranda.org**20101028180046
277 Ignore-this: 1c3eef3cd353b06b6ee00ce87c5ef59a
278]
279[startstop_node.py: pyflakes import fix. refs #1190
280david-sarah@jacaranda.org**20101028014805
281 Ignore-this: 369ef5022c8ee5a0d8341af01553bcef
282]
283['tahoe start': use import+call rather than find+spawn
284"Brian Warner <warner@lothar.com>"**20101027061342
285 
286 This removes the need to use a locally-built (dependency) bin/twistd, and
287 removes a big chunk of behavior differences between unix and windows. It
288 also happens to resolve the "client node probably started" uncertainty.
289 Might help with #1190, #602, and #71.
290]
291[make ResponseCache smarter to avoid memory leaks: don't record timestamps, use DataSpans to merge entries, and clear the cache when we see a new seqnum. refs #1045, #1229
292david-sarah@jacaranda.org**20101027043302
293 Ignore-this: 88fd6fba7f35a2f8af1693b92718f5f3
294]
295[windows/fixups.py: limit length of string passed in a single call to WriteConsoleW. fixes #1232.
296david-sarah@jacaranda.org**20101027021636
297 Ignore-this: fbd99e0d22493974696d37925d97c7d6
298]
299[docs/known_issues.rst: Add section on traffic analysis. Fix URL for current version of file.
300david-sarah@jacaranda.org**20101024234259
301 Ignore-this: f3416e79d3bb833f5118da23e85723ad
302]
303[test_mutable.py: add test for ResponseCache memory leak. refs #1045, #1129
304david-sarah@jacaranda.org**20101024193409
305 Ignore-this: 3aee7f0677956cc6deaccb4d5b8e415f
306]
307[docs/running.html: fix missing end-quote, and change frontends/ doc references to .rst.
308david-sarah@jacaranda.org**20101024171500
309 Ignore-this: 47c645a6595e1790b1d1adfa71af0e1d
310]
311[docs/running.html: 'tahoe create-client' now creates a node with storage disabled. Also change configuration.txt references to configuration.rst.
312david-sarah@jacaranda.org**20101024170431
313 Ignore-this: e5b048055494ba3505bb8a506610681c
314]
315[test_encodingutil.py: test_argv_to_unicode modified the wrong encoding variable. fixes #1214
316david-sarah@jacaranda.org**20101023035810
317 Ignore-this: e5f1f849931b96939facc53d93ff61c5
318]
319[doc: add explanation of the motivation for the surprising and awkward API to erasure coding
320zooko@zooko.com**20101015060202
321 Ignore-this: 428913ff6e1bf5b393deffb1f20b949b
322]
323[setup: catch and log ValueError from locale.getdefaultlocale() in show-tool-versions.py
324zooko@zooko.com**20101015054440
325 Ignore-this: 827d91490562c32ed7cf6526dfded773
326 I got a bug report from Mathias Baert showing that locale.getdefaultlocale() raises an exception on his Mac OS X system. Heh.
327]
328[docs: update how-to-make-a-release doc with a few tweaks from the 1.8.0 process
329zooko@zooko.com**20101015054413
330 Ignore-this: ca5e9478531a3393792ae283239549dd
331]
332[docs: update NEWS ref: #1216
333zooko@zooko.com**20101015053719
334 Ignore-this: 2e0b92e4145d667cdf075e64b7965530
335]
336[docs: fix tab-vs-spaces, make some CLI examples <tt>/"literal", wrap some to
337Brian Warner <warner@lothar.com>**20101015060606
338 Ignore-this: eae08bdf0afb19a2fbf41c31e70a8122
339 80-cols, remove spurious whitespace. Add rst2html.py rule to Makefile.
340]
341[docs: add Peter Secor, Shawn Willden, and Terrell Russell as signatories to docs/backdoors.rst
342zooko@zooko.com**20101015053242
343 Ignore-this: c77adf819d664f673e17c4aaeb353f33
344]
345[docs: convert all .txt docs to .rst thanks to Ravi Pinjala
346zooko@zooko.com**20101015052913
347 Ignore-this: 178a5122423189ecfc45b142314a78ec
348 fixes #1225
349]
350[docs: add statement on our refusal to insert backdoors
351zooko@zooko.com**20101006051147
352 Ignore-this: 644d308319a7b80c4434bdff9760404a
353]
354[setup: add --multi-version to the "setup.py develop" command-line
355zooko@zooko.com**20101005182350
356 Ignore-this: 709155cc21caff29826b8d41a8c8d63d
357 fixes #530. I earlier tried this twice (see #530 for history) and then twice rolled it back due to some problems that arose. However, I didn't write down what the problems were in enough detail on the ticket that I can tell today whether those problems are still issues, so here goes the third attempt. (I did write down on the ticket that it would not create site.py or .pth files in the target directory with --multi-version mode, but I didn't explain why *that* was a problem.)
358]
359[setup: use execfile to access _auto_deps.py in its proper location of src/allmydata/ instead of copying it into place when setup.py is executed
360zooko@zooko.com**20100906055714
361 Ignore-this: c179b42672d775580afad40121f86812
362]
363[trivial: M-x whitespace-cleanup
364zooko@zooko.com**20100903144712
365 Ignore-this: 1bb764d11ac69b4a35ea091cfb13158a
366]
367[minor: remove unused interface declaration, change allmydata.org to tahoe-lafs.org in email address, fix wording in relnotes.txt
368zooko@zooko.com**20100930153708
369 Ignore-this: a452969228afed2774de375e29fa3048
370]
371[immutable/repairer.py: don't use the default happiness setting when repairing
372Kevan Carstensen <kevan@isnotajoke.com>**20100927200102
373 Ignore-this: bd704d9744b970849da8d46a16b8089a
374]
375[NEWS: note dependency updates to pycryptopp and pycrypto.
376david-sarah@jacaranda.org**20100924191207
377 Ignore-this: eeaf5c9c9104f24c450c2ec4482ac1ee
378]
379[TAG allmydata-tahoe-1.8.0
380zooko@zooko.com**20100924021631
381 Ignore-this: 494ca0a885c5e20c883845fc53e7ab5d
382]
383Patch bundle hash:
3841e152f46a25e26b778daad7b1169c18862dea06b