Ticket #923: fix-test-storage-failures-rebased.dpatch

File fix-test-storage-failures-rebased.dpatch, 7.4 KB (added by zooko, at 2010-07-11T06:20:59Z)
Line 
1Sun Jul 11 00:07:26 MDT 2010  david-sarah@jacaranda.org
2  * test_storage.py: potential fix for failures when logging is enabled.
3
4New patches:
5
6[test_storage.py: potential fix for failures when logging is enabled.
7david-sarah@jacaranda.org**20100711060726
8 Ignore-this: d8305bb3b1208c5b770ba5dbbc8613ff
9] {
10hunk ./src/allmydata/test/test_storage.py 1412
11         def _check(ignored):
12             # are we really right after the first prefix?
13             state = ss.bucket_counter.get_state()
14+            if state["last-complete-prefix"] is None:
15+                d2 = fireEventually()
16+                d2.addCallback(_check)
17+                return d2
18             self.failUnlessEqual(state["last-complete-prefix"],
19                                  ss.bucket_counter.prefixes[0])
20             ss.bucket_counter.cpu_slice = 100.0 # finish as fast as possible
21hunk ./src/allmydata/test/test_storage.py 1452
22         d = fireEventually()
23 
24         def _after_first_prefix(ignored):
25+            state = ss.bucket_counter.state
26+            if state["last-complete-prefix"] is None:
27+                d2 = fireEventually()
28+                d2.addCallback(_after_first_prefix)
29+                return d2
30             ss.bucket_counter.cpu_slice = 100.0 # finish as fast as possible
31             # now sneak in and mess with its state, to make sure it cleans up
32             # properly at the end of the cycle
33hunk ./src/allmydata/test/test_storage.py 1460
34-            state = ss.bucket_counter.state
35             self.failUnlessEqual(state["last-complete-prefix"],
36                                  ss.bucket_counter.prefixes[0])
37             state["bucket-counts"][-12] = {}
38hunk ./src/allmydata/test/test_storage.py 1644
39         # processed.
40         def _after_first_bucket(ignored):
41             initial_state = lc.get_state()
42+            if "cycle-to-date" not in initial_state:
43+                d2 = fireEventually()
44+                d2.addCallback(_after_first_bucket)
45+                return d2
46             self.failUnlessIn("cycle-to-date", initial_state)
47             self.failUnlessIn("estimated-remaining-cycle", initial_state)
48             self.failUnlessIn("estimated-current-cycle", initial_state)
49hunk ./src/allmydata/test/test_storage.py 1848
50         # examine the state right after the first bucket has been processed
51         def _after_first_bucket(ignored):
52             p = lc.get_progress()
53-            self.failUnless(p["cycle-in-progress"], p)
54+            if not p["cycle-in-progress"]:
55+                d2 = fireEventually()
56+                d2.addCallback(_after_first_bucket)
57+                return d2
58         d.addCallback(_after_first_bucket)
59         d.addCallback(lambda ign: self.render1(webstatus))
60         def _check_html_in_cycle(html):
61hunk ./src/allmydata/test/test_storage.py 1992
62         # examine the state right after the first bucket has been processed
63         def _after_first_bucket(ignored):
64             p = lc.get_progress()
65-            self.failUnless(p["cycle-in-progress"], p)
66+            if not p["cycle-in-progress"]:
67+                d2 = fireEventually()
68+                d2.addCallback(_after_first_bucket)
69+                return d2
70         d.addCallback(_after_first_bucket)
71         d.addCallback(lambda ign: self.render1(webstatus))
72         def _check_html_in_cycle(html):
73hunk ./src/allmydata/test/test_storage.py 2267
74             # have to interrupt it even earlier, before it's finished the
75             # first bucket).
76             s = lc.get_state()
77+            if "cycle-to-date" not in s:
78+                d2 = fireEventually()
79+                d2.addCallback(_check)
80+                return d2
81             self.failUnlessIn("cycle-to-date", s)
82             self.failUnlessIn("estimated-remaining-cycle", s)
83             self.failUnlessIn("estimated-current-cycle", s)
84hunk ./src/allmydata/test/test_storage.py 2387
85         # now examine the state right after the first bucket has been
86         # processed.
87         def _after_first_bucket(ignored):
88-            so_far = lc.get_state()["cycle-to-date"]
89+            s = lc.get_state()
90+            if "cycle-to-date" not in s:
91+                d2 = fireEventually()
92+                d2.addCallback(_after_first_bucket)
93+                return d2
94+            so_far = s["cycle-to-date"]
95             rec = so_far["space-recovered"]
96             self.failUnlessEqual(rec["examined-buckets"], 1)
97             self.failUnlessEqual(rec["examined-shares"], 0)
98}
99
100Context:
101
102[upcase_since_on_welcome
103terrellrussell@gmail.com**20100708193903] 
104[server_version_on_welcome_page.dpatch.txt
105freestorm77@gmail.com**20100605191721
106 Ignore-this: b450c76dc875f5ac8cca229a666cbd0a
107 
108 
109 - The storage server version is 0 for all storage nodes in the Welcome Page
110 
111 
112] 
113[NEWS: add NEWS snippets about two recent patches
114zooko@zooko.com**20100708162058
115 Ignore-this: 6c9da6a0ad7351a960bdd60f81532899
116] 
117[directory_html_top_banner.dpatch
118freestorm77@gmail.com**20100622205301
119 Ignore-this: 1d770d975e0c414c996564774f049bca
120 
121 The div tag with the link "Return to Welcome page" on the directory.xhtml page is not correct
122 
123] 
124[tahoe_css_toolbar.dpatch
125freestorm77@gmail.com**20100622210046
126 Ignore-this: 5b3ebb2e0f52bbba718a932f80c246c0
127 
128 CSS modification to be correctly diplayed with Internet Explorer 8
129 
130 The links on the top of page directory.xhtml are not diplayed in the same line as display with Firefox.
131 
132] 
133[runnin_test_tahoe_css.dpatch
134freestorm77@gmail.com**20100622214714
135 Ignore-this: e0db73d68740aad09a7b9ae60a08c05c
136 
137 Runnin test for changes in tahoe.css file
138 
139] 
140[runnin_test_directory_xhtml.dpatch
141freestorm77@gmail.com**20100622201403
142 Ignore-this: f8962463fce50b9466405cb59fe11d43
143 
144 Runnin test for diretory.xhtml top banner
145 
146] 
147[stringutils.py: tolerate sys.stdout having no 'encoding' attribute.
148david-sarah@jacaranda.org**20100626040817
149 Ignore-this: f42cad81cef645ee38ac1df4660cc850
150] 
151[quickstart.html: python 2.5 -> 2.6 as recommended version
152david-sarah@jacaranda.org**20100705175858
153 Ignore-this: bc3a14645ea1d5435002966ae903199f
154] 
155[SFTP: don't call .stopProducing on the producer registered with OverwriteableFileConsumer (which breaks with warner's new downloader).
156david-sarah@jacaranda.org**20100628231926
157 Ignore-this: 131b7a5787bc85a9a356b5740d9d996f
158] 
159[docs/how_to_make_a_tahoe-lafs_release.txt: trivial correction, install.html should now be quickstart.html.
160david-sarah@jacaranda.org**20100625223929
161 Ignore-this: 99a5459cac51bd867cc11ad06927ff30
162] 
163[setup: in the Makefile, refuse to upload tarballs unless someone has passed the environment variable "BB_BRANCH" with value "trunk"
164zooko@zooko.com**20100619034928
165 Ignore-this: 276ddf9b6ad7ec79e27474862e0f7d6
166] 
167[trivial: tiny update to in-line comment
168zooko@zooko.com**20100614045715
169 Ignore-this: 10851b0ed2abfed542c97749e5d280bc
170 (I'm actually committing this patch as a test of the new eager-annotation-computation of trac-darcs.)
171] 
172[docs: about.html link to home page early on, and be decentralized storage instead of cloud storage this time around
173zooko@zooko.com**20100619065318
174 Ignore-this: dc6db03f696e5b6d2848699e754d8053
175] 
176[docs: update about.html, especially to have a non-broken link to quickstart.html, and also to comment out the broken links to "for Paranoids" and "for Corporates"
177zooko@zooko.com**20100619065124
178 Ignore-this: e292c7f51c337a84ebfeb366fbd24d6c
179] 
180[TAG allmydata-tahoe-1.7.0
181zooko@zooko.com**20100619052631
182 Ignore-this: d21e27afe6d85e2e3ba6a3292ba2be1
183] 
184Patch bundle hash:
185b6bd1c459b9a0bd5eee8254430e3140130ed2845