diff options
Diffstat (limited to 'bitbake')
-rwxr-xr-x | bitbake/bin/bitbake-hashclient | 27 | ||||
-rw-r--r-- | bitbake/lib/hashserv/tests.py | 20 |
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 | ||
54 | def main(): | 54 | def 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) |