<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/BaseTools/Tests, branch master</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-09-29T17:12:07+00:00</updated>
<entry>
<title>BaseTools/FMMT: Return non-zero exit status on failure</title>
<updated>2026-09-29T17:12:07+00:00</updated>
<author>
<name>Zhaoqi Xu</name>
<email>lzy00419@outlook.com</email>
</author>
<published>2026-08-31T08:33:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=53d441a7402aab3ecd02909ae1a0ae6a2e135332'/>
<id>urn:sha1:53d441a7402aab3ecd02909ae1a0ae6a2e135332</id>
<content type='text'>
FMMT catches exceptions from operations such as viewing a missing
input file, prints the error, and then returns status 0. Callers
and scripts treat that as success.

Set status to 1 in the exception handler so the process exit code
matches the failure.

A regression test covers FMMT -v not-a-file.

Signed-off-by: Zhaoqi Xu &lt;lzy00419@outlook.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Optimize parsing of byte-array PCD values</title>
<updated>2026-09-06T23:50:31+00:00</updated>
<author>
<name>kuqin12</name>
<email>42554914+kuqin12@users.noreply.github.com</email>
</author>
<published>2026-08-21T22:12:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=4d55998e8b0a251b5124bdf240ddaad9921e6257'/>
<id>urn:sha1:4d55998e8b0a251b5124bdf240ddaad9921e6257</id>
<content type='text'>
This change adds a fast path for simple VOID* hexadecimal byte arrays,
avoiding the generic expression tokenizer's repeated processing of large
PCD values. Regression tests for both paths. It does not change the
existing parser for structured and symbolic expressions.

This reduces parsing time for a 28 KiB generated PCD from roughly 2
seconds to 50 milliseconds.

Signed-off-by: Kun Qin &lt;kun.qin@microsoft.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Make DSC arch macro expansion owner-aware</title>
<updated>2026-09-01T14:42:26+00:00</updated>
<author>
<name>Bob Chen (UST Global Singapore Pte Limited)</name>
<email>v-kuanlchen@microsoft.com</email>
</author>
<published>2026-08-25T14:08:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=7b01c71a83e0bf6a89f5e803a4f60adc29c1f70f'/>
<id>urn:sha1:7b01c71a83e0bf6a89f5e803a4f60adc29c1f70f</id>
<content type='text'>
PR #12628 expanded architecture macros for every DSC record so
component-private records match their component. A positive raw owner can
also represent include provenance, so broad expansion changes records
outside component scope.

Expand architecture macros only for Component records and records whose
owner maps to a final Component. Reset the owner mapping whenever the
post-processed table is rebuilt to prevent stale ownership across
DoPostProcess calls.

Add regression coverage for component-private LibraryClasses and PCDs,
nested and private includes, multiple architectures, unresolved macros,
repeated sections, and repeated post-processing.

