Skip to content

catch_discover_tests doesn't use the same environment to discover tests through TEST_EXECUTABLE #1810

Description

@iomaganaris

Describe the bug
Using cmake to build my application and catch_discover_tests to find all the catch tests defined, I came across the following issue.
While it's possible to set PROPERTIES in catch_discover_tests that will be used to run the tests with, those same properties are not passed to the process that runs the test executable to parse the various tests defined in the application.

Expected behavior
I would expect that the same environment would be used to run the test executable to find out which tests to run and to actually run the tests.

Reproduction steps
catch_discover_tests(${test_name} TEST_PREFIX "${test_name}/" PROPERTIES ENVIRONMENT "TEST_ENV_VAR=MY_VAR")

Platform information:

  • OS: Linux
  • Compiler+version: GCC v7.4.0,8.2.0/clang 8
  • Catch version: master brach
  • Cmake version: 3.10.2

Supplementary information:
I would like to be able to set one or more environment variables to a specific value for the tests only, without having to manually set it through the command line before compiling the application to run every invocation of the application executable with the same environment.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ExtrasTouches utility scripts outside of Catch2 proper, e.g. CMake integration.Help wantedIssue outside of the maintainers expertise

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions