| // Copyright 2019 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "libhwsec/test_utils/tpm1/test_fixture.h" |
| |
| #include <gmock/gmock.h> |
| |
| #include "libhwsec/overalls/overalls_singleton.h" |
| |
| using ::testing::NiceMock; |
| using ::testing::StrictMock; |
| |
| namespace hwsec { |
| |
| namespace { |
| |
| overalls::MockOveralls* CreateMockOveralls(MOCK_OVERALLS_TYPE mock_type) { |
| switch (mock_type) { |
| case MOCK_OVERALLS_TYPE::NICE: |
| return new NiceMock<overalls::MockOveralls>(); |
| case MOCK_OVERALLS_TYPE::PLAIN: |
| return new overalls::MockOveralls(); |
| case MOCK_OVERALLS_TYPE::STRICT: |
| return new StrictMock<overalls::MockOveralls>(); |
| } |
| } |
| |
| } // namespace |
| |
| Tpm1HwsecTest::Tpm1HwsecTest() : Tpm1HwsecTest(MOCK_OVERALLS_TYPE::NICE) {} |
| |
| Tpm1HwsecTest::Tpm1HwsecTest(MOCK_OVERALLS_TYPE mock_overalls_type) { |
| mock_overalls_.reset(CreateMockOveralls(mock_overalls_type)); |
| original_overalls_ = |
| overalls::OverallsSingleton::SetInstance(mock_overalls_.get()); |
| } |
| |
| Tpm1HwsecTest::~Tpm1HwsecTest() { |
| overalls::OverallsSingleton::SetInstance(original_overalls_); |
| } |
| |
| } // namespace hwsec |