xref: /aosp_15_r20/external/pigweed/pw_kvs/BUILD.gn (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1*61c4878aSAndroid Build Coastguard Worker# Copyright 2020 The Pigweed Authors
2*61c4878aSAndroid Build Coastguard Worker#
3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of
5*61c4878aSAndroid Build Coastguard Worker# the License at
6*61c4878aSAndroid Build Coastguard Worker#
7*61c4878aSAndroid Build Coastguard Worker#     https://www.apache.org/licenses/LICENSE-2.0
8*61c4878aSAndroid Build Coastguard Worker#
9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under
13*61c4878aSAndroid Build Coastguard Worker# the License.
14*61c4878aSAndroid Build Coastguard Worker
15*61c4878aSAndroid Build Coastguard Workerimport("//build_overrides/pigweed.gni")
16*61c4878aSAndroid Build Coastguard Worker
17*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_bloat/bloat.gni")
18*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/module_config.gni")
19*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/target_types.gni")
20*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_docgen/docs.gni")
21*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_toolchain/generate_toolchain.gni")
22*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_unit_test/test.gni")
23*61c4878aSAndroid Build Coastguard Worker
24*61c4878aSAndroid Build Coastguard Workerdeclare_args() {
25*61c4878aSAndroid Build Coastguard Worker  # The build target that overrides the default configuration options for this
26*61c4878aSAndroid Build Coastguard Worker  # module. This should point to a source set that provides defines through a
27*61c4878aSAndroid Build Coastguard Worker  # public config (which may -include a file or add defines directly).
28*61c4878aSAndroid Build Coastguard Worker  pw_kvs_CONFIG = pw_build_DEFAULT_MODULE_CONFIG
29*61c4878aSAndroid Build Coastguard Worker}
30*61c4878aSAndroid Build Coastguard Worker
31*61c4878aSAndroid Build Coastguard Workerconfig("public_include_path") {
32*61c4878aSAndroid Build Coastguard Worker  include_dirs = [ "public" ]
33*61c4878aSAndroid Build Coastguard Worker  visibility = [ ":*" ]
34*61c4878aSAndroid Build Coastguard Worker}
35*61c4878aSAndroid Build Coastguard Worker
36*61c4878aSAndroid Build Coastguard Workerpw_source_set("pw_kvs") {
37*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
38*61c4878aSAndroid Build Coastguard Worker  public = [
39*61c4878aSAndroid Build Coastguard Worker    "public/pw_kvs/alignment.h",
40*61c4878aSAndroid Build Coastguard Worker    "public/pw_kvs/checksum.h",
41*61c4878aSAndroid Build Coastguard Worker    "public/pw_kvs/flash_memory.h",
42*61c4878aSAndroid Build Coastguard Worker    "public/pw_kvs/flash_test_partition.h",
43*61c4878aSAndroid Build Coastguard Worker    "public/pw_kvs/format.h",
44*61c4878aSAndroid Build Coastguard Worker    "public/pw_kvs/io.h",
45*61c4878aSAndroid Build Coastguard Worker    "public/pw_kvs/key_value_store.h",
46*61c4878aSAndroid Build Coastguard Worker  ]
47*61c4878aSAndroid Build Coastguard Worker  sources = [
48*61c4878aSAndroid Build Coastguard Worker    "alignment.cc",
49*61c4878aSAndroid Build Coastguard Worker    "checksum.cc",
50*61c4878aSAndroid Build Coastguard Worker    "entry.cc",
51*61c4878aSAndroid Build Coastguard Worker    "entry_cache.cc",
52*61c4878aSAndroid Build Coastguard Worker    "flash_memory.cc",
53*61c4878aSAndroid Build Coastguard Worker    "format.cc",
54*61c4878aSAndroid Build Coastguard Worker    "key_value_store.cc",
55*61c4878aSAndroid Build Coastguard Worker    "public/pw_kvs/internal/entry.h",
56*61c4878aSAndroid Build Coastguard Worker    "public/pw_kvs/internal/entry_cache.h",
57*61c4878aSAndroid Build Coastguard Worker    "public/pw_kvs/internal/hash.h",
58*61c4878aSAndroid Build Coastguard Worker    "public/pw_kvs/internal/key_descriptor.h",
59*61c4878aSAndroid Build Coastguard Worker    "public/pw_kvs/internal/sectors.h",
60*61c4878aSAndroid Build Coastguard Worker    "public/pw_kvs/internal/span_traits.h",
61*61c4878aSAndroid Build Coastguard Worker    "sectors.cc",
62*61c4878aSAndroid Build Coastguard Worker  ]
63*61c4878aSAndroid Build Coastguard Worker  public_deps = [
64*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_bytes:alignment",
65*61c4878aSAndroid Build Coastguard Worker    dir_pw_assert,
66*61c4878aSAndroid Build Coastguard Worker    dir_pw_bytes,
67*61c4878aSAndroid Build Coastguard Worker    dir_pw_containers,
68*61c4878aSAndroid Build Coastguard Worker    dir_pw_span,
69*61c4878aSAndroid Build Coastguard Worker    dir_pw_status,
70*61c4878aSAndroid Build Coastguard Worker    dir_pw_stream,
71*61c4878aSAndroid Build Coastguard Worker  ]
72*61c4878aSAndroid Build Coastguard Worker  deps = [
73*61c4878aSAndroid Build Coastguard Worker    ":config",
74*61c4878aSAndroid Build Coastguard Worker    dir_pw_checksum,
75*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
76*61c4878aSAndroid Build Coastguard Worker  ]
77*61c4878aSAndroid Build Coastguard Worker  friend = [ ":*" ]
78*61c4878aSAndroid Build Coastguard Worker}
79*61c4878aSAndroid Build Coastguard Worker
80*61c4878aSAndroid Build Coastguard Workerpw_source_set("config") {
81*61c4878aSAndroid Build Coastguard Worker  public_deps = [ pw_kvs_CONFIG ]
82*61c4878aSAndroid Build Coastguard Worker  public = [ "pw_kvs_private/config.h" ]
83*61c4878aSAndroid Build Coastguard Worker  visibility = [ ":*" ]
84*61c4878aSAndroid Build Coastguard Worker}
85*61c4878aSAndroid Build Coastguard Worker
86*61c4878aSAndroid Build Coastguard Workerpw_source_set("crc16") {
87*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_kvs/crc16_checksum.h" ]
88*61c4878aSAndroid Build Coastguard Worker  public_deps = [
89*61c4878aSAndroid Build Coastguard Worker    ":pw_kvs",
90*61c4878aSAndroid Build Coastguard Worker    dir_pw_checksum,
91*61c4878aSAndroid Build Coastguard Worker    dir_pw_span,
92*61c4878aSAndroid Build Coastguard Worker  ]
93*61c4878aSAndroid Build Coastguard Worker}
94*61c4878aSAndroid Build Coastguard Worker
95*61c4878aSAndroid Build Coastguard Workerpw_source_set("flash_test_partition") {
96*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_kvs/flash_test_partition.h" ]
97*61c4878aSAndroid Build Coastguard Worker  public_deps = [ ":pw_kvs" ]
98*61c4878aSAndroid Build Coastguard Worker}
99*61c4878aSAndroid Build Coastguard Worker
100*61c4878aSAndroid Build Coastguard Workerpw_source_set("test_key_value_store") {
101*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_kvs/test_key_value_store.h" ]
102*61c4878aSAndroid Build Coastguard Worker  public_deps = [
103*61c4878aSAndroid Build Coastguard Worker    ":pw_kvs",
104*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:borrow",
105*61c4878aSAndroid Build Coastguard Worker  ]
106*61c4878aSAndroid Build Coastguard Worker}
107*61c4878aSAndroid Build Coastguard Worker
108*61c4878aSAndroid Build Coastguard Workerpw_source_set("fake_flash") {
109*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
110*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_kvs/fake_flash_memory.h" ]
111*61c4878aSAndroid Build Coastguard Worker  sources = [ "fake_flash_memory.cc" ]
112*61c4878aSAndroid Build Coastguard Worker  public_deps = [
113*61c4878aSAndroid Build Coastguard Worker    dir_pw_containers,
114*61c4878aSAndroid Build Coastguard Worker    dir_pw_kvs,
115*61c4878aSAndroid Build Coastguard Worker    dir_pw_status,
116*61c4878aSAndroid Build Coastguard Worker  ]
117*61c4878aSAndroid Build Coastguard Worker  deps = [
118*61c4878aSAndroid Build Coastguard Worker    ":config",
119*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
120*61c4878aSAndroid Build Coastguard Worker  ]
121*61c4878aSAndroid Build Coastguard Worker}
122*61c4878aSAndroid Build Coastguard Worker
123*61c4878aSAndroid Build Coastguard Workerpw_source_set("flash_partition_with_logical_sectors") {
124*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
125*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_kvs/flash_partition_with_logical_sectors.h" ]
126*61c4878aSAndroid Build Coastguard Worker  public_deps = [ dir_pw_kvs ]
127*61c4878aSAndroid Build Coastguard Worker  deps = [ ":config" ]
128*61c4878aSAndroid Build Coastguard Worker}
129*61c4878aSAndroid Build Coastguard Worker
130*61c4878aSAndroid Build Coastguard Workerpw_source_set("fake_flash_12_byte_partition") {
131*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
132*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_kvs/flash_test_partition.h" ]
133*61c4878aSAndroid Build Coastguard Worker  sources = [ "fake_flash_test_partition.cc" ]
134*61c4878aSAndroid Build Coastguard Worker  public_deps = [ ":flash_test_partition" ]
135*61c4878aSAndroid Build Coastguard Worker  deps = [
136*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
137*61c4878aSAndroid Build Coastguard Worker    dir_pw_kvs,
138*61c4878aSAndroid Build Coastguard Worker  ]
139*61c4878aSAndroid Build Coastguard Worker  defines = [
140*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_SECTORS=3",
141*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_SECTOR_SIZE=4",
142*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_ALIGNMENT=4",
143*61c4878aSAndroid Build Coastguard Worker  ]
144*61c4878aSAndroid Build Coastguard Worker}
145*61c4878aSAndroid Build Coastguard Worker
146*61c4878aSAndroid Build Coastguard Workerpw_source_set("fake_flash_1_aligned_partition") {
147*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
148*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_kvs/flash_test_partition.h" ]
149*61c4878aSAndroid Build Coastguard Worker  sources = [ "fake_flash_test_partition.cc" ]
150*61c4878aSAndroid Build Coastguard Worker  public_deps = [ ":flash_test_partition" ]
151*61c4878aSAndroid Build Coastguard Worker  deps = [
152*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
153*61c4878aSAndroid Build Coastguard Worker    dir_pw_kvs,
154*61c4878aSAndroid Build Coastguard Worker  ]
155*61c4878aSAndroid Build Coastguard Worker  defines = [
156*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_SECTORS=6U",
157*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_SECTOR_SIZE=4096U",
158*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_ALIGNMENT=1U",
159*61c4878aSAndroid Build Coastguard Worker  ]
160*61c4878aSAndroid Build Coastguard Worker}
161*61c4878aSAndroid Build Coastguard Worker
162*61c4878aSAndroid Build Coastguard Workerpw_source_set("fake_flash_16_aligned_partition") {
163*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
164*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_kvs/flash_test_partition.h" ]
165*61c4878aSAndroid Build Coastguard Worker  sources = [ "fake_flash_test_partition.cc" ]
166*61c4878aSAndroid Build Coastguard Worker  public_deps = [ ":flash_test_partition" ]
167*61c4878aSAndroid Build Coastguard Worker  deps = [
168*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
169*61c4878aSAndroid Build Coastguard Worker    dir_pw_kvs,
170*61c4878aSAndroid Build Coastguard Worker  ]
171*61c4878aSAndroid Build Coastguard Worker  defines = [
172*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_SECTORS=6U",
173*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_SECTOR_SIZE=4096U",
174*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_ALIGNMENT=16U",
175*61c4878aSAndroid Build Coastguard Worker  ]
176*61c4878aSAndroid Build Coastguard Worker}
177*61c4878aSAndroid Build Coastguard Worker
178*61c4878aSAndroid Build Coastguard Workerpw_source_set("fake_flash_64_aligned_partition") {
179*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
180*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_kvs/flash_test_partition.h" ]
181*61c4878aSAndroid Build Coastguard Worker  sources = [ "fake_flash_test_partition.cc" ]
182*61c4878aSAndroid Build Coastguard Worker  public_deps = [ ":flash_test_partition" ]
183*61c4878aSAndroid Build Coastguard Worker  deps = [
184*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
185*61c4878aSAndroid Build Coastguard Worker    dir_pw_kvs,
186*61c4878aSAndroid Build Coastguard Worker  ]
187*61c4878aSAndroid Build Coastguard Worker  defines = [
188*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_SECTORS=6U",
189*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_SECTOR_SIZE=4096U",
190*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_ALIGNMENT=64U",
191*61c4878aSAndroid Build Coastguard Worker  ]
192*61c4878aSAndroid Build Coastguard Worker}
193*61c4878aSAndroid Build Coastguard Worker
194*61c4878aSAndroid Build Coastguard Workerpw_source_set("fake_flash_256_aligned_partition") {
195*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
196*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_kvs/flash_test_partition.h" ]
197*61c4878aSAndroid Build Coastguard Worker  sources = [ "fake_flash_test_partition.cc" ]
198*61c4878aSAndroid Build Coastguard Worker  public_deps = [ ":flash_test_partition" ]
199*61c4878aSAndroid Build Coastguard Worker  deps = [
200*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
201*61c4878aSAndroid Build Coastguard Worker    dir_pw_kvs,
202*61c4878aSAndroid Build Coastguard Worker  ]
203*61c4878aSAndroid Build Coastguard Worker  defines = [
204*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_SECTORS=6U",
205*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_SECTOR_SIZE=4096U",
206*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_ALIGNMENT=256U",
207*61c4878aSAndroid Build Coastguard Worker  ]
208*61c4878aSAndroid Build Coastguard Worker}
209*61c4878aSAndroid Build Coastguard Worker
210*61c4878aSAndroid Build Coastguard Workerpw_source_set("fake_flash_1_aligned_4_logical_partition") {
211*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
212*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_kvs/flash_test_partition.h" ]
213*61c4878aSAndroid Build Coastguard Worker  sources = [ "fake_flash_test_logical_sector_partition.cc" ]
214*61c4878aSAndroid Build Coastguard Worker  public_deps = [ ":flash_test_partition" ]
215*61c4878aSAndroid Build Coastguard Worker  deps = [
216*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
217*61c4878aSAndroid Build Coastguard Worker    ":flash_partition_with_logical_sectors",
218*61c4878aSAndroid Build Coastguard Worker    dir_pw_kvs,
219*61c4878aSAndroid Build Coastguard Worker  ]
220*61c4878aSAndroid Build Coastguard Worker  defines = [
221*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_SECTORS=24U",
222*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_SECTOR_SIZE=4096U",
223*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_ALIGNMENT=1U",
224*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_SECTORS_PER_LOGICAL_SECTOR=4U",
225*61c4878aSAndroid Build Coastguard Worker  ]
226*61c4878aSAndroid Build Coastguard Worker}
227*61c4878aSAndroid Build Coastguard Worker
228*61c4878aSAndroid Build Coastguard Workerpw_source_set("fake_flash_test_key_value_store") {
229*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
230*61c4878aSAndroid Build Coastguard Worker  sources = [ "fake_flash_test_key_value_store.cc" ]
231*61c4878aSAndroid Build Coastguard Worker  public_deps = [ ":test_key_value_store" ]
232*61c4878aSAndroid Build Coastguard Worker  deps = [
233*61c4878aSAndroid Build Coastguard Worker    ":crc16",
234*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
235*61c4878aSAndroid Build Coastguard Worker    dir_pw_kvs,
236*61c4878aSAndroid Build Coastguard Worker  ]
237*61c4878aSAndroid Build Coastguard Worker}
238*61c4878aSAndroid Build Coastguard Worker
239*61c4878aSAndroid Build Coastguard Workerpw_source_set("flash_partition_stream_test") {
240*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
241*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_kvs/flash_memory.h" ]
242*61c4878aSAndroid Build Coastguard Worker  sources = [ "flash_partition_stream_test.cc" ]
243*61c4878aSAndroid Build Coastguard Worker  public_deps = [
244*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:borrow",
245*61c4878aSAndroid Build Coastguard Worker    dir_pw_bytes,
246*61c4878aSAndroid Build Coastguard Worker    dir_pw_kvs,
247*61c4878aSAndroid Build Coastguard Worker    dir_pw_polyfill,
248*61c4878aSAndroid Build Coastguard Worker    dir_pw_preprocessor,
249*61c4878aSAndroid Build Coastguard Worker    dir_pw_status,
250*61c4878aSAndroid Build Coastguard Worker    dir_pw_stream,
251*61c4878aSAndroid Build Coastguard Worker  ]
252*61c4878aSAndroid Build Coastguard Worker  deps = [
253*61c4878aSAndroid Build Coastguard Worker    ":config",
254*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
255*61c4878aSAndroid Build Coastguard Worker    ":flash_test_partition",
256*61c4878aSAndroid Build Coastguard Worker    dir_pw_kvs,
257*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
258*61c4878aSAndroid Build Coastguard Worker    dir_pw_random,
259*61c4878aSAndroid Build Coastguard Worker    dir_pw_unit_test,
260*61c4878aSAndroid Build Coastguard Worker  ]
261*61c4878aSAndroid Build Coastguard Worker}
262*61c4878aSAndroid Build Coastguard Worker
263*61c4878aSAndroid Build Coastguard Workerpw_source_set("flash_partition_test_100_iterations") {
264*61c4878aSAndroid Build Coastguard Worker  deps = [
265*61c4878aSAndroid Build Coastguard Worker    ":config",
266*61c4878aSAndroid Build Coastguard Worker    ":flash_test_partition",
267*61c4878aSAndroid Build Coastguard Worker    dir_pw_kvs,
268*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
269*61c4878aSAndroid Build Coastguard Worker    dir_pw_unit_test,
270*61c4878aSAndroid Build Coastguard Worker  ]
271*61c4878aSAndroid Build Coastguard Worker  sources = [ "flash_partition_test.cc" ]
272*61c4878aSAndroid Build Coastguard Worker  defines = [
273*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_ITERATIONS=100",
274*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_WRITE_SIZE=1",
275*61c4878aSAndroid Build Coastguard Worker  ]
276*61c4878aSAndroid Build Coastguard Worker}
277*61c4878aSAndroid Build Coastguard Worker
278*61c4878aSAndroid Build Coastguard Workerpw_source_set("flash_partition_test_2_iterations") {
279*61c4878aSAndroid Build Coastguard Worker  deps = [
280*61c4878aSAndroid Build Coastguard Worker    ":config",
281*61c4878aSAndroid Build Coastguard Worker    ":flash_test_partition",
282*61c4878aSAndroid Build Coastguard Worker    dir_pw_kvs,
283*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
284*61c4878aSAndroid Build Coastguard Worker    dir_pw_unit_test,
285*61c4878aSAndroid Build Coastguard Worker  ]
286*61c4878aSAndroid Build Coastguard Worker  sources = [ "flash_partition_test.cc" ]
287*61c4878aSAndroid Build Coastguard Worker  defines = [
288*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_ITERATIONS=2",
289*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_WRITE_SIZE=1",
290*61c4878aSAndroid Build Coastguard Worker  ]
291*61c4878aSAndroid Build Coastguard Worker}
292*61c4878aSAndroid Build Coastguard Worker
293*61c4878aSAndroid Build Coastguard Workerpw_source_set("flash_partition_test_100_iterations_256_write") {
294*61c4878aSAndroid Build Coastguard Worker  deps = [
295*61c4878aSAndroid Build Coastguard Worker    ":config",
296*61c4878aSAndroid Build Coastguard Worker    ":flash_test_partition",
297*61c4878aSAndroid Build Coastguard Worker    dir_pw_kvs,
298*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
299*61c4878aSAndroid Build Coastguard Worker    dir_pw_unit_test,
300*61c4878aSAndroid Build Coastguard Worker  ]
301*61c4878aSAndroid Build Coastguard Worker  sources = [ "flash_partition_test.cc" ]
302*61c4878aSAndroid Build Coastguard Worker  defines = [
303*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_ITERATIONS=100",
304*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_WRITE_SIZE=256",
305*61c4878aSAndroid Build Coastguard Worker  ]
306*61c4878aSAndroid Build Coastguard Worker}
307*61c4878aSAndroid Build Coastguard Worker
308*61c4878aSAndroid Build Coastguard Workerpw_source_set("flash_partition_test_2_iterations_256_write") {
309*61c4878aSAndroid Build Coastguard Worker  deps = [
310*61c4878aSAndroid Build Coastguard Worker    ":config",
311*61c4878aSAndroid Build Coastguard Worker    ":flash_test_partition",
312*61c4878aSAndroid Build Coastguard Worker    dir_pw_kvs,
313*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
314*61c4878aSAndroid Build Coastguard Worker    dir_pw_unit_test,
315*61c4878aSAndroid Build Coastguard Worker  ]
316*61c4878aSAndroid Build Coastguard Worker  sources = [ "flash_partition_test.cc" ]
317*61c4878aSAndroid Build Coastguard Worker  defines = [
318*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_ITERATIONS=2",
319*61c4878aSAndroid Build Coastguard Worker    "PW_FLASH_TEST_WRITE_SIZE=256",
320*61c4878aSAndroid Build Coastguard Worker  ]
321*61c4878aSAndroid Build Coastguard Worker}
322*61c4878aSAndroid Build Coastguard Worker
323*61c4878aSAndroid Build Coastguard Workerpw_source_set("key_value_store_initialized_test") {
324*61c4878aSAndroid Build Coastguard Worker  deps = [
325*61c4878aSAndroid Build Coastguard Worker    ":crc16",
326*61c4878aSAndroid Build Coastguard Worker    ":flash_test_partition",
327*61c4878aSAndroid Build Coastguard Worker    ":pw_kvs",
328*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_string:builder",
329*61c4878aSAndroid Build Coastguard Worker    dir_pw_bytes,
330*61c4878aSAndroid Build Coastguard Worker    dir_pw_checksum,
331*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
332*61c4878aSAndroid Build Coastguard Worker    dir_pw_unit_test,
333*61c4878aSAndroid Build Coastguard Worker  ]
334*61c4878aSAndroid Build Coastguard Worker  sources = [ "key_value_store_initialized_test.cc" ]
335*61c4878aSAndroid Build Coastguard Worker}
336*61c4878aSAndroid Build Coastguard Worker
337*61c4878aSAndroid Build Coastguard Workerpw_source_set("key_value_store_fuzz_test") {
338*61c4878aSAndroid Build Coastguard Worker  deps = [
339*61c4878aSAndroid Build Coastguard Worker    ":config",
340*61c4878aSAndroid Build Coastguard Worker    ":crc16",
341*61c4878aSAndroid Build Coastguard Worker    ":flash_test_partition",
342*61c4878aSAndroid Build Coastguard Worker    ":pw_kvs",
343*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_string:builder",
344*61c4878aSAndroid Build Coastguard Worker    dir_pw_bytes,
345*61c4878aSAndroid Build Coastguard Worker    dir_pw_checksum,
346*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
347*61c4878aSAndroid Build Coastguard Worker    dir_pw_unit_test,
348*61c4878aSAndroid Build Coastguard Worker  ]
349*61c4878aSAndroid Build Coastguard Worker  sources = [ "key_value_store_fuzz_test.cc" ]
350*61c4878aSAndroid Build Coastguard Worker}
351*61c4878aSAndroid Build Coastguard Worker
352*61c4878aSAndroid Build Coastguard Workerpw_source_set("test_key_value_store_test") {
353*61c4878aSAndroid Build Coastguard Worker  deps = [
354*61c4878aSAndroid Build Coastguard Worker    ":pw_kvs",
355*61c4878aSAndroid Build Coastguard Worker    ":test_key_value_store",
356*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_string:builder",
357*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:borrow",
358*61c4878aSAndroid Build Coastguard Worker    dir_pw_unit_test,
359*61c4878aSAndroid Build Coastguard Worker  ]
360*61c4878aSAndroid Build Coastguard Worker  sources = [ "test_key_value_store_test.cc" ]
361*61c4878aSAndroid Build Coastguard Worker}
362*61c4878aSAndroid Build Coastguard Worker
363*61c4878aSAndroid Build Coastguard Workerpw_source_set("test_partition") {
364*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
365*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_kvs/flash_partition_with_stats.h" ]
366*61c4878aSAndroid Build Coastguard Worker  sources = [ "flash_partition_with_stats.cc" ]
367*61c4878aSAndroid Build Coastguard Worker  visibility = [ ":*" ]
368*61c4878aSAndroid Build Coastguard Worker  public_deps = [
369*61c4878aSAndroid Build Coastguard Worker    dir_pw_kvs,
370*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
371*61c4878aSAndroid Build Coastguard Worker    dir_pw_status,
372*61c4878aSAndroid Build Coastguard Worker  ]
373*61c4878aSAndroid Build Coastguard Worker  deps = [ ":config" ]
374*61c4878aSAndroid Build Coastguard Worker}
375*61c4878aSAndroid Build Coastguard Worker
376*61c4878aSAndroid Build Coastguard Workerpw_test_group("tests") {
377*61c4878aSAndroid Build Coastguard Worker  tests = [
378*61c4878aSAndroid Build Coastguard Worker    ":alignment_test",
379*61c4878aSAndroid Build Coastguard Worker    ":checksum_test",
380*61c4878aSAndroid Build Coastguard Worker    ":converts_to_span_test",
381*61c4878aSAndroid Build Coastguard Worker  ]
382*61c4878aSAndroid Build Coastguard Worker
383*61c4878aSAndroid Build Coastguard Worker  if (defined(pw_toolchain_SCOPE.is_host_toolchain) &&
384*61c4878aSAndroid Build Coastguard Worker      pw_toolchain_SCOPE.is_host_toolchain) {
385*61c4878aSAndroid Build Coastguard Worker    # TODO: b/234883746 - KVS tests are not compatible with device builds as they
386*61c4878aSAndroid Build Coastguard Worker    # use features such as std::map and are computationally expensive. Solving
387*61c4878aSAndroid Build Coastguard Worker    # this requires a more complex capabilities-based build and configuration
388*61c4878aSAndroid Build Coastguard Worker    # system which allowing enabling specific tests for targets that support
389*61c4878aSAndroid Build Coastguard Worker    # them and modifying test parameters for different targets.
390*61c4878aSAndroid Build Coastguard Worker
391*61c4878aSAndroid Build Coastguard Worker    tests += [
392*61c4878aSAndroid Build Coastguard Worker      ":entry_test",
393*61c4878aSAndroid Build Coastguard Worker      ":entry_cache_test",
394*61c4878aSAndroid Build Coastguard Worker      ":flash_partition_1_stream_test",
395*61c4878aSAndroid Build Coastguard Worker      ":flash_partition_4_logical_stream_test",
396*61c4878aSAndroid Build Coastguard Worker      ":flash_partition_1_alignment_test",
397*61c4878aSAndroid Build Coastguard Worker      ":flash_partition_1_alignment_4_logical_test",
398*61c4878aSAndroid Build Coastguard Worker      ":flash_partition_16_alignment_test",
399*61c4878aSAndroid Build Coastguard Worker      ":flash_partition_64_alignment_test",
400*61c4878aSAndroid Build Coastguard Worker      ":flash_partition_256_alignment_test",
401*61c4878aSAndroid Build Coastguard Worker      ":flash_partition_256_write_size_test",
402*61c4878aSAndroid Build Coastguard Worker      ":flash_partition_4_logical_256_write_size_test",
403*61c4878aSAndroid Build Coastguard Worker      ":key_value_store_test",
404*61c4878aSAndroid Build Coastguard Worker      ":key_value_store_1_alignment_flash_test",
405*61c4878aSAndroid Build Coastguard Worker      ":key_value_store_1_alignment_4_logical_flash_test",
406*61c4878aSAndroid Build Coastguard Worker      ":key_value_store_16_alignment_flash_test",
407*61c4878aSAndroid Build Coastguard Worker      ":key_value_store_64_alignment_flash_test",
408*61c4878aSAndroid Build Coastguard Worker      ":key_value_store_256_alignment_flash_test",
409*61c4878aSAndroid Build Coastguard Worker      ":key_value_store_fuzz_1_alignment_flash_test",
410*61c4878aSAndroid Build Coastguard Worker      ":key_value_store_fuzz_64_alignment_flash_test",
411*61c4878aSAndroid Build Coastguard Worker      ":key_value_store_binary_format_test",
412*61c4878aSAndroid Build Coastguard Worker      ":key_value_store_put_test",
413*61c4878aSAndroid Build Coastguard Worker      ":key_value_store_map_test",
414*61c4878aSAndroid Build Coastguard Worker      ":key_value_store_wear_test",
415*61c4878aSAndroid Build Coastguard Worker      ":fake_flash_test_key_value_store_test",
416*61c4878aSAndroid Build Coastguard Worker      ":sectors_test",
417*61c4878aSAndroid Build Coastguard Worker    ]
418*61c4878aSAndroid Build Coastguard Worker  }
419*61c4878aSAndroid Build Coastguard Worker}
420*61c4878aSAndroid Build Coastguard Worker
421*61c4878aSAndroid Build Coastguard Workerpw_test("alignment_test") {
422*61c4878aSAndroid Build Coastguard Worker  deps = [ ":pw_kvs" ]
423*61c4878aSAndroid Build Coastguard Worker  sources = [ "alignment_test.cc" ]
424*61c4878aSAndroid Build Coastguard Worker}
425*61c4878aSAndroid Build Coastguard Worker
426*61c4878aSAndroid Build Coastguard Workerpw_test("checksum_test") {
427*61c4878aSAndroid Build Coastguard Worker  deps = [
428*61c4878aSAndroid Build Coastguard Worker    ":crc16",
429*61c4878aSAndroid Build Coastguard Worker    ":pw_kvs",
430*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
431*61c4878aSAndroid Build Coastguard Worker  ]
432*61c4878aSAndroid Build Coastguard Worker  sources = [ "checksum_test.cc" ]
433*61c4878aSAndroid Build Coastguard Worker}
434*61c4878aSAndroid Build Coastguard Worker
435*61c4878aSAndroid Build Coastguard Workerpw_test("converts_to_span_test") {
436*61c4878aSAndroid Build Coastguard Worker  deps = [ ":pw_kvs" ]
437*61c4878aSAndroid Build Coastguard Worker  sources = [ "converts_to_span_test.cc" ]
438*61c4878aSAndroid Build Coastguard Worker}
439*61c4878aSAndroid Build Coastguard Worker
440*61c4878aSAndroid Build Coastguard Workerpw_test("entry_test") {
441*61c4878aSAndroid Build Coastguard Worker  deps = [
442*61c4878aSAndroid Build Coastguard Worker    ":crc16",
443*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
444*61c4878aSAndroid Build Coastguard Worker    ":pw_kvs",
445*61c4878aSAndroid Build Coastguard Worker    dir_pw_bytes,
446*61c4878aSAndroid Build Coastguard Worker  ]
447*61c4878aSAndroid Build Coastguard Worker  sources = [ "entry_test.cc" ]
448*61c4878aSAndroid Build Coastguard Worker}
449*61c4878aSAndroid Build Coastguard Worker
450*61c4878aSAndroid Build Coastguard Workerpw_test("entry_cache_test") {
451*61c4878aSAndroid Build Coastguard Worker  deps = [
452*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
453*61c4878aSAndroid Build Coastguard Worker    ":pw_kvs",
454*61c4878aSAndroid Build Coastguard Worker    dir_pw_bytes,
455*61c4878aSAndroid Build Coastguard Worker  ]
456*61c4878aSAndroid Build Coastguard Worker  sources = [ "entry_cache_test.cc" ]
457*61c4878aSAndroid Build Coastguard Worker}
458*61c4878aSAndroid Build Coastguard Worker
459*61c4878aSAndroid Build Coastguard Workerpw_test("flash_partition_1_stream_test") {
460*61c4878aSAndroid Build Coastguard Worker  deps = [
461*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
462*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_1_aligned_partition",
463*61c4878aSAndroid Build Coastguard Worker    ":flash_partition_stream_test",
464*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
465*61c4878aSAndroid Build Coastguard Worker  ]
466*61c4878aSAndroid Build Coastguard Worker}
467*61c4878aSAndroid Build Coastguard Worker
468*61c4878aSAndroid Build Coastguard Workerpw_test("flash_partition_4_logical_stream_test") {
469*61c4878aSAndroid Build Coastguard Worker  deps = [
470*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
471*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_1_aligned_4_logical_partition",
472*61c4878aSAndroid Build Coastguard Worker    ":flash_partition_stream_test",
473*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
474*61c4878aSAndroid Build Coastguard Worker  ]
475*61c4878aSAndroid Build Coastguard Worker}
476*61c4878aSAndroid Build Coastguard Worker
477*61c4878aSAndroid Build Coastguard Workerpw_test("flash_partition_1_alignment_test") {
478*61c4878aSAndroid Build Coastguard Worker  deps = [
479*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
480*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_1_aligned_partition",
481*61c4878aSAndroid Build Coastguard Worker    ":flash_partition_test_100_iterations",
482*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
483*61c4878aSAndroid Build Coastguard Worker  ]
484*61c4878aSAndroid Build Coastguard Worker}
485*61c4878aSAndroid Build Coastguard Worker
486*61c4878aSAndroid Build Coastguard Workerpw_test("flash_partition_1_alignment_4_logical_test") {
487*61c4878aSAndroid Build Coastguard Worker  deps = [
488*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
489*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_1_aligned_4_logical_partition",
490*61c4878aSAndroid Build Coastguard Worker    ":flash_partition_test_2_iterations",
491*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
492*61c4878aSAndroid Build Coastguard Worker  ]
493*61c4878aSAndroid Build Coastguard Worker}
494*61c4878aSAndroid Build Coastguard Worker
495*61c4878aSAndroid Build Coastguard Workerpw_test("flash_partition_16_alignment_test") {
496*61c4878aSAndroid Build Coastguard Worker  deps = [
497*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
498*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_16_aligned_partition",
499*61c4878aSAndroid Build Coastguard Worker    ":flash_partition_test_100_iterations",
500*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
501*61c4878aSAndroid Build Coastguard Worker  ]
502*61c4878aSAndroid Build Coastguard Worker}
503*61c4878aSAndroid Build Coastguard Worker
504*61c4878aSAndroid Build Coastguard Workerpw_test("flash_partition_64_alignment_test") {
505*61c4878aSAndroid Build Coastguard Worker  deps = [
506*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
507*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_64_aligned_partition",
508*61c4878aSAndroid Build Coastguard Worker    ":flash_partition_test_100_iterations",
509*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
510*61c4878aSAndroid Build Coastguard Worker  ]
511*61c4878aSAndroid Build Coastguard Worker}
512*61c4878aSAndroid Build Coastguard Worker
513*61c4878aSAndroid Build Coastguard Workerpw_test("flash_partition_256_alignment_test") {
514*61c4878aSAndroid Build Coastguard Worker  deps = [
515*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
516*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_256_aligned_partition",
517*61c4878aSAndroid Build Coastguard Worker    ":flash_partition_test_100_iterations",
518*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
519*61c4878aSAndroid Build Coastguard Worker  ]
520*61c4878aSAndroid Build Coastguard Worker}
521*61c4878aSAndroid Build Coastguard Worker
522*61c4878aSAndroid Build Coastguard Workerpw_test("flash_partition_256_write_size_test") {
523*61c4878aSAndroid Build Coastguard Worker  deps = [
524*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
525*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_1_aligned_partition",
526*61c4878aSAndroid Build Coastguard Worker    ":flash_partition_test_100_iterations_256_write",
527*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
528*61c4878aSAndroid Build Coastguard Worker  ]
529*61c4878aSAndroid Build Coastguard Worker}
530*61c4878aSAndroid Build Coastguard Worker
531*61c4878aSAndroid Build Coastguard Workerpw_test("flash_partition_4_logical_256_write_size_test") {
532*61c4878aSAndroid Build Coastguard Worker  deps = [
533*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
534*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_1_aligned_4_logical_partition",
535*61c4878aSAndroid Build Coastguard Worker    ":flash_partition_test_2_iterations_256_write",
536*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
537*61c4878aSAndroid Build Coastguard Worker  ]
538*61c4878aSAndroid Build Coastguard Worker}
539*61c4878aSAndroid Build Coastguard Worker
540*61c4878aSAndroid Build Coastguard Workerpw_test("key_value_store_test") {
541*61c4878aSAndroid Build Coastguard Worker  deps = [
542*61c4878aSAndroid Build Coastguard Worker    ":config",
543*61c4878aSAndroid Build Coastguard Worker    ":crc16",
544*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
545*61c4878aSAndroid Build Coastguard Worker    ":pw_kvs",
546*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_string:builder",
547*61c4878aSAndroid Build Coastguard Worker    dir_pw_bytes,
548*61c4878aSAndroid Build Coastguard Worker    dir_pw_checksum,
549*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
550*61c4878aSAndroid Build Coastguard Worker  ]
551*61c4878aSAndroid Build Coastguard Worker  sources = [ "key_value_store_test.cc" ]
552*61c4878aSAndroid Build Coastguard Worker}
553*61c4878aSAndroid Build Coastguard Worker
554*61c4878aSAndroid Build Coastguard Workerpw_test("key_value_store_1_alignment_flash_test") {
555*61c4878aSAndroid Build Coastguard Worker  deps = [
556*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_1_aligned_partition",
557*61c4878aSAndroid Build Coastguard Worker    ":key_value_store_initialized_test",
558*61c4878aSAndroid Build Coastguard Worker  ]
559*61c4878aSAndroid Build Coastguard Worker}
560*61c4878aSAndroid Build Coastguard Worker
561*61c4878aSAndroid Build Coastguard Workerpw_test("key_value_store_1_alignment_4_logical_flash_test") {
562*61c4878aSAndroid Build Coastguard Worker  deps = [
563*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_1_aligned_4_logical_partition",
564*61c4878aSAndroid Build Coastguard Worker    ":key_value_store_initialized_test",
565*61c4878aSAndroid Build Coastguard Worker  ]
566*61c4878aSAndroid Build Coastguard Worker}
567*61c4878aSAndroid Build Coastguard Worker
568*61c4878aSAndroid Build Coastguard Workerpw_test("key_value_store_16_alignment_flash_test") {
569*61c4878aSAndroid Build Coastguard Worker  deps = [
570*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_16_aligned_partition",
571*61c4878aSAndroid Build Coastguard Worker    ":key_value_store_initialized_test",
572*61c4878aSAndroid Build Coastguard Worker  ]
573*61c4878aSAndroid Build Coastguard Worker}
574*61c4878aSAndroid Build Coastguard Worker
575*61c4878aSAndroid Build Coastguard Workerpw_test("key_value_store_64_alignment_flash_test") {
576*61c4878aSAndroid Build Coastguard Worker  deps = [
577*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_64_aligned_partition",
578*61c4878aSAndroid Build Coastguard Worker    ":key_value_store_initialized_test",
579*61c4878aSAndroid Build Coastguard Worker  ]
580*61c4878aSAndroid Build Coastguard Worker}
581*61c4878aSAndroid Build Coastguard Worker
582*61c4878aSAndroid Build Coastguard Workerpw_test("key_value_store_256_alignment_flash_test") {
583*61c4878aSAndroid Build Coastguard Worker  deps = [
584*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_256_aligned_partition",
585*61c4878aSAndroid Build Coastguard Worker    ":key_value_store_initialized_test",
586*61c4878aSAndroid Build Coastguard Worker  ]
587*61c4878aSAndroid Build Coastguard Worker}
588*61c4878aSAndroid Build Coastguard Worker
589*61c4878aSAndroid Build Coastguard Workerpw_test("key_value_store_fuzz_1_alignment_flash_test") {
590*61c4878aSAndroid Build Coastguard Worker  deps = [
591*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_1_aligned_partition",
592*61c4878aSAndroid Build Coastguard Worker    ":key_value_store_fuzz_test",
593*61c4878aSAndroid Build Coastguard Worker  ]
594*61c4878aSAndroid Build Coastguard Worker}
595*61c4878aSAndroid Build Coastguard Worker
596*61c4878aSAndroid Build Coastguard Workerpw_test("key_value_store_fuzz_64_alignment_flash_test") {
597*61c4878aSAndroid Build Coastguard Worker  deps = [
598*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_64_aligned_partition",
599*61c4878aSAndroid Build Coastguard Worker    ":key_value_store_fuzz_test",
600*61c4878aSAndroid Build Coastguard Worker  ]
601*61c4878aSAndroid Build Coastguard Worker}
602*61c4878aSAndroid Build Coastguard Worker
603*61c4878aSAndroid Build Coastguard Workerpw_test("key_value_store_binary_format_test") {
604*61c4878aSAndroid Build Coastguard Worker  deps = [
605*61c4878aSAndroid Build Coastguard Worker    ":crc16",
606*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
607*61c4878aSAndroid Build Coastguard Worker    ":pw_kvs",
608*61c4878aSAndroid Build Coastguard Worker    dir_pw_bytes,
609*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
610*61c4878aSAndroid Build Coastguard Worker  ]
611*61c4878aSAndroid Build Coastguard Worker  sources = [ "key_value_store_binary_format_test.cc" ]
612*61c4878aSAndroid Build Coastguard Worker}
613*61c4878aSAndroid Build Coastguard Worker
614*61c4878aSAndroid Build Coastguard Workerpw_test("key_value_store_put_test") {
615*61c4878aSAndroid Build Coastguard Worker  deps = [
616*61c4878aSAndroid Build Coastguard Worker    ":crc16",
617*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
618*61c4878aSAndroid Build Coastguard Worker    ":pw_kvs",
619*61c4878aSAndroid Build Coastguard Worker    ":test_partition",
620*61c4878aSAndroid Build Coastguard Worker  ]
621*61c4878aSAndroid Build Coastguard Worker  sources = [ "key_value_store_put_test.cc" ]
622*61c4878aSAndroid Build Coastguard Worker}
623*61c4878aSAndroid Build Coastguard Worker
624*61c4878aSAndroid Build Coastguard Workerpw_test("fake_flash_test_key_value_store_test") {
625*61c4878aSAndroid Build Coastguard Worker  deps = [
626*61c4878aSAndroid Build Coastguard Worker    ":fake_flash_test_key_value_store",
627*61c4878aSAndroid Build Coastguard Worker    ":test_key_value_store_test",
628*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:borrow",
629*61c4878aSAndroid Build Coastguard Worker  ]
630*61c4878aSAndroid Build Coastguard Worker}
631*61c4878aSAndroid Build Coastguard Worker
632*61c4878aSAndroid Build Coastguard Workerpw_test("key_value_store_map_test") {
633*61c4878aSAndroid Build Coastguard Worker  deps = [
634*61c4878aSAndroid Build Coastguard Worker    ":crc16",
635*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
636*61c4878aSAndroid Build Coastguard Worker    ":pw_kvs",
637*61c4878aSAndroid Build Coastguard Worker    ":test_partition",
638*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_string:builder",
639*61c4878aSAndroid Build Coastguard Worker    dir_pw_checksum,
640*61c4878aSAndroid Build Coastguard Worker  ]
641*61c4878aSAndroid Build Coastguard Worker  sources = [ "key_value_store_map_test.cc" ]
642*61c4878aSAndroid Build Coastguard Worker}
643*61c4878aSAndroid Build Coastguard Worker
644*61c4878aSAndroid Build Coastguard Workerpw_test("sectors_test") {
645*61c4878aSAndroid Build Coastguard Worker  deps = [
646*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
647*61c4878aSAndroid Build Coastguard Worker    ":pw_kvs",
648*61c4878aSAndroid Build Coastguard Worker  ]
649*61c4878aSAndroid Build Coastguard Worker  sources = [ "sectors_test.cc" ]
650*61c4878aSAndroid Build Coastguard Worker}
651*61c4878aSAndroid Build Coastguard Worker
652*61c4878aSAndroid Build Coastguard Workerpw_test("key_value_store_wear_test") {
653*61c4878aSAndroid Build Coastguard Worker  deps = [
654*61c4878aSAndroid Build Coastguard Worker    ":fake_flash",
655*61c4878aSAndroid Build Coastguard Worker    ":pw_kvs",
656*61c4878aSAndroid Build Coastguard Worker    ":test_partition",
657*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
658*61c4878aSAndroid Build Coastguard Worker  ]
659*61c4878aSAndroid Build Coastguard Worker  sources = [ "key_value_store_wear_test.cc" ]
660*61c4878aSAndroid Build Coastguard Worker}
661*61c4878aSAndroid Build Coastguard Worker
662*61c4878aSAndroid Build Coastguard Workerpw_doc_group("docs") {
663*61c4878aSAndroid Build Coastguard Worker  sources = [ "docs.rst" ]
664*61c4878aSAndroid Build Coastguard Worker  report_deps = [ ":kvs_size" ]
665*61c4878aSAndroid Build Coastguard Worker}
666*61c4878aSAndroid Build Coastguard Worker
667*61c4878aSAndroid Build Coastguard Workerpw_size_diff("kvs_size") {
668*61c4878aSAndroid Build Coastguard Worker  title = "Pigweed KVS size report"
669*61c4878aSAndroid Build Coastguard Worker
670*61c4878aSAndroid Build Coastguard Worker  binaries = [
671*61c4878aSAndroid Build Coastguard Worker    {
672*61c4878aSAndroid Build Coastguard Worker      target = "size_report:with_kvs"
673*61c4878aSAndroid Build Coastguard Worker      base = "size_report:base_with_only_flash"
674*61c4878aSAndroid Build Coastguard Worker      label = "KeyValueStore"
675*61c4878aSAndroid Build Coastguard Worker    },
676*61c4878aSAndroid Build Coastguard Worker  ]
677*61c4878aSAndroid Build Coastguard Worker
678*61c4878aSAndroid Build Coastguard Worker  binaries += [
679*61c4878aSAndroid Build Coastguard Worker    {
680*61c4878aSAndroid Build Coastguard Worker      target = "size_report:base_with_only_flash"
681*61c4878aSAndroid Build Coastguard Worker      base = "size_report:base"
682*61c4878aSAndroid Build Coastguard Worker      label = "FlashPartition"
683*61c4878aSAndroid Build Coastguard Worker    },
684*61c4878aSAndroid Build Coastguard Worker  ]
685*61c4878aSAndroid Build Coastguard Worker}
686