// 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 #include #include #include #include #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; } 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_; static std::unique_ptr default_file_system_; // The persistent data for the current test. std::map 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_