mirror of https://github.com/acidanthera/audk.git
81 lines
2.6 KiB
C
81 lines
2.6 KiB
C
/** @file
|
|
This header file describes a library that contains functions to save and
|
|
restore unit test internal state, in case the test needs to pause and resume
|
|
(eg. a reboot-based test).
|
|
|
|
Copyright (c) Microsoft Corporation.<BR>
|
|
Copyright (c) 2019 - 2022, Intel Corporation. All rights reserved.<BR>
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef _UNIT_TEST_PERSISTENCE_LIB_H_
|
|
#define _UNIT_TEST_PERSISTENCE_LIB_H_
|
|
|
|
#include <Library/UnitTestLib.h>
|
|
|
|
#define UNIT_TEST_PERSISTENCE_LIB_VERSION 1
|
|
|
|
/**
|
|
Determines whether a persistence cache already exists for
|
|
the given framework.
|
|
|
|
@param[in] FrameworkHandle A pointer to the framework that is being persisted.
|
|
|
|
@retval TRUE
|
|
@retval FALSE Cache doesn't exist or an error occurred.
|
|
|
|
**/
|
|
BOOLEAN
|
|
EFIAPI
|
|
DoesCacheExist (
|
|
IN UNIT_TEST_FRAMEWORK_HANDLE FrameworkHandle
|
|
);
|
|
|
|
/**
|
|
Will save the data associated with an internal Unit Test Framework
|
|
state in a manner that can persist a Unit Test Application quit or
|
|
even a system reboot.
|
|
|
|
@param[in] FrameworkHandle A pointer to the framework that is being persisted.
|
|
@param[in] SaveData A pointer to the buffer containing the serialized
|
|
framework internal state.
|
|
@param[in] SaveStateSize The size of SaveData in bytes.
|
|
|
|
@retval EFI_SUCCESS Data is persisted and the test can be safely quit.
|
|
@retval Others Data is not persisted and test cannot be resumed upon exit.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
SaveUnitTestCache (
|
|
IN UNIT_TEST_FRAMEWORK_HANDLE FrameworkHandle,
|
|
IN VOID *SaveData,
|
|
IN UINTN SaveStateSize
|
|
);
|
|
|
|
/**
|
|
Will retrieve any cached state associated with the given framework.
|
|
Will allocate a buffer to hold the loaded data.
|
|
|
|
@param[in] FrameworkHandle A pointer to the framework that is being persisted.
|
|
@param[out] SaveData A pointer pointer that will be updated with the address
|
|
of the loaded data buffer.
|
|
@param[out] SaveStateSize Return the size of SaveData in bytes.
|
|
|
|
@retval EFI_SUCCESS Data has been loaded successfully and SaveData is updated
|
|
with a pointer to the buffer.
|
|
@retval Others An error has occurred and no data has been loaded. SaveData
|
|
is set to NULL.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
LoadUnitTestCache (
|
|
IN UNIT_TEST_FRAMEWORK_HANDLE FrameworkHandle,
|
|
OUT VOID **SaveData,
|
|
OUT UINTN *SaveStateSize
|
|
);
|
|
|
|
#endif
|