Source release 17.1.0
This commit is contained in:
60
core/test/reboot_test.h
Normal file
60
core/test/reboot_test.h
Normal file
@@ -0,0 +1,60 @@
|
||||
// Copyright 2021 Google LLC. All Rights Reserved. This file and proprietary
|
||||
// source code may only be used and distributed under the Widevine License
|
||||
// Agreement.
|
||||
|
||||
#ifndef WVCDM_CORE_REBOOT_TEST_H_
|
||||
#define WVCDM_CORE_REBOOT_TEST_H_
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include "file_store.h"
|
||||
#include "test_base.h"
|
||||
|
||||
namespace wvcdm {
|
||||
class RebootTest : public WvCdmTestBaseWithEngine {
|
||||
public:
|
||||
// The main test driver may inject the file system for saving persistent test
|
||||
// data.
|
||||
static void set_file_system(wvutil::FileSystem* file_system) {
|
||||
file_system_ = file_system;
|
||||
}
|
||||
// Dump a map to a std string in an almost human readable way so that the map
|
||||
// can be rebuilt using ParseDump below. The keys in the map must be standard
|
||||
// identifier strings, which means no special characters or whitespace. By
|
||||
// "almost human readable", we mean that a human debugging the dump will be
|
||||
// able to find the keys, and see the values if they are printable or see a
|
||||
// hex dump of the values if they are not.
|
||||
static std::string DumpData(const std::map<std::string, std::string>& data);
|
||||
// Parse a dump generated by DumpData and recreate the original data map.
|
||||
// Returns true on success.
|
||||
static bool ParseDump(const std::string& dump,
|
||||
std::map<std::string, std::string>* data);
|
||||
|
||||
static int test_pass() { return default_config_->test_pass(); }
|
||||
|
||||
// Load a previously saved time. Returns 0 if the value does not exist or
|
||||
// cannot be parsed.
|
||||
int64_t LoadTime(const std::string& key);
|
||||
// Save a time to persistent storage.
|
||||
void SaveTime(const std::string& key, int64_t time);
|
||||
|
||||
protected:
|
||||
void SetUp() override;
|
||||
void TearDown() override;
|
||||
|
||||
// This is used to store each test's persistent data.
|
||||
static wvutil::FileSystem* file_system_;
|
||||
|
||||
// The persistent data for the current test.
|
||||
std::map<std::string, std::string> persistent_data_;
|
||||
// Where to store and restore the persistent data for a single test.
|
||||
std::string persistent_data_filename_;
|
||||
};
|
||||
|
||||
} // namespace wvcdm
|
||||
|
||||
#endif // WVCDM_CORE_REBOOT_TEST_H_
|
||||
Reference in New Issue
Block a user