summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake')
-rwxr-xr-xbitbake/bin/bitbake-hashclient27
-rw-r--r--bitbake/lib/hashserv/tests.py20
2 files changed, 47 insertions, 0 deletions
diff --git a/bitbake/bin/bitbake-hashclient b/bitbake/bin/bitbake-hashclient
index 3ff7b76378..2cb6338666 100755
--- a/bitbake/bin/bitbake-hashclient
+++ b/bitbake/bin/bitbake-hashclient
@@ -52,6 +52,22 @@ def print_user(u):
52 52
53 53
54def main(): 54def main():
55 def handle_get(args, client):
56 result = client.get_taskhash(args.method, args.taskhash, all_properties=True)
57 if not result:
58 return 0
59
60 print(json.dumps(result, sort_keys=True, indent=4))
61 return 0
62
63 def handle_get_outhash(args, client):
64 result = client.get_outhash(args.method, args.outhash, args.taskhash)
65 if not result:
66 return 0
67
68 print(json.dumps(result, sort_keys=True, indent=4))
69 return 0
70
55 def handle_stats(args, client): 71 def handle_stats(args, client):
56 if args.reset: 72 if args.reset:
57 s = client.reset_stats() 73 s = client.reset_stats()
@@ -189,6 +205,17 @@ def main():
189 205
190 subparsers = parser.add_subparsers() 206 subparsers = parser.add_subparsers()
191 207
208 get_parser = subparsers.add_parser('get', help="Get the unihash for a taskhash")
209 get_parser.add_argument("method", help="Method to query")
210 get_parser.add_argument("taskhash", help="Task hash to query")
211 get_parser.set_defaults(func=handle_get)
212
213 get_outhash_parser = subparsers.add_parser('get-outhash', help="Get output hash information")
214 get_outhash_parser.add_argument("method", help="Method to query")
215 get_outhash_parser.add_argument("outhash", help="Output hash to query")
216 get_outhash_parser.add_argument("taskhash", help="Task hash to query")
217 get_outhash_parser.set_defaults(func=handle_get_outhash)
218
192 stats_parser = subparsers.add_parser('stats', help='Show server stats') 219 stats_parser = subparsers.add_parser('stats', help='Show server stats')
193 stats_parser.add_argument('--reset', action='store_true', 220 stats_parser.add_argument('--reset', action='store_true',
194 help='Reset server stats') 221 help='Reset server stats')
diff --git a/bitbake/lib/hashserv/tests.py b/bitbake/lib/hashserv/tests.py
index a9e6fdf9ff..869f7636c5 100644
--- a/bitbake/lib/hashserv/tests.py
+++ b/bitbake/lib/hashserv/tests.py
@@ -842,6 +842,26 @@ class TestHashEquivalenceClient(HashEquivalenceTestSetup, unittest.TestCase):
842 def get_server_addr(self, server_idx): 842 def get_server_addr(self, server_idx):
843 return "unix://" + os.path.join(self.temp_dir.name, 'sock%d' % server_idx) 843 return "unix://" + os.path.join(self.temp_dir.name, 'sock%d' % server_idx)
844 844
845 def test_get(self):
846 taskhash, outhash, unihash = self.create_test_hash(self.client)
847
848 p = self.run_hashclient(["--address", self.server_address, "get", self.METHOD, taskhash])
849 data = json.loads(p.stdout)
850 self.assertEqual(data["unihash"], unihash)
851 self.assertEqual(data["outhash"], outhash)
852 self.assertEqual(data["taskhash"], taskhash)
853 self.assertEqual(data["method"], self.METHOD)
854
855 def test_get_outhash(self):
856 taskhash, outhash, unihash = self.create_test_hash(self.client)
857
858 p = self.run_hashclient(["--address", self.server_address, "get-outhash", self.METHOD, outhash, taskhash])
859 data = json.loads(p.stdout)
860 self.assertEqual(data["unihash"], unihash)
861 self.assertEqual(data["outhash"], outhash)
862 self.assertEqual(data["taskhash"], taskhash)
863 self.assertEqual(data["method"], self.METHOD)
864
845 def test_stats(self): 865 def test_stats(self):
846 p = self.run_hashclient(["--address", self.server_address, "stats"], check=True) 866 p = self.run_hashclient(["--address", self.server_address, "stats"], check=True)
847 json.loads(p.stdout) 867 json.loads(p.stdout)