Skip to content
  • Ryan Thornton's avatar
    GoogleTest: Parameterize tests to check PRE_TEST/POST_BUILD discovery mode · 1ba4cb56
    Ryan Thornton authored
    Now, the unit tests are ran twice -- once with POST_BUILD (i.e. default mode)
    and again with PRE_TEST (i.e. new discovery mode).
    
    Both modes of setting gtest discovery mode are also tested:
    1. Using the global override (i.e. CMAKE_GTEST_DISCOVER_TESTS_DISCOVERY_MODE)
    2. Explicitly passing DISCOVERY_MODE in calls to gtest_discover_tests (in GoogleTestDiscoveryTimeout.cmake)
    
    The goal is to show that the new PRE_TEST discovery mode does not break existing behavior
    (i.e. should not break POST_BUILD mode) and should also pass the same tests
    in the same way.
    
    A few non trivial implementation details worth noting:
    
    1. Refactoring discovery_timeout_test into own project
    
    Originally, I tried doing:
    
    ```
    run_GoogleTest(POST_BUILD)
    run_GoogleTest(PRE_TEST)
    ```
    
    Without changing the internal structure of run_GoogleTest.
    
    But since discovery_timeout_test is part of the same project as the other tests,
    and CTest include files always get evaluat...
    1ba4cb56