audk/.pytool/Plugin/DscCompleteCheck
Michael D Kinney 61364ab927 .pytool: Add CI support for host based unit tests with results
https://bugzilla.tianocore.org/show_bug.cgi?id=2505

* Add plugin to build and run host based unit tests
* Add plugin that performs a DSC complete check DSC files
  used to build host based tests
* Update DscCompleteCheck plugin to ignore module INFs with
  a MODULE_TYPE of HOST_APPLICATION and library INFs that
  only support a module type of HOST_APPLICATION.
* Fix issues in XML reports from checkers.

Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Bret Barkelew <Bret.Barkelew@microsoft.com>
2020-02-07 19:18:53 +00:00
..
DscCompleteCheck.py .pytool: Add CI support for host based unit tests with results 2020-02-07 19:18:53 +00:00
DscCompleteCheck_plug_in.yaml .pytool/Plugin: Add CI plugins 2019-11-11 13:02:03 -08:00
Readme.md .pytool: Add CI support for host based unit tests with results 2020-02-07 19:18:53 +00:00

Readme.md

Dsc Complete Check Plugin

This CiBuildPlugin scans all INF files from a package and confirms they are listed in the package level DSC file. The test considers it an error if any INF does not appear in the Components section of the package-level DSC (indicating that it would not be built if the package were built). This is critical because much of the CI infrastructure assumes that all modules will be listed in the DSC and compiled.

This test will ignore INFs in the following cases:

  1. When MODULE_TYPE = HOST_APPLICATION
  2. When a Library instance only supports the HOST_APPLICATION environment

Configuration

The plugin has a few configuration options to support the UEFI codebase.

"DscCompleteCheck": {
        "DscPath": "",   # Path to dsc from root of package
        "IgnoreInf": []  # Ignore INF if found in filesystem but not dsc
    }

DscPath

Path to DSC to consider platform dsc

IgnoreInf

Ignore error if Inf file is not listed in DSC file