Signed-off-by: Bob Chen (UST Global Singapore Pte Limited) &lt;v-kuanlchen@microsoft.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/Tests: Update TC6 for backward-compatible rebase behavior</title>
<updated>2026-07-15T21:37:05+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2026-07-14T20:23:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=ae023dbe9952cef22a108bf247605030d0c60b50'/>
<id>urn:sha1:ae023dbe9952cef22a108bf247605030d0c60b50</id>
<content type='text'>
Update the test decision matrix and TC6 expected result to reflect
the backward-compatible ForceRebase logic: when ForceRebase=TRUE and
no files have the ,XIP suffix (XipFileCount==0), all files are
rebased using the legacy behavior rather than skipping all files.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/Tests: Add FV section keyword order parser tests</title>
<updated>2026-06-22T15:18:12+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2026-05-19T20:07:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=3a1cfddd9a12bcdbbbcd0ff98c87a8747d08e433'/>
<id>urn:sha1:3a1cfddd9a12bcdbbbcd0ff98c87a8747d08e433</id>
<content type='text'>
Add TestFdfParserFvKeywordOrder test class with 8 parameterized
subtests verifying that FV-level keywords (FvForceRebase,
FvBaseAddress, FvAlignment) can be freely interleaved with FV
attribute flags in any order within an [FV] section.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/Tests: Add PE32 section keyword order parser tests</title>
<updated>2026-06-22T15:18:12+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2026-05-19T19:51:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2a4022b6ae4652515aa215e00f856f899693a2a3'/>
<id>urn:sha1:2a4022b6ae4652515aa215e00f856f899693a2a3</id>
<content type='text'>
Add TestFdfParserPe32KeywordOrder test class with 17 parameterized
subtests covering all permutations of Align, Xip, and
RELOCS_STRIPPED/RELOCS_RETAINED keywords in PE32 section statements.
Tests verify pairwise orderings, all 6 three-keyword permutations,
single-keyword cases, and Xip=FALSE/RELOCS_RETAINED variants.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/Tests: Add unit and functional tests for XIP rebase</title>
<updated>2026-06-22T15:18:12+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2026-05-06T02:54:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=80bf0137c1ef00047769f3ea7b05f93ec9696b1c'/>
<id>urn:sha1:80bf0137c1ef00047769f3ea7b05f93ec9696b1c</id>
<content type='text'>
Add TestGenFvXip.py with 19 parameterized subtests covering the
complete XIP rebase decision matrix:

- 11 unit subtests validating DetermineXipEnabled() with
  RuleComplexFile and RuleSimpleFile objects covering Xip attribute
  parsing (TRUE/FALSE/None, case insensitive, boolean vs string).

- 8 functional subtests that run real edk2 builds with generated
  DSC/FDF files exercising all ForceRebase/BaseAddress/Xip
  combinations. Each test verifies:
  1. FV INF file contains correct ,XIP suffixes
  2. FV map file shows correct rebase status (Fixed Flash Address)
  3. PE/COFF ImageBase in the FV binary matches expected value

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/Tests: Generate interim files in temp directory</title>
<updated>2026-02-02T08:56:31+00:00</updated>
<author>
<name>Oleksandr Tymoshenko</name>
<email>ovt@google.com</email>
</author>
<published>2025-11-13T23:59:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=388a817120f3c1a97e4adb4cc654f23853424a57'/>
<id>urn:sha1:388a817120f3c1a97e4adb4cc654f23853424a57</id>
<content type='text'>
As a preparation for out-of-tree build support make sure all interim
files for tests are created in tmp directory.

Signed-off-by: Oleksandr Tymoshenko &lt;ovt@google.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/Tests: Fix clean target</title>
<updated>2026-02-02T08:56:31+00:00</updated>
<author>
<name>Oleksandr Tymoshenko</name>
<email>ovt@google.com</email>
</author>
<published>2025-11-11T23:05:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=522b18190a260aa35dacfc8a48fc228941841f12'/>
<id>urn:sha1:522b18190a260aa35dacfc8a48fc228941841f12</id>
<content type='text'>
SEP variable is only set if PYTHON_COMMAND is undefined but referred
regardless. It breaks the clean target for the following scenario:
  . edksetup.sh # Sets PYTHON_COMMAND
  make -C BaseTools
  make -C BaseTools clean

This change fixes the use case mentioned above by settings SEP
for all build configurations.

[ardb: Drop redundant assignment for Windows]
Signed-off-by: Oleksandr Tymoshenko &lt;ovt@google.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: GNUMakefiles must use CMD.EXE in Windows</title>
<updated>2025-12-24T02:03:38+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2025-12-16T20:33:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=79fdd2b82af96963cd38d157494df1668f16a281'/>
<id>urn:sha1:79fdd2b82af96963cd38d157494df1668f16a281</id>
<content type='text'>
Use $(OS) in all GNUMakefiles to detect if the GNUMakefile
is being used in a Windows OS. If a Windows OS is detected,
then override SHELL to use cmd.exe. This prevents make
utility from using sh.exe if sh.exe happens to be in PATH.

If sh.exe is used, then backslash (\) characters in file
paths are removed and builds break for files not found.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
</feed>
