From 2ea216a6bb46c8421677fd34ba6d1cc2999063be Mon Sep 17 00:00:00 2001
From: Alexander Krabler <code@a.krabler.eu>
Date: Sat, 16 Dec 2023 09:51:25 -0500
Subject: GoogleTest: Add working directory to gtest_discover_tests error
 message

If the working directory didn't exist, the old message just says:

    Error running test executable.

        Path: '<Path to test executable>'
        Result: No such file or directory
        Output:

This leads the user to the conclusion that the test executable doesn't
exist, which isn't true.  Make the true cause visible by reporting the
working directory in the error message.
---
 Modules/GoogleTestAddTests.cmake                                         | 1 +
 .../GoogleTest/GoogleTest-discovery-POST_BUILD-timeout-build-stdout.txt  | 1 +
 .../GoogleTest/GoogleTest-discovery-PRE_TEST-timeout-test-stderr.txt     | 1 +
 3 files changed, 3 insertions(+)

diff --git a/Modules/GoogleTestAddTests.cmake b/Modules/GoogleTestAddTests.cmake
index de0f7d6..eea267d 100644
--- a/Modules/GoogleTestAddTests.cmake
+++ b/Modules/GoogleTestAddTests.cmake
@@ -112,6 +112,7 @@ function(gtest_discover_tests_impl)
     message(FATAL_ERROR
       "Error running test executable.\n"
       "  Path: '${path}'\n"
+      "  Working directory: '${_TEST_WORKING_DIR}'\n"
       "  Result: ${result}\n"
       "  Output:\n"
       "    ${output}\n"
diff --git a/Tests/RunCMake/GoogleTest/GoogleTest-discovery-POST_BUILD-timeout-build-stdout.txt b/Tests/RunCMake/GoogleTest/GoogleTest-discovery-POST_BUILD-timeout-build-stdout.txt
index 3a6572c..84bbe9f 100644
--- a/Tests/RunCMake/GoogleTest/GoogleTest-discovery-POST_BUILD-timeout-build-stdout.txt
+++ b/Tests/RunCMake/GoogleTest/GoogleTest-discovery-POST_BUILD-timeout-build-stdout.txt
@@ -2,6 +2,7 @@
 ( *|[0-9]+>)  Error running test executable.
 ?( *|[0-9]+>)
 ( *|[0-9]+>)    Path: '.*discovery_timeout_test(\.exe)?'
+( *|[0-9]+>)    Working directory: '[^']*/Tests/RunCMake/GoogleTest/GoogleTest-discovery-timeout'
 ( *|[0-9]+>)    Result: Process terminated due to timeout
 ( *|[0-9]+>)    Output:
 ( *|[0-9]+>)     +
diff --git a/Tests/RunCMake/GoogleTest/GoogleTest-discovery-PRE_TEST-timeout-test-stderr.txt b/Tests/RunCMake/GoogleTest/GoogleTest-discovery-PRE_TEST-timeout-test-stderr.txt
index 75afe4a..03d73ee 100644
--- a/Tests/RunCMake/GoogleTest/GoogleTest-discovery-PRE_TEST-timeout-test-stderr.txt
+++ b/Tests/RunCMake/GoogleTest/GoogleTest-discovery-PRE_TEST-timeout-test-stderr.txt
@@ -2,6 +2,7 @@ CMake Error at .*GoogleTestAddTests.cmake:[0-9]+ \(message\):
 [ \t]*Error running test executable.
 +
 [ \t]*Path: '.*discovery_timeout_test(\.exe)?'
+[ \t]*Working directory: '[^']*/Tests/RunCMake/GoogleTest/GoogleTest-discovery-timeout'
 [ \t]*Result: Process terminated due to timeout
 [ \t]*Output:
 [ \t]*timeout.
-- 
cgit v0.12