UnitTestFrameworkPkg/Readme.md: Remove gtest main() limitation

As of the previous commit, this limitation is no longer a thing.
You can now write gtest unit tests with multiple files and no need for
any hack such as #include.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Michael Kubacki <mikuback@linux.microsoft.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Signed-off-by: Pedro Falcato <pedro.falcato@gmail.com>
Reviewed-by: Cc: Michael D Kinney <michael.d.kinney@intel.com>
This commit is contained in:
Pedro Falcato 2023-11-30 22:42:14 +00:00 committed by mergify[bot]
parent c3769e392b
commit 7182621edc
1 changed files with 0 additions and 16 deletions

View File

@ -1096,22 +1096,6 @@ int main(int argc, char* argv[]) {
}
```
However, while GoogleTest does not require test suites or test cases to be
registered, there is still one rule within EDK II that currently needs to be
followed. This rule is that all tests for a given GoogleTest application must
be contained within the same source file that contains the `main()` function
shown above. These tests can be written directly in the file or a `#include`
can be used to add them into the file indirectly.
The reason for this is due to EDK II taking the host application INF file and
first compiling all of its source files into a static library. This static
library is then linked into the final host application. The problem with this
method is that only the tests in the object file containing the `main()`
function are linked into the final host application. This is because the other
tests are contained in their own object files within the static library and
they have no symbols in them that the final host application depends on, so
those object files are not linked into the final host application.
### GoogleTest - A Simple Test Case
Below is a sample test case from `SampleGoogleTestHost`.