diff options
Diffstat (limited to 'bitbake/lib/hashserv/tests.py')
-rw-r--r-- | bitbake/lib/hashserv/tests.py | 60 |
1 files changed, 48 insertions, 12 deletions
diff --git a/bitbake/lib/hashserv/tests.py b/bitbake/lib/hashserv/tests.py index 1fcfb6b929..efaf3bdf42 100644 --- a/bitbake/lib/hashserv/tests.py +++ b/bitbake/lib/hashserv/tests.py | |||
@@ -19,10 +19,10 @@ import time | |||
19 | import signal | 19 | import signal |
20 | 20 | ||
21 | def server_prefunc(server, idx): | 21 | def server_prefunc(server, idx): |
22 | logging.basicConfig(level=logging.DEBUG, filename='bbhashserv.log', filemode='w', | 22 | logging.basicConfig(level=logging.DEBUG, filename='bbhashserv-%d.log' % idx, filemode='w', |
23 | format='%(levelname)s %(filename)s:%(lineno)d %(message)s') | 23 | format='%(levelname)s %(filename)s:%(lineno)d %(message)s') |
24 | server.logger.debug("Running server %d" % idx) | 24 | server.logger.debug("Running server %d" % idx) |
25 | sys.stdout = open('bbhashserv-%d.log' % idx, 'w') | 25 | sys.stdout = open('bbhashserv-stdout-%d.log' % idx, 'w') |
26 | sys.stderr = sys.stdout | 26 | sys.stderr = sys.stdout |
27 | 27 | ||
28 | class HashEquivalenceTestSetup(object): | 28 | class HashEquivalenceTestSetup(object): |
@@ -140,12 +140,17 @@ class HashEquivalenceCommonTests(object): | |||
140 | }) | 140 | }) |
141 | self.assertEqual(result['unihash'], unihash, 'Server returned bad unihash') | 141 | self.assertEqual(result['unihash'], unihash, 'Server returned bad unihash') |
142 | 142 | ||
143 | result = self.client.get_taskhash(self.METHOD, taskhash, True) | 143 | result_unihash = self.client.get_taskhash(self.METHOD, taskhash, True) |
144 | self.assertEqual(result['taskhash'], taskhash) | 144 | self.assertEqual(result_unihash['taskhash'], taskhash) |
145 | self.assertEqual(result['unihash'], unihash) | 145 | self.assertEqual(result_unihash['unihash'], unihash) |
146 | self.assertEqual(result['method'], self.METHOD) | 146 | self.assertEqual(result_unihash['method'], self.METHOD) |
147 | self.assertEqual(result['outhash'], outhash) | 147 | |
148 | self.assertEqual(result['outhash_siginfo'], siginfo) | 148 | result_outhash = self.client.get_outhash(self.METHOD, outhash, taskhash) |
149 | self.assertEqual(result_outhash['taskhash'], taskhash) | ||
150 | self.assertEqual(result_outhash['method'], self.METHOD) | ||
151 | self.assertEqual(result_outhash['unihash'], unihash) | ||
152 | self.assertEqual(result_outhash['outhash'], outhash) | ||
153 | self.assertEqual(result_outhash['outhash_siginfo'], siginfo) | ||
149 | 154 | ||
150 | def test_stress(self): | 155 | def test_stress(self): |
151 | def query_server(failures): | 156 | def query_server(failures): |
@@ -260,6 +265,39 @@ class HashEquivalenceCommonTests(object): | |||
260 | result = down_client.report_unihash(taskhash6, self.METHOD, outhash5, unihash6) | 265 | result = down_client.report_unihash(taskhash6, self.METHOD, outhash5, unihash6) |
261 | self.assertEqual(result['unihash'], unihash5, 'Server failed to copy unihash from upstream') | 266 | self.assertEqual(result['unihash'], unihash5, 'Server failed to copy unihash from upstream') |
262 | 267 | ||
268 | # Tests read through from server with | ||
269 | taskhash7 = '9d81d76242cc7cfaf7bf74b94b9cd2e29324ed74' | ||
270 | outhash7 = '8470d56547eea6236d7c81a644ce74670ca0bbda998e13c629ef6bb3f0d60b69' | ||
271 | unihash7 = '05d2a63c81e32f0a36542ca677e8ad852365c538' | ||
272 | self.client.report_unihash(taskhash7, self.METHOD, outhash7, unihash7) | ||
273 | |||
274 | result = down_client.get_taskhash(self.METHOD, taskhash7, True) | ||
275 | self.assertEqual(result['unihash'], unihash7, 'Server failed to copy unihash from upstream') | ||
276 | self.assertEqual(result['outhash'], outhash7, 'Server failed to copy unihash from upstream') | ||
277 | self.assertEqual(result['taskhash'], taskhash7, 'Server failed to copy unihash from upstream') | ||
278 | self.assertEqual(result['method'], self.METHOD) | ||
279 | |||
280 | taskhash8 = '86978a4c8c71b9b487330b0152aade10c1ee58aa' | ||
281 | outhash8 = 'ca8c128e9d9e4a28ef24d0508aa20b5cf880604eacd8f65c0e366f7e0cc5fbcf' | ||
282 | unihash8 = 'd8bcf25369d40590ad7d08c84d538982f2023e01' | ||
283 | self.client.report_unihash(taskhash8, self.METHOD, outhash8, unihash8) | ||
284 | |||
285 | result = down_client.get_outhash(self.METHOD, outhash8, taskhash8) | ||
286 | self.assertEqual(result['unihash'], unihash8, 'Server failed to copy unihash from upstream') | ||
287 | self.assertEqual(result['outhash'], outhash8, 'Server failed to copy unihash from upstream') | ||
288 | self.assertEqual(result['taskhash'], taskhash8, 'Server failed to copy unihash from upstream') | ||
289 | self.assertEqual(result['method'], self.METHOD) | ||
290 | |||
291 | taskhash9 = 'ae6339531895ddf5b67e663e6a374ad8ec71d81c' | ||
292 | outhash9 = 'afc78172c81880ae10a1fec994b5b4ee33d196a001a1b66212a15ebe573e00b5' | ||
293 | unihash9 = '6662e699d6e3d894b24408ff9a4031ef9b038ee8' | ||
294 | self.client.report_unihash(taskhash9, self.METHOD, outhash9, unihash9) | ||
295 | |||
296 | result = down_client.get_taskhash(self.METHOD, taskhash9, False) | ||
297 | self.assertEqual(result['unihash'], unihash9, 'Server failed to copy unihash from upstream') | ||
298 | self.assertEqual(result['taskhash'], taskhash9, 'Server failed to copy unihash from upstream') | ||
299 | self.assertEqual(result['method'], self.METHOD) | ||
300 | |||
263 | def test_ro_server(self): | 301 | def test_ro_server(self): |
264 | (ro_client, ro_server) = self.start_server(dbpath=self.server.dbpath, read_only=True) | 302 | (ro_client, ro_server) = self.start_server(dbpath=self.server.dbpath, read_only=True) |
265 | 303 | ||
@@ -287,10 +325,8 @@ class HashEquivalenceCommonTests(object): | |||
287 | 325 | ||
288 | 326 | ||
289 | def test_slow_server_start(self): | 327 | def test_slow_server_start(self): |
290 | """ | 328 | # Ensures that the server will exit correctly even if it gets a SIGTERM |
291 | Ensures that the server will exit correctly even if it gets a SIGTERM | 329 | # before entering the main loop |
292 | before entering the main loop | ||
293 | """ | ||
294 | 330 | ||
295 | event = multiprocessing.Event() | 331 | event = multiprocessing.Event() |
296 | 332 | ||