Reviewed-by: Liming Gao <gaolim...@byosoft.com.cn> > -----邮件原件----- > 发件人: mikub...@linux.microsoft.com <mikub...@linux.microsoft.com> > 发送时间: 2023年4月19日 0:11 > 收件人: devel@edk2.groups.io > 抄送: Rebecca Cran <rebe...@bsdio.com>; Liming Gao > <gaolim...@byosoft.com.cn>; Bob Feng <bob.c.f...@intel.com>; Yuwei Chen > <yuwei.c...@intel.com>; Michael D Kinney <michael.d.kin...@intel.com>; > Sean Brogan <sean.bro...@microsoft.com> > 主题: [PATCH v1 1/1] BaseTools/Plugin: Clarify code coverage failure message > > From: Michael Kubacki <michael.kuba...@microsoft.com> > > HostBasedUnitTestRunner.py is a build plugin responsible for locating > and executing host-based unit tests. > > Recently, commit 6bb00aa introduced support for the plugin to > generate code coverage reports via lcov and OpenCppCoverage. > > The plugin has discovered unit tests by searching for executables > with "Test" in the name for a while. However, the test coverage > change makes assumptions about test presence when crafting the > OpenCppCoverage command that ultimately fails with an ambiguous error > message if no host-based unit tests are discovered (see "ERROR"). > > ``` > SECTION - Run Host based Unit Tests > SUBSECTION - Testing for architecture: X64 > ERROR - UnitTest Coverage: Failed to generate cobertura format xml in > single package. > PROGRESS - --->Test Success: Host Unit Test Compiler Plugin NOOPT > ``` > > This change preempts that message with a check in the plugin to > determine if any host-based tests were discovered. If not, a message > is printed with more guidance about how the developer should proceed > to either (1) fix their tests so code coverage is generated as > expected or (2) prevent the error message. > > New message: > > ``` > SECTION - Run Host based Unit Tests > SUBSECTION - Testing for architecture: X64 > WARNING - UnitTest Coverage: > No unit tests discovered. Test coverage will not be generated. > > Prevent this message by: > 1. Adding host-based unit tests to this package > 2. Ensuring tests have the word "Test" in their name > 3. Disabling HostUnitTestCompilerPlugin in the package CI YAML file > PROGRESS - --->Test Success: Host Unit Test Compiler Plugin NOOPT > ``` > > Cc: Rebecca Cran <rebe...@bsdio.com> > Cc: Liming Gao <gaolim...@byosoft.com.cn> > Cc: Bob Feng <bob.c.f...@intel.com> > Cc: Yuwei Chen <yuwei.c...@intel.com> > Cc: Michael D Kinney <michael.d.kin...@intel.com> > Cc: Sean Brogan <sean.bro...@microsoft.com> > Signed-off-by: Michael Kubacki <michael.kuba...@microsoft.com> > --- > BaseTools/Plugin/HostBasedUnitTestRunner/HostBasedUnitTestRunner.py | > 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git > a/BaseTools/Plugin/HostBasedUnitTestRunner/HostBasedUnitTestRunner.py > b/BaseTools/Plugin/HostBasedUnitTestRunner/HostBasedUnitTestRunner.py > index 0e013c5f1a7f..a384b556294c 100644 > --- > a/BaseTools/Plugin/HostBasedUnitTestRunner/HostBasedUnitTestRunner.py > +++ > b/BaseTools/Plugin/HostBasedUnitTestRunner/HostBasedUnitTestRunner.py > @@ -16,6 +16,7 @@ import edk2toollib.windows.locate_tools as locate_tools > from edk2toolext.environment import shell_environment > from edk2toollib.utility_functions import RunCmd > from edk2toollib.utility_functions import GetHostInfo > +from textwrap import dedent > > > class HostBasedUnitTestRunner(IUefiBuildPlugin): > @@ -84,6 +85,18 @@ class HostBasedUnitTestRunner(IUefiBuildPlugin): > else: > raise NotImplementedError("Unsupported Operating > System") > > + if not testList: > + logging.warning(dedent(""" > + UnitTest Coverage: > + No unit tests discovered. Test coverage will not > be generated. > + > + Prevent this message by: > + 1. Adding host-based unit tests to this package > + 2. Ensuring tests have the word "Test" in their > name > + 3. Disabling HostUnitTestCompilerPlugin in the > package CI YAML file > + """).strip()) > + return 0 > + > for test in testList: > # Configure output name if test uses cmocka. > shell_env.set_shell_var( > -- > 2.40.0.windows.1
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#103198): https://edk2.groups.io/g/devel/message/103198 Mute This Topic: https://groups.io/mt/98359396/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-