From d548f2c5c41c4184f7fdfab12e33389fe1ed9f6c Mon Sep 17 00:00:00 2001 From: Harshil Patel Date: Tue, 23 Apr 2024 16:09:23 -0700 Subject: [PATCH] tests: fix tests that use JSON client - There was a bug in JSONClient when searching for resoruces. The id was not checked and the booleans were not set to true when optional search queries like resource_version and gem5_version are not passed. Change-Id: I4aa7c5388035144ec6864d57130ad09e6709692e --- .../gem5/resources/client_api/jsonclient.py | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/python/gem5/resources/client_api/jsonclient.py b/src/python/gem5/resources/client_api/jsonclient.py index 81f4ae174e..4ef2ab2701 100644 --- a/src/python/gem5/resources/client_api/jsonclient.py +++ b/src/python/gem5/resources/client_api/jsonclient.py @@ -93,14 +93,26 @@ class JSONClient(AbstractClient): resource_query.get_gem5_version() in resource["gem5_versions"] ) + else: + gem5_version_match = True if resource_query.get_resource_version() is not None: resource_version_match = ( resource["resource_version"] == resource_query.get_resource_version() ) + else: + resource_version_match = True - if gem5_version_match and resource_version_match: + resource_id_match = ( + resource_query.get_resource_id() == resource["id"] + ) + + if ( + gem5_version_match + and resource_version_match + and resource_id_match + ): return True return False @@ -112,10 +124,10 @@ class JSONClient(AbstractClient): resources_by_id = {} for resource in filtered_resources: - if resource["resource_id"] in resources_by_id.keys(): - resources_by_id[resource["resource_id"]].append(resource) + if resource["id"] in resources_by_id.keys(): + resources_by_id[resource["id"]].append(resource) else: - resources_by_id[resource["resource_id"]] = [resource] + resources_by_id[resource["id"]] = [resource] # Sort the resoruces by resoruce version and get the latest version. for id, resource_list in resources_by_id.items():