diff options
author | Bobby Casey <bobbycasey@google.com> | 2022-08-17 22:42:49 -0400 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-08-30 15:09:14 +0000 |
commit | 3a3d6c36902f1570887b2322075e64a682ebe296 (patch) | |
tree | cbe12aa4338139618a9f212136aa19a0dd1aefcc /include | |
parent | 233e6bbd0837f0dd5008f6115d17cf726d24c72d (diff) | |
download | chrome-ec-3a3d6c36902f1570887b2322075e64a682ebe296.tar.gz |
test: Add test for fpsensor trivial key failure
Add a test for derive_positive_match_secret when compute_hmac_sha256
returns a trivial key (either 0x00 or 0xFF). This required
mocking compute_hmac_sha256 to get the proper test behavior. Since
other tests depend upon a proper SHA256 hash to be generated, either
all key/message combinations would need to be mocked or some calls to
compute_hmac_sha256 need to be passed through to hmac_SHA256. The
latter option was chosen for the best flexibility moving forward.
BRANCH=none
BUG=b:242720910
TEST=make runhosttests
Signed-off-by: Bobby Casey <bobbycasey@google.com>
Change-Id: I959e23cfadb5460e62af90ffba74a0cd3b9d9a7f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3838935
Reviewed-by: Tom Hughes <tomhughes@chromium.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/mock/fpsensor_crypto_mock.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/include/mock/fpsensor_crypto_mock.h b/include/mock/fpsensor_crypto_mock.h new file mode 100644 index 0000000000..f3ca84734e --- /dev/null +++ b/include/mock/fpsensor_crypto_mock.h @@ -0,0 +1,30 @@ +/* Copyright 2022 The ChromiumOS Authors. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +/** + * @file fpsensor_crypto_mock.h + * @brief Controls for the mock fpsensor_crypto library + */ + +#ifndef __MOCK_FPSENSOR_CRYPTO_MOCK_H +#define __MOCK_FPSENSOR_CRYPTO_MOCK_H + +enum mock_ctrl_fpsensor_crypto_sha256_type { + MOCK_CTRL_FPSENSOR_CRYPTO_SHA256_TYPE_REAL, + MOCK_CTRL_FPSENSOR_CRYPTO_SHA256_TYPE_ZEROS, + MOCK_CTRL_FPSENSOR_CRYPTO_SHA256_TYPE_FF, +}; + +struct mock_ctrl_fpsensor_crypto { + enum mock_ctrl_fpsensor_crypto_sha256_type output_type; +}; + +#define MOCK_CTRL_DEFAULT_FPSENSOR_CRYPTO \ + ((struct mock_ctrl_fpsensor_crypto){ \ + .output_type = MOCK_CTRL_FPSENSOR_CRYPTO_SHA256_TYPE_REAL }) + +extern struct mock_ctrl_fpsensor_crypto mock_ctrl_fpsensor_crypto; + +#endif /* __MOCK_FPSENSOR_CRYPTO_MOCK_H */ |