From 0f7fb5c5e5ad4b1654d67c65c77999bd9e5a5af5 Mon Sep 17 00:00:00 2001 From: Michael D Kinney Date: Wed, 22 Jan 2020 10:06:15 -0800 Subject: UnitTestFrameworkPkg: Add public and private interfaces https://bugzilla.tianocore.org/show_bug.cgi?id=2505 Add public interfaces for use by unit test implementations. * Include path to cmocka library interfaces. * PcdUnitTestLogLevel to set the unit test logging message level to filter log messages. Add private interfaces that are used by UnitTestLib implementations. * [Private] UnitTestBootLib - Set boot next to continue unit tests across a reboot. * [Private] UnitTestPersistenceLib - Save unit test framework state to a persistent storage device. * [Private] UnitTestResultLib - Output unit test results to a console device. * [Private] UnitTestFrameworkTypes.h - Internal structures used by UnitTestLib implementations to keep track if unit test frameworks, unit test suites, and unit tests along with the serialized storage format to save a unit test framework state to persistent storage. Cc: Sean Brogan Cc: Bret Barkelew Signed-off-by: Michael D Kinney Reviewed-by: Bret Barkelew --- UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec | 50 +++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec (limited to 'UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec') diff --git a/UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec b/UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec new file mode 100644 index 0000000..069289f --- /dev/null +++ b/UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec @@ -0,0 +1,50 @@ +## @file +# This Package provides all definitions (including functions, MACROs, +# structures library classes, and PCDs) and libraries instances, which are used +# to support unit testing and interface testing. +# +# Copyright (c) Microsoft Corporation.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + DEC_SPECIFICATION = 0x00010005 + PACKAGE_NAME = UnitTestFrameworkPkg + PACKAGE_UNI_FILE = UnitTestFrameworkPkg.uni + PACKAGE_GUID = 4A70C4A0-D72C-4D3F-9943-BE7C41C50BA3 + PACKAGE_VERSION = 1.00 + +[Includes] + Library/CmockaLib/cmocka/include + +[Includes.Common.Private] + PrivateInclude + Library/CmockaLib/cmocka/include/cmockery + +[LibraryClasses.Common.Private] + ## @libraryclass Allows save and restore unit test internal state + # + UnitTestPersistenceLib|PrivateInclude/Library/UnitTestPersistenceLib.h + + ## @libraryclass Provides a unit test result report + # + UnitTestResultReportLib|PrivateInclude/Library/UnitTestResultReportLib.h + + ## @libraryclass Provides boot-option routines useful in shell-based tests. + # + UnitTestBootLib|PrivateInclude/Library/UnitTestBootLib.h + +[Guids] + gUnitTestFrameworkPkgTokenSpaceGuid = { 0x833d3aba, 0x39b4, 0x43a2, { 0xb9, 0x30, 0x7a, 0x34, 0x53, 0x39, 0x31, 0xb3 } } + +[PcdsFixedAtBuild] + ## This flag is used to control build time optimization based on unit test + # log level. The default value is 0xFFFFFFFF to enable all unit test log + # messages. + # BIT0 - Error unit test log messages.
+ # BIT1 - Warning unit test log messages.
+ # BIT2 - Informational unit test log messages.
+ # BIT3 - Verbose unit test log messages.
+ # @Prompt Unit Test Log Message Level + gUnitTestFrameworkPkgTokenSpaceGuid.PcdUnitTestLogLevel|0xFFFFFFFF|UINT32|0x00000001 -- cgit v1.1