1 | 3 patches for repository http://tahoe-lafs.org/source/tahoe-lafs/trunk: |
---|
2 | |
---|
3 | Fri Jan 7 09:37:18 GMT Standard Time 2011 david-sarah@jacaranda.org |
---|
4 | * src/allmydata/scripts/debug.py: add 'tahoe debug trial' command. refs #1296 |
---|
5 | |
---|
6 | Sat Jan 1 19:25:59 GMT Standard Time 2011 david-sarah@jacaranda.org |
---|
7 | * test_runner: add test_import_in_repl, which uses 'bin/tahoe debug repl' to import the allmydata module and checks that it comes from the right path. Also, fix a latent bug that caused test_the_right_code to incorrectly conclude that a path mismatch was due to a Unicode path (causing a skip rather than a failure). This version of the patch avoids a confusing shadowing of 'srcfile'. refs #1258 |
---|
8 | |
---|
9 | Sat Jan 8 11:36:52 GMT Standard Time 2011 david-sarah@jacaranda.org |
---|
10 | * Tests for 'tahoe debug trial'. refs #1296 |
---|
11 | |
---|
12 | New patches: |
---|
13 | |
---|
14 | [src/allmydata/scripts/debug.py: add 'tahoe debug trial' command. refs #1296 |
---|
15 | david-sarah@jacaranda.org**20110107093718 |
---|
16 | Ignore-this: 9228ffe655323aa486e88aded90983d7 |
---|
17 | ] { |
---|
18 | hunk ./src/allmydata/scripts/debug.py 4 |
---|
19 | |
---|
20 | # do not import any allmydata modules at this level. Do that from inside |
---|
21 | # individual functions instead. |
---|
22 | -import struct, time, os |
---|
23 | +import struct, time, os, sys |
---|
24 | from twisted.python import usage, failure |
---|
25 | from twisted.internet import defer |
---|
26 | hunk ./src/allmydata/scripts/debug.py 7 |
---|
27 | +from twisted.scripts import trial as twisted_trial |
---|
28 | |
---|
29 | |
---|
30 | class DumpOptions(usage.Options): |
---|
31 | hunk ./src/allmydata/scripts/debug.py 782 |
---|
32 | return code.interact() |
---|
33 | |
---|
34 | |
---|
35 | +class TrialOptions(twisted_trial.Options): |
---|
36 | + def getSynopsis(self): |
---|
37 | + return "Usage: tahoe debug trial [options] [[file|package|module|TestCase|testmethod]...]" |
---|
38 | + |
---|
39 | + def parseArgs(self, *args): |
---|
40 | + if not args: |
---|
41 | + args = ["allmydata.test"] |
---|
42 | + twisted_trial.Options.parseArgs(self, *args) |
---|
43 | + |
---|
44 | + def getUsage(self, width=None): |
---|
45 | + t = twisted_trial.Options.getUsage(self, width) |
---|
46 | + t += """ |
---|
47 | +The 'tahoe debug trial' command uses the correct imports for this instance of |
---|
48 | +Tahoe-LAFS. The default test suite is 'allmydata.test'. |
---|
49 | +""" |
---|
50 | + return t |
---|
51 | + |
---|
52 | + |
---|
53 | +def trial(config): |
---|
54 | + twisted_trial._initialDebugSetup(config) |
---|
55 | + trialRunner = twisted_trial._makeRunner(config) |
---|
56 | + suite = twisted_trial._getSuite(config) |
---|
57 | + |
---|
58 | + # run the tests |
---|
59 | + if config.get('until-failure'): |
---|
60 | + test_result = trialRunner.runUntilFailure(suite) |
---|
61 | + else: |
---|
62 | + test_result = trialRunner.run(suite) |
---|
63 | + |
---|
64 | + # write coverage data |
---|
65 | + if hasattr(config, 'tracer') and config.tracer: |
---|
66 | + sys.settrace(None) |
---|
67 | + results = config.tracer.results() |
---|
68 | + coverdir = os.path.join(config.get('temp-directory') or '_trial_temp', 'coverage') |
---|
69 | + results.write_results(show_missing=1, summary=False, coverdir=coverdir) |
---|
70 | + |
---|
71 | + if test_result.wasSuccessful(): |
---|
72 | + return 0 # success |
---|
73 | + else: |
---|
74 | + return 1 # failure |
---|
75 | + |
---|
76 | + |
---|
77 | class DebugCommand(usage.Options): |
---|
78 | subCommands = [ |
---|
79 | ["dump-share", None, DumpOptions, |
---|
80 | hunk ./src/allmydata/scripts/debug.py 833 |
---|
81 | ["catalog-shares", None, CatalogSharesOptions, "Describe all shares in node dirs."], |
---|
82 | ["corrupt-share", None, CorruptShareOptions, "Corrupt a share by flipping a bit."], |
---|
83 | ["repl", None, ReplOptions, "Open a Python interpreter."], |
---|
84 | + ["trial", None, TrialOptions, "Run Twisted Trial with the correct imports."], |
---|
85 | ] |
---|
86 | def postOptions(self): |
---|
87 | if not hasattr(self, 'subOptions'): |
---|
88 | hunk ./src/allmydata/scripts/debug.py 850 |
---|
89 | tahoe debug catalog-shares Describe all shares in node dirs. |
---|
90 | tahoe debug corrupt-share Corrupt a share by flipping a bit. |
---|
91 | tahoe debug repl Open a Python interpreter. |
---|
92 | + tahoe debug trial Run Twisted Trial with the correct imports. |
---|
93 | |
---|
94 | Please run e.g. 'tahoe debug dump-share --help' for more details on each |
---|
95 | subcommand. |
---|
96 | hunk ./src/allmydata/scripts/debug.py 857 |
---|
97 | """ |
---|
98 | return t |
---|
99 | |
---|
100 | + |
---|
101 | subDispatch = { |
---|
102 | "dump-share": dump_share, |
---|
103 | "dump-cap": dump_cap, |
---|
104 | hunk ./src/allmydata/scripts/debug.py 865 |
---|
105 | "catalog-shares": catalog_shares, |
---|
106 | "corrupt-share": corrupt_share, |
---|
107 | "repl": repl, |
---|
108 | + "trial": trial, |
---|
109 | } |
---|
110 | |
---|
111 | |
---|
112 | } |
---|
113 | [test_runner: add test_import_in_repl, which uses 'bin/tahoe debug repl' to import the allmydata module and checks that it comes from the right path. Also, fix a latent bug that caused test_the_right_code to incorrectly conclude that a path mismatch was due to a Unicode path (causing a skip rather than a failure). This version of the patch avoids a confusing shadowing of 'srcfile'. refs #1258 |
---|
114 | david-sarah@jacaranda.org**20110101192559 |
---|
115 | Ignore-this: 332920b103412b197b21e05989e3bda0 |
---|
116 | ] { |
---|
117 | hunk ./src/allmydata/test/test_runner.py 6 |
---|
118 | |
---|
119 | from twisted.python import usage, runtime |
---|
120 | from twisted.internet import utils |
---|
121 | -import os.path, re, sys |
---|
122 | +import os.path, re, sys, subprocess |
---|
123 | from cStringIO import StringIO |
---|
124 | from allmydata.util import fileutil, pollmixin |
---|
125 | from allmydata.util.encodingutil import unicode_to_argv, unicode_to_output, get_filesystem_encoding |
---|
126 | hunk ./src/allmydata/test/test_runner.py 17 |
---|
127 | |
---|
128 | timeout = 240 |
---|
129 | |
---|
130 | -srcfile = allmydata.__file__ |
---|
131 | -srcdir = os.path.dirname(os.path.dirname(os.path.normcase(os.path.realpath(srcfile)))) |
---|
132 | +def get_root_from_file(src): |
---|
133 | + srcdir = os.path.dirname(os.path.dirname(os.path.normcase(os.path.realpath(src)))) |
---|
134 | + |
---|
135 | + root = os.path.dirname(srcdir) |
---|
136 | + if os.path.basename(srcdir) == 'site-packages': |
---|
137 | + if re.search(r'python.+\..+', os.path.basename(root)): |
---|
138 | + root = os.path.dirname(root) |
---|
139 | + root = os.path.dirname(root) |
---|
140 | + elif os.path.basename(root) == 'src': |
---|
141 | + root = os.path.dirname(root) |
---|
142 | + |
---|
143 | + return root |
---|
144 | |
---|
145 | hunk ./src/allmydata/test/test_runner.py 30 |
---|
146 | -rootdir = os.path.dirname(srcdir) |
---|
147 | -if os.path.basename(srcdir) == 'site-packages': |
---|
148 | - if re.search(r'python.+\..+', os.path.basename(rootdir)): |
---|
149 | - rootdir = os.path.dirname(rootdir) |
---|
150 | - rootdir = os.path.dirname(rootdir) |
---|
151 | -elif os.path.basename(rootdir) == 'src': |
---|
152 | - rootdir = os.path.dirname(rootdir) |
---|
153 | +srcfile = allmydata.__file__ |
---|
154 | +rootdir = get_root_from_file(srcfile) |
---|
155 | |
---|
156 | bintahoe = os.path.join(rootdir, 'bin', 'tahoe') |
---|
157 | if sys.platform == "win32": |
---|
158 | hunk ./src/allmydata/test/test_runner.py 57 |
---|
159 | |
---|
160 | |
---|
161 | class BinTahoe(common_util.SignalMixin, unittest.TestCase, SkipMixin): |
---|
162 | - def test_the_right_code(self): |
---|
163 | + def _check_right_code(self, file_to_check): |
---|
164 | + root_to_check = get_root_from_file(file_to_check) |
---|
165 | cwd = os.path.normcase(os.path.realpath(".")) |
---|
166 | root_from_cwd = os.path.dirname(cwd) |
---|
167 | if os.path.basename(root_from_cwd) == 'src': |
---|
168 | hunk ./src/allmydata/test/test_runner.py 64 |
---|
169 | root_from_cwd = os.path.dirname(root_from_cwd) |
---|
170 | |
---|
171 | - same = (root_from_cwd == rootdir) |
---|
172 | + same = (root_from_cwd == root_to_check) |
---|
173 | if not same: |
---|
174 | try: |
---|
175 | hunk ./src/allmydata/test/test_runner.py 67 |
---|
176 | - same = os.path.samefile(root_from_cwd, rootdir) |
---|
177 | + same = os.path.samefile(root_from_cwd, root_to_check) |
---|
178 | except AttributeError, e: |
---|
179 | e # hush pyflakes |
---|
180 | |
---|
181 | hunk ./src/allmydata/test/test_runner.py 75 |
---|
182 | msg = ("We seem to be testing the code at %r,\n" |
---|
183 | "(according to the source filename %r),\n" |
---|
184 | "but expected to be testing the code at %r.\n" |
---|
185 | - % (rootdir, srcfile, root_from_cwd)) |
---|
186 | + % (root_to_check, file_to_check, root_from_cwd)) |
---|
187 | |
---|
188 | hunk ./src/allmydata/test/test_runner.py 77 |
---|
189 | - root_from_cwdu = os.path.normcase(os.path.normpath(os.getcwdu())) |
---|
190 | + root_from_cwdu = os.path.dirname(os.path.normcase(os.path.normpath(os.getcwdu()))) |
---|
191 | if os.path.basename(root_from_cwdu) == u'src': |
---|
192 | root_from_cwdu = os.path.dirname(root_from_cwdu) |
---|
193 | |
---|
194 | hunk ./src/allmydata/test/test_runner.py 90 |
---|
195 | msg += "Please run the tests from the root of the Tahoe-LAFS distribution." |
---|
196 | self.fail(msg) |
---|
197 | |
---|
198 | + def test_the_right_code(self): |
---|
199 | + self._check_right_code(srcfile) |
---|
200 | + |
---|
201 | + def test_import_in_repl(self): |
---|
202 | + self.skip_if_cannot_run_bintahoe() |
---|
203 | + |
---|
204 | + p = subprocess.Popen([sys.executable, bintahoe, "debug", "repl"], |
---|
205 | + stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) |
---|
206 | + (out, err) = p.communicate("import allmydata; print allmydata.__file__") |
---|
207 | + |
---|
208 | + self.failUnlessEqual(p.returncode, 0) |
---|
209 | + first = out.splitlines()[0] |
---|
210 | + self.failUnless(first.startswith('>>> ')) |
---|
211 | + self._check_right_code(first[4:]) |
---|
212 | + |
---|
213 | def test_path(self): |
---|
214 | self.skip_if_cannot_run_bintahoe() |
---|
215 | d = utils.getProcessOutputAndValue(bintahoe, args=["--version-and-path"], env=os.environ) |
---|
216 | hunk ./src/allmydata/test/test_runner.py 136 |
---|
217 | else: |
---|
218 | altverstr = verstr |
---|
219 | |
---|
220 | + srcdir = os.path.dirname(os.path.dirname(os.path.normcase(os.path.realpath(srcfile)))) |
---|
221 | required_ver_and_path = "%s: %s (%s)" % (allmydata.__appname__, verstr, srcdir) |
---|
222 | alt_required_ver_and_path = "%s: %s (%s)" % (allmydata.__appname__, altverstr, srcdir) |
---|
223 | |
---|
224 | } |
---|
225 | [Tests for 'tahoe debug trial'. refs #1296 |
---|
226 | david-sarah@jacaranda.org**20110108113652 |
---|
227 | Ignore-this: 12ef456c9da7913ee7839b3f71e479a6 |
---|
228 | ] { |
---|
229 | hunk ./src/allmydata/scripts/debug.py 801 |
---|
230 | |
---|
231 | |
---|
232 | def trial(config): |
---|
233 | + # This is too dependent on implementation details of Twisted Trial. |
---|
234 | + # <http://twistedmatrix.com/trac/ticket/4797> would make run_tests |
---|
235 | + # available as a public API. |
---|
236 | + |
---|
237 | + #if hasattr(twisted_trial, 'run_tests'): |
---|
238 | + # return twisted_trial.run_tests(config) |
---|
239 | + |
---|
240 | twisted_trial._initialDebugSetup(config) |
---|
241 | trialRunner = twisted_trial._makeRunner(config) |
---|
242 | suite = twisted_trial._getSuite(config) |
---|
243 | hunk ./src/allmydata/test/test_cli.py 506 |
---|
244 | help = str(cli.AddAliasOptions()) |
---|
245 | self.failUnless("add-alias ALIAS DIRCAP" in help, help) |
---|
246 | |
---|
247 | + def test_debug_trial(self): |
---|
248 | + help = str(debug.TrialOptions()) |
---|
249 | + self.failUnless("debug trial [options] [[file|package|module|TestCase|testmethod]...]" in help, help) |
---|
250 | + self.failUnless("The 'tahoe debug trial' command uses the correct imports" in help, help) |
---|
251 | + |
---|
252 | |
---|
253 | class CreateAlias(GridTestMixin, CLITestMixin, unittest.TestCase): |
---|
254 | |
---|
255 | hunk ./src/allmydata/test/test_runner.py 33 |
---|
256 | srcfile = allmydata.__file__ |
---|
257 | rootdir = get_root_from_file(srcfile) |
---|
258 | |
---|
259 | -bintahoe = os.path.join(rootdir, 'bin', 'tahoe') |
---|
260 | -if sys.platform == "win32": |
---|
261 | - bintahoe += ".pyscript" |
---|
262 | - if not os.path.exists(bintahoe): |
---|
263 | - alt_bintahoe = os.path.join(rootdir, 'Scripts', 'tahoe.pyscript') |
---|
264 | - if os.path.exists(alt_bintahoe): |
---|
265 | - bintahoe = alt_bintahoe |
---|
266 | + |
---|
267 | +if hasattr(sys, 'frozen'): |
---|
268 | + bintahoe = os.path.join(rootdir, 'tahoe') |
---|
269 | + |
---|
270 | + if sys.platform == "win32" and os.path.exists(bintahoe + '.exe'): |
---|
271 | + bintahoe += '.exe' |
---|
272 | +else: |
---|
273 | + bintahoe = os.path.join(rootdir, 'bin', 'tahoe') |
---|
274 | + if sys.platform == "win32": |
---|
275 | + bintahoe += '.pyscript' |
---|
276 | + if not os.path.exists(bintahoe): |
---|
277 | + alt_bintahoe = os.path.join(rootdir, 'Scripts', 'tahoe.pyscript') |
---|
278 | + if os.path.exists(alt_bintahoe): |
---|
279 | + bintahoe = alt_bintahoe |
---|
280 | |
---|
281 | |
---|
282 | class SkipMixin: |
---|
283 | hunk ./src/allmydata/test/test_runner.py 66 |
---|
284 | class BinTahoe(common_util.SignalMixin, unittest.TestCase, SkipMixin): |
---|
285 | def _check_right_code(self, file_to_check): |
---|
286 | root_to_check = get_root_from_file(file_to_check) |
---|
287 | + if os.path.basename(root_to_check) == 'dist': |
---|
288 | + root_to_check = os.path.dirname(root_to_check) |
---|
289 | + |
---|
290 | cwd = os.path.normcase(os.path.realpath(".")) |
---|
291 | root_from_cwd = os.path.dirname(cwd) |
---|
292 | if os.path.basename(root_from_cwd) == 'src': |
---|
293 | hunk ./src/allmydata/test/test_runner.py 106 |
---|
294 | def test_import_in_repl(self): |
---|
295 | self.skip_if_cannot_run_bintahoe() |
---|
296 | |
---|
297 | - p = subprocess.Popen([sys.executable, bintahoe, "debug", "repl"], |
---|
298 | - stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) |
---|
299 | + args = [bintahoe, "debug", "repl"] |
---|
300 | + if not hasattr(sys, 'frozen'): |
---|
301 | + args = [sys.executable] + args |
---|
302 | + |
---|
303 | + p = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) |
---|
304 | (out, err) = p.communicate("import allmydata; print allmydata.__file__") |
---|
305 | |
---|
306 | self.failUnlessEqual(p.returncode, 0) |
---|
307 | hunk ./src/allmydata/test/test_runner.py 159 |
---|
308 | |
---|
309 | def test_unicode_arguments_and_output(self): |
---|
310 | self.skip_if_cannot_run_bintahoe() |
---|
311 | + if hasattr(sys, 'frozen') and sys.platform == "win32": |
---|
312 | + raise unittest.SkipTest("This test can't currently be made to work for frozen executables on Windows,\ndue to lack of support for Unicode in twisted.internet.utils.getProcessOutputAndValue.") |
---|
313 | |
---|
314 | tricky = u"\u2621" |
---|
315 | try: |
---|
316 | hunk ./src/allmydata/test/test_runner.py 179 |
---|
317 | |
---|
318 | def test_run_with_python_options(self): |
---|
319 | self.skip_if_cannot_run_bintahoe() |
---|
320 | + if hasattr(sys, 'frozen'): |
---|
321 | + raise unittest.SkipTest("This test doesn't apply to frozen executables.") |
---|
322 | |
---|
323 | # -t is a harmless option that warns about tabs. |
---|
324 | d = utils.getProcessOutputAndValue(sys.executable, args=['-t', bintahoe, '--version'], |
---|
325 | hunk ./src/allmydata/test/test_system.py 1756 |
---|
326 | |
---|
327 | return d |
---|
328 | |
---|
329 | + def test_debug_trial(self, *args): |
---|
330 | + d = self._run_cli_in_subprocess(['debug', 'trial', 'allmydata.test.trialtest']) |
---|
331 | + def _check_failure( (out, err, rc) ): |
---|
332 | + self.failUnlessEqual(rc, 1) |
---|
333 | + self.failUnlessIn("[SKIPPED]: allmydata.test.trialtest.Success.test_skip", out) |
---|
334 | + self.failUnlessIn("[TODO]: allmydata.test.trialtest.Success.test_todo", out) |
---|
335 | + self.failUnlessIn("[FAIL]: allmydata.test.trialtest.Failure.test_fail", out) |
---|
336 | + self.failUnlessIn("[ERROR]: allmydata.test.trialtest.Failure.test_deferred_error", out) |
---|
337 | + self.failUnlessIn("[ERROR]: allmydata.test.trialtest.Failure.test_error", out) |
---|
338 | + self.failUnlessIn("FAILED", out) |
---|
339 | + d.addCallback(_check_failure) |
---|
340 | + |
---|
341 | + d.addCallback(lambda ign: self._run_cli_in_subprocess(['debug', 'trial', 'allmydata.test.trialtest.Success'])) |
---|
342 | + def _check_success( (out, err, rc) ): |
---|
343 | + self.failUnlessEqual(rc, 0) |
---|
344 | + self.failUnlessIn("[SKIPPED]: allmydata.test.trialtest.Success.test_skip", out) |
---|
345 | + self.failUnlessIn("[TODO]: allmydata.test.trialtest.Success.test_todo", out) |
---|
346 | + self.failUnlessIn("PASSED", out) |
---|
347 | + d.addCallback(_check_success) |
---|
348 | + return d |
---|
349 | + |
---|
350 | def _run_cli(self, argv, stdin=""): |
---|
351 | #print "CLI:", argv |
---|
352 | stdout, stderr = StringIO(), StringIO() |
---|
353 | hunk ./src/allmydata/test/test_system.py 1793 |
---|
354 | |
---|
355 | if env is None: |
---|
356 | env = os.environ |
---|
357 | - d = utils.getProcessOutputAndValue(sys.executable, args=[bintahoe] + argv, |
---|
358 | - env=env) |
---|
359 | + d = utils.getProcessOutputAndValue(bintahoe, argv, env=env) |
---|
360 | return d |
---|
361 | |
---|
362 | def _test_checker(self, res): |
---|
363 | addfile ./src/allmydata/test/trialtest.py |
---|
364 | hunk ./src/allmydata/test/trialtest.py 2 |
---|
365 | |
---|
366 | +# This is a dummy test suite that we can use to check that 'tahoe debug trial' |
---|
367 | +# is working properly. Since the module name does not start with 'test_', it |
---|
368 | +# will not be run by the main test suite. |
---|
369 | + |
---|
370 | +from twisted.trial import unittest |
---|
371 | +from twisted.internet import defer |
---|
372 | + |
---|
373 | + |
---|
374 | +class Success(unittest.TestCase): |
---|
375 | + def test_succeed(self): |
---|
376 | + pass |
---|
377 | + |
---|
378 | + def test_skip(self): |
---|
379 | + raise unittest.SkipTest('skip') |
---|
380 | + |
---|
381 | + def test_todo(self): |
---|
382 | + self.fail('umm') |
---|
383 | + test_todo.todo = 'never mind' |
---|
384 | + |
---|
385 | + |
---|
386 | +class Failure(unittest.TestCase): |
---|
387 | + def test_fail(self): |
---|
388 | + self.fail('fail') |
---|
389 | + |
---|
390 | + def test_error(self): |
---|
391 | + raise AssertionError('clang') |
---|
392 | + |
---|
393 | + def test_deferred_error(self): |
---|
394 | + return defer.fail(AssertionError('screech')) |
---|
395 | } |
---|
396 | |
---|
397 | Context: |
---|
398 | |
---|
399 | [docs: update performance.rst to describe the difference between already-uploaded and not-already-uploaded, to parameterize segment size, and to use "~A" to mean "approximately A" |
---|
400 | zooko@zooko.com**20110104065455 |
---|
401 | Ignore-this: 8df0d79a062ee19854c0211bd202f606 |
---|
402 | ] |
---|
403 | [bin/tahoe-script.template: On non-Windows, invoke support/bin/tahoe directly as a script (rather than via python), so that 'top' for example will show it as 'tahoe'. On Windows, simplify some code that set argv[0], which is never used. fixes #174 |
---|
404 | david-sarah@jacaranda.org**20101127232650 |
---|
405 | Ignore-this: 42a86f3eecfdc1ea7b76a7cc68626898 |
---|
406 | ] |
---|
407 | [test_runner: avoid unnecessary use of non-ASCII. |
---|
408 | david-sarah@jacaranda.org**20110101100101 |
---|
409 | Ignore-this: e2ff40dce6bb3b021306f2913d4e75df |
---|
410 | ] |
---|
411 | [docs/quickstart.html: fix redundant, badly nested tag. refs #1284 |
---|
412 | david-sarah@jacaranda.org**20110102175159 |
---|
413 | Ignore-this: 2ae9cc0b47d2e87b9eb64a0f517c4eef |
---|
414 | ] |
---|
415 | [docs/quickstart.html: information about 'troublesome dependencies' and 'verified systems' de-emphasized by smaller italic font. Re-wrap so that the HTML source is readable (just about) as text. Minor wording tweaks. Improve organization by adding 'Windows Caveats' subsection. fixes #1284 |
---|
416 | david-sarah@jacaranda.org**20110102174212 |
---|
417 | Ignore-this: e9dc57983974478200856651c5318fee |
---|
418 | ] |
---|
419 | [NEWS: update entry for removal of Mac and Windows apps. refs #1282 |
---|
420 | david-sarah@jacaranda.org**20101226042245 |
---|
421 | Ignore-this: c8099bc6e8235718d042c9a13c1e2425 |
---|
422 | ] |
---|
423 | [Move dependency imports from windows/depends.py (which has gone away) into src/allmydata/windows/tahoesvc.py. Also fix a pyflakes warning, and change the service display name from 'Allmydata Tahoe Node' to 'Tahoe-LAFS node'. refs #1282 |
---|
424 | david-sarah@jacaranda.org**20101226042100 |
---|
425 | Ignore-this: ee45f324934e1251380206dbee6346d0 |
---|
426 | ] |
---|
427 | [Remove unmaintained Windows GUI app, except for windows/tahoesvc.py which is moved to src/allmydata/windows. refs #1282 |
---|
428 | david-sarah@jacaranda.org**20101226040237 |
---|
429 | Ignore-this: cae37b6622a7dd5940acc7d3e6a98b90 |
---|
430 | ] |
---|
431 | [Remove the Makefile targets relating to the Mac GUI app. refs #1282 |
---|
432 | david-sarah@jacaranda.org**20101226025859 |
---|
433 | Ignore-this: 75303be783974b41138744ec62b07965 |
---|
434 | ] |
---|
435 | [NEWS: remove unmaintained Mac GUI app. refs #1282 |
---|
436 | david-sarah@jacaranda.org**20101226020858 |
---|
437 | Ignore-this: 40474a07f4a550b48563d35350be7ab5 |
---|
438 | ] |
---|
439 | [Remove unmaintained Mac GUI app. fixes #1282 |
---|
440 | david-sarah@jacaranda.org**20101226020508 |
---|
441 | Ignore-this: b3613bf1abfd284d542bf7c753ec557a |
---|
442 | ] |
---|
443 | [Remove src/allmydata/util/find_exe.py which is no longer used. fixes #1150 |
---|
444 | david-sarah@jacaranda.org**20101226023206 |
---|
445 | Ignore-this: 7436c9b53bf210aed34a1a973cd9cace |
---|
446 | ] |
---|
447 | [status_web_pages_review.darcs.patch |
---|
448 | freestorm77@gmail.com**20110102034214 |
---|
449 | Ignore-this: 29f1ecb36177f10f3f846b3d56b313b2 |
---|
450 | |
---|
451 | I make some changes on status web pages |
---|
452 | |
---|
453 | status.xhtml: |
---|
454 | - Delete unused webform_css link |
---|
455 | - Align tables on the left |
---|
456 | |
---|
457 | tahoe-css: |
---|
458 | - Do some minor changes on code synthax |
---|
459 | - changes table.status-download-events style to look like other tables |
---|
460 | |
---|
461 | status.py: |
---|
462 | - Align table on the left |
---|
463 | - Changes table header |
---|
464 | - Add heading tags |
---|
465 | - Modify google api graph: add image border, calculate height to feet data |
---|
466 | |
---|
467 | signed-off-by: zooko@zooko.com |
---|
468 | fixes #1219 |
---|
469 | ] |
---|
470 | [test_storage.py: fix a pyflakes unused import warning. |
---|
471 | david-sarah@jacaranda.org**20101231220756 |
---|
472 | Ignore-this: df08231540cb7dff9d2b038e47ab30ee |
---|
473 | ] |
---|
474 | [test_storage.py: leave at least 512 MiB free when running test_large_share. refs #1195 |
---|
475 | david-sarah@jacaranda.org**20101231203215 |
---|
476 | Ignore-this: b2144c0341c3452b5d4ba219e284ea0e |
---|
477 | ] |
---|
478 | [storage: use fileutil's version of get_disk_stats() and get_available_space(), use mockery/fakery in tests, enable large share test on platforms with sparse files and if > 4 GiB of disk space is currently available |
---|
479 | zooko@zooko.com**20100910173629 |
---|
480 | Ignore-this: 1304f1164c661de6d5304f993eb9b27b |
---|
481 | ] |
---|
482 | [fileutil: copy in the get_disk_stats() and get_available_space() functions from storage/server.py |
---|
483 | zooko@zooko.com**20100910173520 |
---|
484 | Ignore-this: 8b15569715f710f4fc5092f7ca109253 |
---|
485 | ] |
---|
486 | [Update foolscap version requirement to 0.6.0, to address http://foolscap.lothar.com/trac/ticket/167 |
---|
487 | david-sarah@jacaranda.org**20101231060039 |
---|
488 | Ignore-this: 98d2b8086a1a500b9f4565bca5a3810 |
---|
489 | ] |
---|
490 | [docs/webapi.rst: typos. |
---|
491 | david-sarah@jacaranda.org**20101230034422 |
---|
492 | Ignore-this: d1f5166d72cc711f7e0d9981eac9105e |
---|
493 | ] |
---|
494 | [docs/webapi.rst: capitalization, formatting of section on URL character encoding, and a correction about Internet Explorer. |
---|
495 | david-sarah@jacaranda.org**20101230034049 |
---|
496 | Ignore-this: b3b9819d2fb264b4cdc5c8afd4e8c48d |
---|
497 | ] |
---|
498 | [docs: corrections and clarifications. |
---|
499 | david-sarah@jacaranda.org**20101227051056 |
---|
500 | Ignore-this: e33202858c7644c58f3f924b164294b6 |
---|
501 | ] |
---|
502 | [docs: more formatting cleanups and corrections. Spell webapi and wapi as web-API. |
---|
503 | david-sarah@jacaranda.org**20101227050533 |
---|
504 | Ignore-this: 18b23cbfb780df585d8a722a1ec63e94 |
---|
505 | ] |
---|
506 | [docs/debian.rst: bring description of building dependencies from source up-to-date, and change hostname from allmydata.com to tahoe-lafs.org. |
---|
507 | david-sarah@jacaranda.org**20101212222912 |
---|
508 | Ignore-this: f38462afc88b4475195610385a28391c |
---|
509 | ] |
---|
510 | [docs/architecture.rst: correct rst syntax. |
---|
511 | david-sarah@jacaranda.org**20101212202003 |
---|
512 | Ignore-this: 3fbe12feb28bec6f1c63aedbc79aad21 |
---|
513 | ] |
---|
514 | [docs/architecture.rst: formatting. |
---|
515 | david-sarah@jacaranda.org**20101212201719 |
---|
516 | Ignore-this: 305fa5dfc2939355eaf6d0d2161eb1ff |
---|
517 | ] |
---|
518 | [docs: linkification, wording improvements. |
---|
519 | david-sarah@jacaranda.org**20101212201234 |
---|
520 | Ignore-this: 4e67287f527a8bc728cfbd93255d2aae |
---|
521 | ] |
---|
522 | [docs: formatting. |
---|
523 | david-sarah@jacaranda.org**20101212201115 |
---|
524 | Ignore-this: 2e0ed394ac7726651d3a4f2c4b0d3798 |
---|
525 | ] |
---|
526 | [docs/configuration.rst: more formatting tweaks; which -> that. |
---|
527 | david-sarah@jacaranda.org**20101212195522 |
---|
528 | Ignore-this: a7becb7021854ca5a90edd892b36fdd7 |
---|
529 | ] |
---|
530 | [docs/configuration.rst: more changes to formatting. |
---|
531 | david-sarah@jacaranda.org**20101212194511 |
---|
532 | Ignore-this: 491aac33e5f5268d224359f1447d10be |
---|
533 | ] |
---|
534 | [docs/configuration.rst: changes to formatting (mainly putting commands and filenames in monospace). |
---|
535 | david-sarah@jacaranda.org**20101212181828 |
---|
536 | Ignore-this: 8a1480e2d5f43bee678476424615b50f |
---|
537 | ] |
---|
538 | [scripts/backupdb.py: more accurate comment about path field. |
---|
539 | david-sarah@jacaranda.org**20101212170320 |
---|
540 | Ignore-this: 50e47a2228a85207bbcd188a78a0d4e6 |
---|
541 | ] |
---|
542 | [scripts/cli.py: fix missing 'put' in usage example for 'tahoe put'. |
---|
543 | david-sarah@jacaranda.org**20101212170207 |
---|
544 | Ignore-this: 2cbadf066fff611fc03d3c0ff97ce6ec |
---|
545 | ] |
---|
546 | [docs/frontends/CLI.rst: changes to formatting (mainly putting commands and filenames in monospace), and to command syntax to reflect that DIRCAP/... is accepted. Clarify the syntax of 'tahoe put' and other minor corrections. Tahoe -> Tahoe-LAFS. |
---|
547 | david-sarah@jacaranda.org**20101212165800 |
---|
548 | Ignore-this: a123ef6b564aa8624d1e79c97068ea12 |
---|
549 | ] |
---|
550 | [docs/frontends/CLI.rst: Unicode arguments to 'tahoe' work on Windows as of v1.7.1. |
---|
551 | david-sarah@jacaranda.org**20101212063740 |
---|
552 | Ignore-this: 3977a99dfa86ac33a44171deaf43aaab |
---|
553 | ] |
---|
554 | [docs/known_issues.rst: fix title and linkify another URL. refs #1225 |
---|
555 | david-sarah@jacaranda.org**20101212062817 |
---|
556 | Ignore-this: cc91287f7fb51c23440b3d2fe79c449c |
---|
557 | ] |
---|
558 | [docs/known_issues.rst: fix an external link. refs #1225 |
---|
559 | david-sarah@jacaranda.org**20101212062435 |
---|
560 | Ignore-this: b8cbf12f353131756c358965c48060ec |
---|
561 | ] |
---|
562 | [Fix a link from uri.rst to dirnodes.rst. refs #1225 |
---|
563 | david-sarah@jacaranda.org**20101212054502 |
---|
564 | Ignore-this: af6205299f5c9a33229cab259c00f9d5 |
---|
565 | ] |
---|
566 | [Fix a link from webapi.rst to FTP-and-SFTP.rst. refs #1225 |
---|
567 | david-sarah@jacaranda.org**20101212053435 |
---|
568 | Ignore-this: 2b9f88678c3447ea860d6b61e8799858 |
---|
569 | ] |
---|
570 | [More specific hyperlink to architecture.rst from helper.rst. refs #1225 |
---|
571 | david-sarah@jacaranda.org**20101212052607 |
---|
572 | Ignore-this: 50424c768fca481252fabf58424852dc |
---|
573 | ] |
---|
574 | [Update hyperlinks between docs, and linkify some external references. refs #1225 |
---|
575 | david-sarah@jacaranda.org**20101212051459 |
---|
576 | Ignore-this: cd43a4c3d3de1f832abfa88d5fc4ace1 |
---|
577 | ] |
---|
578 | [docs/specifications/dirnodes.rst: fix references to mutable.rst. refs #1225 |
---|
579 | david-sarah@jacaranda.org**20101212012720 |
---|
580 | Ignore-this: 6819b4b4e06e947ee48b365e840db37d |
---|
581 | ] |
---|
582 | [docs/specifications/mutable.rst: correct the magic string for v1 mutable containers. refs #1225 |
---|
583 | david-sarah@jacaranda.org**20101212011400 |
---|
584 | Ignore-this: 99a5fcdd40cef83dbb08f323f6cdaaca |
---|
585 | ] |
---|
586 | [Move .txt files in docs/frontends and docs/specifications to .rst. refs #1225 |
---|
587 | david-sarah@jacaranda.org**20101212010251 |
---|
588 | Ignore-this: 8796d35d928370f7dc6ad2dafdc1c0fe |
---|
589 | ] |
---|
590 | [Convert docs/frontends and docs/specifications to reStructuredText format (not including file moves). |
---|
591 | david-sarah@jacaranda.org**20101212004632 |
---|
592 | Ignore-this: e3ceb2d832d73875abe48624ddbb5622 |
---|
593 | ] |
---|
594 | [scripts/cli.py: remove the disclaimer in the help for 'tahoe cp' that it does not handle non-ASCII filenames well. (At least, we intend to handle them.) |
---|
595 | david-sarah@jacaranda.org**20101130002145 |
---|
596 | Ignore-this: 94c003efaa20b9eb4a83503d79844ca |
---|
597 | ] |
---|
598 | [relnotes.txt: fifth -> sixth labor-of-love release |
---|
599 | zooko@zooko.com**20101129045647 |
---|
600 | Ignore-this: 21c245015268b38916e3a138d256c09d |
---|
601 | ] |
---|
602 | [Makefile: BB_BRANCH is set to the empty string for trunk, not the string 'trunk'. |
---|
603 | david-sarah@jacaranda.org**20101128233512 |
---|
604 | Ignore-this: 5a7ef8eb10475636d21b91e25b56c369 |
---|
605 | ] |
---|
606 | [relnotes.txt: eleventh -> twelfth release. |
---|
607 | david-sarah@jacaranda.org**20101128223321 |
---|
608 | Ignore-this: 1e26410156a665271c1170803dea2c0d |
---|
609 | ] |
---|
610 | [relnotes.tst: point to known_issues.rst, not known_issues.txt. |
---|
611 | david-sarah@jacaranda.org**20101128222918 |
---|
612 | Ignore-this: 60194eb4544cac446fe4f60b3e34b887 |
---|
613 | ] |
---|
614 | [quickstart.html: fix link to point to allmydata-tahoe-1.8.1.zip. |
---|
615 | david-sarah@jacaranda.org**20101128221728 |
---|
616 | Ignore-this: 7b3ee86f8256aa12f5d862f689f3ee29 |
---|
617 | ] |
---|
618 | [TAG allmydata-tahoe-1.8.1 |
---|
619 | david-sarah@jacaranda.org**20101128212336 |
---|
620 | Ignore-this: 9c18bdeaef4822f590d2a0d879e00621 |
---|
621 | ] |
---|
622 | Patch bundle hash: |
---|
623 | e41bec333a7db4403389fac38c11c66ae2cf2209 |
---|