Upgrade MOCK_METHOD to googletest 1.10
(This is a merge of http://go/wvgerrit/139989.) Googletest added a new, more powerful MOCK_METHOD() macro in 1.10. This patch updates all our usage of the old MOCK_METHOD family to the new macro. Full details can be found at https://github.com/google/googletest/blob/release-1.10.0/googlemock/docs/cook_book.md#creating-mock-classes but in brief, the new MOCK_METHOD() replaces the entire old MOCK_METHOD family and has the following advantages: 1) No need to count parameters or update the macro name when changing parameters. 2) No need for a different macro for const methods. 3) The ability to specify override, noexcept, and other function qualifiers. 4) The macro order is now the same as C++ method definition order: Return Type -> Name -> Arguments -> Qualifiers In addition to upgrading all our usage sites to the new macro, the addition of the override qualifier to our MOCK_METHODs helped uncover several cases where we were using MOCK_METHOD to override methods that didn't exist. This is a great example of why the override qualifier is so useful. These places have been updated, by removing the invalid and unused mock method. Bug: 207693687 Test: build_and_run_all_unit_tests Change-Id: Iaad4a22c7f72bb48b1356fe01a41eb0a2f555244
This commit is contained in:
committed by
John Bruce
parent
e5822def1d
commit
5606e7dae3
@@ -139,36 +139,30 @@ class MockCryptoSession : public TestCryptoSession {
|
||||
public:
|
||||
MockCryptoSession(metrics::CryptoMetrics* crypto_metrics)
|
||||
: TestCryptoSession(crypto_metrics) {}
|
||||
MOCK_METHOD0(IsOpen, bool());
|
||||
MOCK_METHOD0(request_id, const std::string&());
|
||||
MOCK_METHOD1(HasUsageInfoSupport, bool(bool*));
|
||||
MOCK_METHOD2(GetHdcpCapabilities,
|
||||
CdmResponseType(HdcpCapability*, HdcpCapability*));
|
||||
MOCK_METHOD1(GetSupportedCertificateTypes, bool(SupportedCertificateTypes*));
|
||||
MOCK_METHOD1(GetApiVersion, bool(uint32_t*));
|
||||
MOCK_METHOD1(GenerateNonce, CdmResponseType(uint32_t*));
|
||||
MOCK_METHOD3(PrepareAndSignLicenseRequest,
|
||||
CdmResponseType(const std::string&, std::string*, std::string*));
|
||||
MOCK_METHOD1(LoadEntitledContentKeys,
|
||||
CdmResponseType(const std::vector<CryptoKey>& key_array));
|
||||
MOCK_METHOD1(GetResourceRatingTier, bool(uint32_t*));
|
||||
MOCK_METHOD(bool, IsOpen, (), (override));
|
||||
MOCK_METHOD(const std::string&, request_id, (), (override));
|
||||
MOCK_METHOD(bool, HasUsageInfoSupport, (bool*), (override));
|
||||
MOCK_METHOD(CdmResponseType, GetHdcpCapabilities,
|
||||
(HdcpCapability*, HdcpCapability*), (override));
|
||||
MOCK_METHOD(bool, GetSupportedCertificateTypes, (SupportedCertificateTypes*),
|
||||
(override));
|
||||
MOCK_METHOD(bool, GetApiVersion, (uint32_t*), (override));
|
||||
MOCK_METHOD(CdmResponseType, GenerateNonce, (uint32_t*), (override));
|
||||
MOCK_METHOD(CdmResponseType, PrepareAndSignLicenseRequest,
|
||||
(const std::string&, std::string*, std::string*), (override));
|
||||
MOCK_METHOD(CdmResponseType, LoadEntitledContentKeys,
|
||||
(const std::vector<CryptoKey>& key_array), (override));
|
||||
MOCK_METHOD(bool, GetResourceRatingTier, (uint32_t*), (override));
|
||||
};
|
||||
|
||||
class MockPolicyEngine : public PolicyEngine {
|
||||
public:
|
||||
MockPolicyEngine(CryptoSession* crypto)
|
||||
: PolicyEngine("mock_session_id", nullptr, crypto) {}
|
||||
MOCK_METHOD1(
|
||||
SetEntitledLicenseKeys,
|
||||
void(const std::vector<video_widevine::WidevinePsshData_EntitledKey>&));
|
||||
};
|
||||
|
||||
class MockInitializationData : public InitializationData {
|
||||
public:
|
||||
MockInitializationData(const std::string& type, const CdmInitData& data)
|
||||
: InitializationData(type, data) {}
|
||||
MOCK_METHOD0(is_supported, bool());
|
||||
MOCK_METHOD0(is_cenc, bool());
|
||||
MOCK_METHOD(
|
||||
void, SetEntitledLicenseKeys,
|
||||
(const std::vector<video_widevine::WidevinePsshData_EntitledKey>&),
|
||||
(override));
|
||||
};
|
||||
|
||||
} // namespace
|
||||
@@ -216,7 +210,7 @@ class CdmLicenseTest : public WvCdmTestBase {
|
||||
WvCdmTestBase::SetUp();
|
||||
clock_ = new MockClock();
|
||||
crypto_session_ = new MockCryptoSession(&crypto_metrics_);
|
||||
init_data_ = new MockInitializationData(CENC_INIT_DATA_FORMAT, pssh_);
|
||||
init_data_ = new InitializationData(CENC_INIT_DATA_FORMAT, pssh_);
|
||||
policy_engine_ = new MockPolicyEngine(crypto_session_);
|
||||
|
||||
ON_CALL(*crypto_session_, GetSupportedCertificateTypes(NotNull()))
|
||||
@@ -241,7 +235,7 @@ class CdmLicenseTest : public WvCdmTestBase {
|
||||
MockClock* clock_;
|
||||
metrics::CryptoMetrics crypto_metrics_;
|
||||
MockCryptoSession* crypto_session_;
|
||||
MockInitializationData* init_data_;
|
||||
InitializationData* init_data_;
|
||||
MockPolicyEngine* policy_engine_;
|
||||
std::string pssh_;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user