Specify server version on the command line

Merged from http://go/wvgerrit/160746

Bug: 251599048

Change-Id: I66bd4766e1cb5f6b9592e1f804a68258f9e9a3d2
This commit is contained in:
Rahul Frias
2023-02-27 15:06:50 -08:00
parent 738f9472ca
commit 469c6408da
2 changed files with 23 additions and 2 deletions

View File

@@ -92,7 +92,13 @@ class ConfigTestEnv {
}
int test_pass() const { return test_pass_; }
const std::string& test_data_path() const { return test_data_path_; }
int server_version() const { return server_version_; }
// Return true if the server version has been set and it is older than the
// specified version. We know the server version is set, if it is nonzero.
bool ServerOlderThan(int server_version) {
return server_version_ > 0 && server_version_ < server_version;
}
static const CdmInitData GetInitData(ContentId content_id);
static const std::string& GetLicenseServerUrl(
ServerConfigurationId server_configuration_id);
@@ -122,6 +128,9 @@ class ConfigTestEnv {
void set_test_data_path(const std::string& test_data_path) {
test_data_path_ = test_data_path;
}
void set_server_version(int server_version) {
if (server_version >= 0) server_version_ = server_version;
}
// The QA service certificate, used for a local provisioning server.
static std::string QAProvisioningServiceCertificate();
@@ -139,6 +148,7 @@ class ConfigTestEnv {
std::string provisioning_service_certificate_;
int test_pass_;
std::string test_data_path_; // Where to store test data for reboot tests.
int server_version_ = 0;
};
// The default provisioning server URL for a default provisioning request.

View File

@@ -111,6 +111,11 @@ void show_menu(const char* prog_name, const std::string& extra_help_text) {
<< " configure the provisioning server url, please include http[s]"
<< " in the url" << std::endl
<< std::endl;
std::cout << " --server_version=N" << std::endl;
std::cout << " specify the server version. Tests that are not expected "
<< "to pass" << std::endl
<< " on this server version will be skipped." << std::endl
<< std::endl;
std::cout << " --qa_provisioning" << std::endl;
std::cout << " use the QA provisioning cert and QA test keybox"
@@ -538,6 +543,8 @@ bool WvCdmTestBase::Initialize(int argc, const char* const argv[],
}
} else if (arg_prefix == "--test_data_path") {
default_config_.set_test_data_path(arg_value);
} else if (arg_prefix == "--server_version") {
default_config_.set_server_version(atoi(arg_value.c_str()));
} else {
std::cerr << "Unknown argument " << arg_prefix << std::endl;
show_usage = true;
@@ -561,8 +568,12 @@ bool WvCdmTestBase::Initialize(int argc, const char* const argv[],
<< std::endl;
std::cout << "Default Renewal Server: " << default_config_.renewal_server()
<< std::endl;
std::cout << "Default KeyID: " << default_config_.key_id() << std::endl
<< std::endl;
std::cout << "Default KeyID: " << default_config_.key_id() << std::endl;
if (default_config_.server_version() != 0) {
std::cout << "Server Version: " << default_config_.server_version()
<< std::endl;
}
std::cout << std::endl;
// Figure out which tests are appropriate for OEMCrypto, based on features
// supported.