GoogleTest#

The $dir_pw_third_party/googletest/ module provides various helpers to optionally use full upstream GoogleTest/GoogleMock with pw_unit_test.

Using upstream GoogleTest and GoogleMock#

If you want to use the full upstream GoogleTest/GoogleMock, you must do the following:

Submodule#

Add GoogleTest to your workspace with the following command.

git submodule add https://github.com/google/googletest third_party/googletest

GN#

  • Set the GN var dir_pw_third_party_googletest to the location of the GoogleTest source. If you used the command above this will be //third_party/googletest.

  • Set the GN var pw_unit_test_MAIN = dir_pigweed + "/third_party/googletest:gmock_main".

  • Set the GN var pw_unit_test_GOOGLETEST_BACKEND = "//third_party/googletest".

CMake#

  • Set the dir_pw_third_party_googletest to the location of the GoogleTest source.

  • Set the var pw_unit_test_MAIN to pw_third_party.googletest.gmock_main.

  • Set the var pw_unit_test_GOOGLETEST_BACKEND to pw_third_party.googletest.

Note

Not all unit tests build properly with upstream GoogleTest yet. This is a work in progress.