Merge from widevine repo of http://go/wvgerrit/21681 This CL refactors some oemcrypto unit tests in preparation for adding Provisioning 3.0 tests. - The signature GenerateNonce has changed. Instead of the caller passing in a pointer for the nonce, we store the nonce in a member variable of Session. - GenerateDerivedKeys is being replaced by InstallTestSessionKeys. This sets up and calls the appropriate derive keys method. This function is in the test class, instead of the session class so that multiple sessions in a class can share the same wrapped rsa key. This will be modified for provisioning 3.0 in a future CL. - Rename tests that require a keybox. Some tests are specific for using a keybox to request a DRM cert. These tests are renamed so we can filter them out on devices that use an OEM Cert. Corresponding tests for devices using provisioning 3.0 will be in a future CL. - Some member variables and methods in the class Session were not used. They are removed. - Added openssl smart pointer. - Comments. I added comments. - clang format. Change-Id: Ib579a322858e0ef92652a42167241b35cf85a041
44 lines
1.3 KiB
C++
44 lines
1.3 KiB
C++
#include <gtest/gtest.h>
|
|
#include <iostream>
|
|
|
|
#include "OEMCryptoCENC.h"
|
|
#include "log.h"
|
|
#include "oec_device_features.h"
|
|
#include "properties.h"
|
|
|
|
static void acknowledge_cast() {
|
|
std::cout
|
|
<< "==================================================================\n"
|
|
<< "= This device is expected to load x509 certs as a cast receiver. =\n"
|
|
<< "==================================================================\n";
|
|
}
|
|
|
|
int main(int argc, char** argv) {
|
|
::testing::InitGoogleTest(&argc, argv);
|
|
wvcdm::Properties::Init();
|
|
wvcdm::g_cutoff = wvcdm::LOG_INFO;
|
|
bool is_cast_receiver = false;
|
|
bool force_load_test_keybox = false;
|
|
bool filter_tests = true;
|
|
for (int i = 0; i < argc; i++) {
|
|
if (!strcmp(argv[i], "--cast")) {
|
|
acknowledge_cast();
|
|
is_cast_receiver = true;
|
|
}
|
|
if (!strcmp(argv[i], "--force_load_test_keybox")) {
|
|
force_load_test_keybox = true;
|
|
}
|
|
if (!strcmp(argv[i], "--no_filter")) {
|
|
filter_tests = false;
|
|
}
|
|
}
|
|
wvoec::global_features.Initialize(is_cast_receiver, force_load_test_keybox);
|
|
// If the user requests --no_filter, we don't change the filter, otherwise, we
|
|
// filter out features that are not supported.
|
|
if (filter_tests) {
|
|
::testing::GTEST_FLAG(filter) =
|
|
wvoec::global_features.RestrictFilter(::testing::GTEST_FLAG(filter));
|
|
}
|
|
return RUN_ALL_TESTS();
|
|
}
|