Source release 18.1.0
This commit is contained in:
@@ -31,32 +31,42 @@ TEST_F(EngineMetricsTest, AllEngineMetrics) {
|
||||
EngineMetrics engine_metrics;
|
||||
|
||||
// Set some values in all of the engine metrics.
|
||||
engine_metrics.cdm_engine_add_key_.Record(1.0, KEY_ADDED,
|
||||
engine_metrics.cdm_engine_add_key_.Record(1.0, CdmResponseType(KEY_ADDED),
|
||||
kLicenseTypeRelease);
|
||||
engine_metrics.cdm_engine_close_session_.Increment(NO_ERROR);
|
||||
engine_metrics.cdm_engine_decrypt_.Record(1.0, NO_ERROR,
|
||||
engine_metrics.cdm_engine_close_session_.Increment(CdmResponseType(NO_ERROR));
|
||||
engine_metrics.cdm_engine_decrypt_.Record(1.0, CdmResponseType(NO_ERROR),
|
||||
metrics::Pow2Bucket(8));
|
||||
engine_metrics.cdm_engine_find_session_for_key_.Increment(false);
|
||||
engine_metrics.cdm_engine_generate_key_request_.Record(1.0, NO_ERROR,
|
||||
kLicenseTypeRelease);
|
||||
engine_metrics.cdm_engine_get_provisioning_request_.Record(1.0, NO_ERROR);
|
||||
engine_metrics.cdm_engine_get_usage_info_.Record(1.0, NO_ERROR,
|
||||
UNKNOWN_ERROR);
|
||||
engine_metrics.cdm_engine_handle_provisioning_response_.Record(1.0, NO_ERROR);
|
||||
engine_metrics.cdm_engine_open_key_set_session_.Increment(NO_ERROR);
|
||||
engine_metrics.cdm_engine_open_session_.Increment(NO_ERROR);
|
||||
engine_metrics.cdm_engine_query_key_status_.Record(1.0, NO_ERROR);
|
||||
engine_metrics.cdm_engine_release_all_usage_info_.Increment(NO_ERROR);
|
||||
engine_metrics.cdm_engine_release_usage_info_.Increment(NO_ERROR);
|
||||
engine_metrics.cdm_engine_remove_keys_.Increment(NO_ERROR);
|
||||
engine_metrics.cdm_engine_restore_key_.Record(1.0, NO_ERROR);
|
||||
engine_metrics.cdm_engine_unprovision_.Increment(NO_ERROR, kSecurityLevelL1);
|
||||
engine_metrics.cdm_engine_generate_key_request_.Record(
|
||||
1.0, CdmResponseType(NO_ERROR), kLicenseTypeRelease);
|
||||
engine_metrics.cdm_engine_get_provisioning_request_.Record(
|
||||
1.0, CdmResponseType(NO_ERROR));
|
||||
engine_metrics.cdm_engine_get_usage_info_.Record(
|
||||
1.0, CdmResponseType(NO_ERROR), UNKNOWN_ERROR);
|
||||
engine_metrics.cdm_engine_handle_provisioning_response_.Record(
|
||||
1.0, CdmResponseType(NO_ERROR));
|
||||
engine_metrics.cdm_engine_open_key_set_session_.Increment(
|
||||
CdmResponseType(NO_ERROR));
|
||||
engine_metrics.cdm_engine_open_session_.Increment(CdmResponseType(NO_ERROR));
|
||||
engine_metrics.cdm_engine_query_key_status_.Record(1.0,
|
||||
CdmResponseType(NO_ERROR));
|
||||
engine_metrics.cdm_engine_release_all_usage_info_.Increment(
|
||||
CdmResponseType(NO_ERROR));
|
||||
engine_metrics.cdm_engine_release_usage_info_.Increment(
|
||||
CdmResponseType(NO_ERROR));
|
||||
engine_metrics.cdm_engine_remove_keys_.Increment(CdmResponseType(NO_ERROR));
|
||||
engine_metrics.cdm_engine_restore_key_.Record(1.0, CdmResponseType(NO_ERROR));
|
||||
engine_metrics.cdm_engine_unprovision_.Increment(CdmResponseType(NO_ERROR),
|
||||
kSecurityLevelL1);
|
||||
engine_metrics.SetAppPackageName("test package name");
|
||||
engine_metrics.cdm_engine_cdm_version_.Record("test cdm version");
|
||||
engine_metrics.cdm_engine_creation_time_millis_.Record(100);
|
||||
engine_metrics.cdm_engine_get_secure_stop_ids_.Increment(UNKNOWN_ERROR);
|
||||
engine_metrics.cdm_engine_remove_all_usage_info_.Increment(UNKNOWN_ERROR);
|
||||
engine_metrics.cdm_engine_remove_usage_info_.Increment(UNKNOWN_ERROR);
|
||||
engine_metrics.cdm_engine_get_secure_stop_ids_.Increment(
|
||||
CdmResponseType(UNKNOWN_ERROR));
|
||||
engine_metrics.cdm_engine_remove_all_usage_info_.Increment(
|
||||
CdmResponseType(UNKNOWN_ERROR));
|
||||
engine_metrics.cdm_engine_remove_usage_info_.Increment(
|
||||
CdmResponseType(UNKNOWN_ERROR));
|
||||
|
||||
// Also set and serialize the oemcrypto dynamic adapter metrics.
|
||||
OemCryptoDynamicAdapterMetrics adapter_metrics;
|
||||
@@ -110,14 +120,17 @@ TEST_F(EngineMetricsTest, EngineAndCryptoMetrics) {
|
||||
EngineMetrics engine_metrics;
|
||||
|
||||
// Set some values in some of the engine metrics and some crypto metrics.
|
||||
engine_metrics.cdm_engine_add_key_.Record(1.0, KEY_ADDED,
|
||||
engine_metrics.cdm_engine_add_key_.Record(1.0, CdmResponseType(KEY_ADDED),
|
||||
kLicenseTypeRelease);
|
||||
engine_metrics.cdm_engine_close_session_.Increment(UNKNOWN_ERROR);
|
||||
engine_metrics.cdm_engine_close_session_.Increment(
|
||||
CdmResponseType(UNKNOWN_ERROR));
|
||||
CryptoMetrics* crypto_metrics = engine_metrics.GetCryptoMetrics();
|
||||
|
||||
crypto_metrics->crypto_session_get_device_unique_id_.Increment(NO_ERROR);
|
||||
crypto_metrics->crypto_session_get_device_unique_id_.Increment(
|
||||
CdmResponseType(NO_ERROR));
|
||||
crypto_metrics->crypto_session_generic_decrypt_.Record(
|
||||
2.0, NO_ERROR, Pow2Bucket(1025), kEncryptionAlgorithmAesCbc128);
|
||||
2.0, CdmResponseType(NO_ERROR), Pow2Bucket(1025),
|
||||
kEncryptionAlgorithmAesCbc128);
|
||||
|
||||
WvCdmMetrics actual_metrics;
|
||||
engine_metrics.Serialize(&actual_metrics);
|
||||
@@ -178,10 +191,11 @@ TEST_F(EngineMetricsTest, EngineMetricsWithSessions) {
|
||||
EngineMetrics engine_metrics;
|
||||
|
||||
// Set a values in an engine metric and in a crypto metric.
|
||||
engine_metrics.cdm_engine_add_key_.Record(1.0, KEY_ADDED,
|
||||
engine_metrics.cdm_engine_add_key_.Record(1.0, CdmResponseType(KEY_ADDED),
|
||||
kLicenseTypeRelease);
|
||||
engine_metrics.GetCryptoMetrics()
|
||||
->crypto_session_load_certificate_private_key_.Record(2.0, NO_ERROR);
|
||||
->crypto_session_load_certificate_private_key_.Record(
|
||||
2.0, CdmResponseType(NO_ERROR));
|
||||
|
||||
// Create two sessions and record some metrics.
|
||||
std::shared_ptr<SessionMetrics> session_metrics_1 =
|
||||
@@ -192,7 +206,8 @@ TEST_F(EngineMetricsTest, EngineMetricsWithSessions) {
|
||||
session_metrics_2->SetSessionId(kSessionId2);
|
||||
// Record a CryptoMetrics metric in the session.
|
||||
session_metrics_2->GetCryptoMetrics()->crypto_session_generic_decrypt_.Record(
|
||||
2.0, NO_ERROR, Pow2Bucket(1025), kEncryptionAlgorithmAesCbc128);
|
||||
2.0, CdmResponseType(NO_ERROR), Pow2Bucket(1025),
|
||||
kEncryptionAlgorithmAesCbc128);
|
||||
|
||||
WvCdmMetrics actual_metrics;
|
||||
engine_metrics.Serialize(&actual_metrics);
|
||||
@@ -271,11 +286,13 @@ TEST_F(SessionMetricsTest, AllSessionMetrics) {
|
||||
SessionMetrics session_metrics;
|
||||
session_metrics.SetSessionId(kSessionId1);
|
||||
session_metrics.cdm_session_life_span_.Record(1.0);
|
||||
session_metrics.cdm_session_renew_key_.Record(1.0, NO_ERROR);
|
||||
session_metrics.cdm_session_renew_key_.Record(1.0, CdmResponseType(NO_ERROR));
|
||||
session_metrics.cdm_session_restore_offline_session_.Increment(
|
||||
NO_ERROR, DeviceFiles::ResponseType::kObjectNotInitialized);
|
||||
CdmResponseType(NO_ERROR),
|
||||
DeviceFiles::ResponseType::kObjectNotInitialized);
|
||||
session_metrics.cdm_session_restore_usage_session_.Increment(
|
||||
NO_ERROR, DeviceFiles::ResponseType::kObjectNotInitialized);
|
||||
CdmResponseType(NO_ERROR),
|
||||
DeviceFiles::ResponseType::kObjectNotInitialized);
|
||||
session_metrics.cdm_session_license_request_latency_ms_.Record(
|
||||
2.0, kKeyRequestTypeInitial);
|
||||
session_metrics.oemcrypto_build_info_.Record("test build info");
|
||||
@@ -286,7 +303,8 @@ TEST_F(SessionMetricsTest, AllSessionMetrics) {
|
||||
|
||||
// Record a CryptoMetrics metric in the session.
|
||||
session_metrics.GetCryptoMetrics()->crypto_session_generic_decrypt_.Record(
|
||||
2.0, NO_ERROR, Pow2Bucket(1025), kEncryptionAlgorithmAesCbc128);
|
||||
2.0, CdmResponseType(NO_ERROR), Pow2Bucket(1025),
|
||||
kEncryptionAlgorithmAesCbc128);
|
||||
|
||||
WvCdmMetrics::SessionMetrics actual;
|
||||
session_metrics.Serialize(&actual);
|
||||
@@ -327,33 +345,45 @@ TEST_F(CryptoMetricsTest, AllCryptoMetrics) {
|
||||
CryptoMetrics crypto_metrics;
|
||||
|
||||
// Crypto session metrics.
|
||||
crypto_metrics.crypto_session_delete_all_usage_reports_.Increment(NO_ERROR);
|
||||
crypto_metrics.crypto_session_delete_all_usage_reports_.Increment(
|
||||
CdmResponseType(NO_ERROR));
|
||||
crypto_metrics.crypto_session_delete_multiple_usage_information_.Increment(
|
||||
NO_ERROR);
|
||||
CdmResponseType(NO_ERROR));
|
||||
crypto_metrics.crypto_session_generic_decrypt_.Record(
|
||||
2.0, NO_ERROR, Pow2Bucket(1025), kEncryptionAlgorithmAesCbc128);
|
||||
2.0, CdmResponseType(NO_ERROR), Pow2Bucket(1025),
|
||||
kEncryptionAlgorithmAesCbc128);
|
||||
crypto_metrics.crypto_session_generic_encrypt_.Record(
|
||||
2.0, NO_ERROR, Pow2Bucket(1025), kEncryptionAlgorithmAesCbc128);
|
||||
2.0, CdmResponseType(NO_ERROR), Pow2Bucket(1025),
|
||||
kEncryptionAlgorithmAesCbc128);
|
||||
crypto_metrics.crypto_session_generic_sign_.Record(
|
||||
2.0, NO_ERROR, Pow2Bucket(1025), kSigningAlgorithmHmacSha256);
|
||||
2.0, CdmResponseType(NO_ERROR), Pow2Bucket(1025),
|
||||
kSigningAlgorithmHmacSha256);
|
||||
crypto_metrics.crypto_session_generic_verify_.Record(
|
||||
2.0, NO_ERROR, Pow2Bucket(1025), kSigningAlgorithmHmacSha256);
|
||||
crypto_metrics.crypto_session_get_device_unique_id_.Increment(NO_ERROR);
|
||||
crypto_metrics.crypto_session_get_token_.Increment(NO_ERROR);
|
||||
2.0, CdmResponseType(NO_ERROR), Pow2Bucket(1025),
|
||||
kSigningAlgorithmHmacSha256);
|
||||
crypto_metrics.crypto_session_get_device_unique_id_.Increment(
|
||||
CdmResponseType(NO_ERROR));
|
||||
crypto_metrics.crypto_session_get_token_.Increment(CdmResponseType(NO_ERROR));
|
||||
crypto_metrics.crypto_session_life_span_.Record(1.0);
|
||||
crypto_metrics.crypto_session_load_certificate_private_key_.Record(1.0,
|
||||
NO_ERROR);
|
||||
crypto_metrics.crypto_session_open_.Record(1.0, NO_ERROR, kLevelDefault);
|
||||
crypto_metrics.crypto_session_update_usage_information_.Record(1.0, NO_ERROR);
|
||||
crypto_metrics.crypto_session_load_certificate_private_key_.Record(
|
||||
1.0, CdmResponseType(NO_ERROR));
|
||||
crypto_metrics.crypto_session_open_.Record(1.0, CdmResponseType(NO_ERROR),
|
||||
kLevelDefault);
|
||||
crypto_metrics.crypto_session_update_usage_information_.Record(
|
||||
1.0, CdmResponseType(NO_ERROR));
|
||||
crypto_metrics.crypto_session_usage_information_support_.Record(true);
|
||||
crypto_metrics.crypto_session_security_level_.Record(kSecurityLevelL2);
|
||||
|
||||
// Usage table header metrics.
|
||||
crypto_metrics.usage_table_header_initial_size_.Record(200);
|
||||
crypto_metrics.usage_table_header_add_entry_.Increment(UNKNOWN_ERROR);
|
||||
crypto_metrics.usage_table_header_delete_entry_.Increment(UNKNOWN_ERROR);
|
||||
crypto_metrics.usage_table_header_update_entry_.Record(2.0, UNKNOWN_ERROR);
|
||||
crypto_metrics.usage_table_header_load_entry_.Increment(UNKNOWN_ERROR);
|
||||
crypto_metrics.usage_table_header_add_entry_.Increment(
|
||||
CdmResponseType(UNKNOWN_ERROR));
|
||||
crypto_metrics.usage_table_header_delete_entry_.Increment(
|
||||
CdmResponseType(UNKNOWN_ERROR));
|
||||
crypto_metrics.usage_table_header_update_entry_.Record(
|
||||
2.0, CdmResponseType(UNKNOWN_ERROR));
|
||||
crypto_metrics.usage_table_header_load_entry_.Increment(
|
||||
CdmResponseType(UNKNOWN_ERROR));
|
||||
// Usage table LRU metrics.
|
||||
crypto_metrics.usage_table_header_lru_usage_info_count_.Record(150);
|
||||
crypto_metrics.usage_table_header_lru_offline_license_count_.Record(50);
|
||||
@@ -419,7 +449,6 @@ TEST_F(CryptoMetricsTest, AllCryptoMetrics) {
|
||||
crypto_metrics.oemcrypto_rewrap_device_rsa_key_30_.Record(
|
||||
1.0, OEMCrypto_ERROR_INIT_FAILED);
|
||||
crypto_metrics.oemcrypto_security_patch_level_.Record(123);
|
||||
crypto_metrics.oemcrypto_select_key_.Record(1.0, OEMCrypto_ERROR_INIT_FAILED);
|
||||
crypto_metrics.oemcrypto_update_usage_table_.Increment(
|
||||
OEMCrypto_ERROR_INIT_FAILED);
|
||||
crypto_metrics.oemcrypto_create_usage_table_header_.Increment(
|
||||
@@ -446,6 +475,10 @@ TEST_F(CryptoMetricsTest, AllCryptoMetrics) {
|
||||
crypto_metrics.oemcrypto_watermarking_support_.Record(
|
||||
OEMCrypto_WatermarkingAlwaysOn);
|
||||
crypto_metrics.oemcrypto_production_readiness_.Record(OEMCrypto_SUCCESS);
|
||||
crypto_metrics.oemcrypto_get_key_handle_.Record(1.0,
|
||||
OEMCrypto_ERROR_INIT_FAILED);
|
||||
crypto_metrics.oemcrypto_get_signature_hash_algorithm_.Increment(
|
||||
OEMCrypto_ERROR_INIT_FAILED, OEMCrypto_SHA1);
|
||||
|
||||
WvCdmMetrics::CryptoMetrics actual;
|
||||
crypto_metrics.Serialize(&actual);
|
||||
@@ -521,7 +554,7 @@ TEST_F(CryptoMetricsTest, AllCryptoMetrics) {
|
||||
EXPECT_GT(actual.oemcrypto_rewrap_device_rsa_key_time_us_size(), 0);
|
||||
EXPECT_GT(actual.oemcrypto_rewrap_device_rsa_key_30_time_us_size(), 0);
|
||||
EXPECT_EQ(123, actual.oemcrypto_security_patch_level().int_value());
|
||||
EXPECT_GT(actual.oemcrypto_select_key_time_us_size(), 0);
|
||||
EXPECT_GT(actual.oemcrypto_get_key_handle_time_us_size(), 0);
|
||||
EXPECT_GT(actual.oemcrypto_update_usage_table_size(), 0);
|
||||
EXPECT_GT(actual.oemcrypto_create_usage_table_header_size(), 0);
|
||||
EXPECT_GT(actual.oemcrypto_load_usage_table_header_size(), 0);
|
||||
@@ -541,6 +574,7 @@ TEST_F(CryptoMetricsTest, AllCryptoMetrics) {
|
||||
actual.oemcrypto_watermarking_support().int_value());
|
||||
EXPECT_EQ(static_cast<int>(OEMCrypto_SUCCESS),
|
||||
actual.oemcrypto_production_readiness().int_value());
|
||||
EXPECT_GT(actual.oemcrypto_get_signature_hash_algorithm_size(), 0);
|
||||
}
|
||||
} // namespace metrics
|
||||
} // namespace wvcdm
|
||||
|
||||
Reference in New Issue
Block a user