third_party.pigweed.src/pw_kvs/BUILD.gn
Wyatt Hepler 495b6ee5ce pw_kvs: Map-backed tests
Introduce a system for writing tests against flash memories with
different parameters. The tests use a std::unordered_map as an oracle,
and all operations are checked against it. Invalid inputs and the KVS
filling up are handled.

Disable most of the tests because they are currently failing.

Change-Id: Ib817e30a199c81b3146823252be91e0db016c9b3
2020-02-13 21:50:30 +00:00

170 lines
2.9 KiB
Plaintext

# Copyright 2020 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
import("$dir_pw_docgen/docs.gni")
import("$dir_pw_unit_test/test.gni")
config("default_config") {
include_dirs = [ "public" ]
}
source_set("pw_kvs") {
public_configs = [ ":default_config" ]
public = [
"public/pw_kvs/alignment.h",
"public/pw_kvs/checksum.h",
"public/pw_kvs/flash_memory.h",
"public/pw_kvs/key_value_store.h",
"public/pw_kvs/output.h",
]
sources = [
"alignment.cc",
"checksum.cc",
"flash_memory.cc",
"format.cc",
"key_value_store.cc",
"pw_kvs_private/format.h",
"pw_kvs_private/macros.h",
]
sources += public
public_deps = [
dir_pw_containers,
dir_pw_span,
dir_pw_status,
]
deps = [
dir_pw_checksum,
dir_pw_log,
]
friend = [
":entry_test",
":key_value_store_test",
]
}
source_set("crc16") {
public = [
"public/pw_kvs/crc16_checksum.h",
]
sources = public
public_deps = [
":pw_kvs",
dir_pw_checksum,
]
}
source_set("in_memory_fake_flash") {
public = [
"public/pw_kvs/in_memory_fake_flash.h",
]
sources = public
visibility = [ ":*" ]
public_deps = [
dir_pw_log,
]
}
executable("debug_cli") {
sources = [
"debug_cli.cc",
]
deps = [
":crc16",
":in_memory_fake_flash",
":pw_kvs",
]
}
pw_test_group("tests") {
tests = [
":alignment_test",
":checksum_test",
":entry_test",
":key_value_store_test",
":key_value_store_fuzz_test",
":key_value_store_map_test",
]
}
pw_test("alignment_test") {
deps = [
":pw_kvs",
]
sources = [
"alignment_test.cc",
]
}
pw_test("checksum_test") {
deps = [
":crc16",
":pw_kvs",
dir_pw_log,
]
sources = [
"checksum_test.cc",
]
}
pw_test("entry_test") {
deps = [
":pw_kvs",
]
sources = [
"entry_test.cc",
]
}
pw_test("key_value_store_test") {
deps = [
":crc16",
":in_memory_fake_flash",
":pw_kvs",
dir_pw_checksum,
dir_pw_log,
]
sources = [
"key_value_store_test.cc",
]
}
pw_test("key_value_store_fuzz_test") {
deps = [
":crc16",
":in_memory_fake_flash",
":pw_kvs",
]
sources = [
"key_value_store_fuzz_test.cc",
]
}
pw_test("key_value_store_map_test") {
deps = [
":crc16",
":in_memory_fake_flash",
":pw_kvs",
dir_pw_checksum,
]
sources = [
"key_value_store_map_test.cc",
]
}
pw_doc_group("docs") {
sources = [
"docs.rst",
]
}