From 3c94069660112f841df3bae66891e05bfc7bad00 Mon Sep 17 00:00:00 2001 From: Igor Ivanov Date: Sat, 10 Aug 2019 11:41:53 +0300 Subject: Add --trace-redirect parameter to redirect trace output to a file --- Tests/RunCMake/CommandLine/RunCMakeTest.cmake | 8 ++++++++ Tests/RunCMake/CommandLine/trace-redirect-check.cmake | 13 +++++++++++++ Tests/RunCMake/CommandLine/trace-redirect-nofile-result.txt | 1 + Tests/RunCMake/CommandLine/trace-redirect-nofile-stderr.txt | 1 + Tests/RunCMake/CommandLine/trace-redirect-nofile.cmake | 0 Tests/RunCMake/CommandLine/trace-redirect-stdout.txt | 1 + Tests/RunCMake/CommandLine/trace-redirect.cmake | 0 7 files changed, 24 insertions(+) create mode 100644 Tests/RunCMake/CommandLine/trace-redirect-check.cmake create mode 100644 Tests/RunCMake/CommandLine/trace-redirect-nofile-result.txt create mode 100644 Tests/RunCMake/CommandLine/trace-redirect-nofile-stderr.txt create mode 100644 Tests/RunCMake/CommandLine/trace-redirect-nofile.cmake create mode 100644 Tests/RunCMake/CommandLine/trace-redirect-stdout.txt create mode 100644 Tests/RunCMake/CommandLine/trace-redirect.cmake (limited to 'Tests') diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake index 4e19871e41..dd494231ee 100644 --- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake +++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake @@ -484,6 +484,14 @@ set(RunCMake_TEST_OPTIONS --trace-expand --warn-uninitialized) run_cmake(trace-expand-warn-uninitialized) unset(RunCMake_TEST_OPTIONS) +set(RunCMake_TEST_OPTIONS --trace-redirect=${RunCMake_BINARY_DIR}/redirected.trace) +run_cmake(trace-redirect) +unset(RunCMake_TEST_OPTIONS) + +set(RunCMake_TEST_OPTIONS --trace-redirect=/no/such/file.txt) +run_cmake(trace-redirect-nofile) +unset(RunCMake_TEST_OPTIONS) + set(RunCMake_TEST_OPTIONS -Wno-deprecated --warn-uninitialized) run_cmake(warn-uninitialized) unset(RunCMake_TEST_OPTIONS) diff --git a/Tests/RunCMake/CommandLine/trace-redirect-check.cmake b/Tests/RunCMake/CommandLine/trace-redirect-check.cmake new file mode 100644 index 0000000000..1ee0e0de6e --- /dev/null +++ b/Tests/RunCMake/CommandLine/trace-redirect-check.cmake @@ -0,0 +1,13 @@ +file(READ ${RunCMake_SOURCE_DIR}/trace-stderr.txt expected_content) +string(REGEX REPLACE "\n+$" "" expected_content "${expected_content}") + +file(READ ${RunCMake_BINARY_DIR}/redirected.trace actual_content) +string(REGEX REPLACE "\r\n" "\n" actual_content "${actual_content}") +string(REGEX REPLACE "\n+$" "" actual_content "${actual_content}") +if(NOT "${actual_content}" MATCHES "${expected_content}") + set(RunCMake_TEST_FAILED + "Trace file content does not match that expected." + "Expected to match:\n${expected_content}\n" + "Actual content:\n${actual_content}\n" + ) +endif() diff --git a/Tests/RunCMake/CommandLine/trace-redirect-nofile-result.txt b/Tests/RunCMake/CommandLine/trace-redirect-nofile-result.txt new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/Tests/RunCMake/CommandLine/trace-redirect-nofile-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/CommandLine/trace-redirect-nofile-stderr.txt b/Tests/RunCMake/CommandLine/trace-redirect-nofile-stderr.txt new file mode 100644 index 0000000000..edb0c8e6fd --- /dev/null +++ b/Tests/RunCMake/CommandLine/trace-redirect-nofile-stderr.txt @@ -0,0 +1 @@ +^CMake Error: Error opening trace file /no/such/file.txt: .+$ diff --git a/Tests/RunCMake/CommandLine/trace-redirect-nofile.cmake b/Tests/RunCMake/CommandLine/trace-redirect-nofile.cmake new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Tests/RunCMake/CommandLine/trace-redirect-stdout.txt b/Tests/RunCMake/CommandLine/trace-redirect-stdout.txt new file mode 100644 index 0000000000..775f2b5f08 --- /dev/null +++ b/Tests/RunCMake/CommandLine/trace-redirect-stdout.txt @@ -0,0 +1 @@ +^.*Trace will be written to .+redirected.trace.*$ diff --git a/Tests/RunCMake/CommandLine/trace-redirect.cmake b/Tests/RunCMake/CommandLine/trace-redirect.cmake new file mode 100644 index 0000000000..e69de29bb2 -- cgit v1.2.1