query_by_field: Add operators for array membership
This CL adds support for new operators to query_by_field.py: ':' for
array membership, and '!:' for array non-membership. So
`query_by_field.py 'ec_capability:x86'` will show all platforms with the
x86 EC capability, while `query_by_field.py 'ec_capability!:x86'` will
show all platforms without the x86 EC capability.
BUG=b:173118460
TEST=unittests
Change-Id: I95d675a52b91a19d0c6e271ade616c87fc14fa28
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/fw-testing-configs/+/2558486
Tested-by: Greg Edelston <gredelston@google.com>
Auto-Submit: Greg Edelston <gredelston@google.com>
Reviewed-by: Kevin Shelton <kmshelton@chromium.org>
Commit-Queue: Kevin Shelton <kmshelton@chromium.org>
diff --git a/platform_json_unittest.py b/platform_json_unittest.py
index 3bc1be8..b0c9008 100755
--- a/platform_json_unittest.py
+++ b/platform_json_unittest.py
@@ -26,12 +26,19 @@
"field1": 5,
"field2": 5,
"field3": 5,
- "field4": 5
+ "field4": 5,
+ "fieldArray": [
+ "elem5"
+ ]
},
"my_platform": {
"platform": "my_platform",
"parent": "my_parent",
"field1": 1,
+ "fieldArray": [
+ "elem1",
+ "elem2"
+ ],
"models": {
"my_model": {
"field1": 4
@@ -119,7 +126,11 @@
'field1': 1,
'field2': 2,
'field3': 3,
- 'field4': 5
+ 'field4': 5,
+ 'fieldArray': [
+ 'elem1',
+ 'elem2',
+ ],
})
expected_output = json.dumps(expected_json, indent=4) + '\n'
self.assertEqual(_run_main(argv), expected_output)