diff options
author | Gregor Jasny <gjasny@googlemail.com> | 2017-02-19 17:26:44 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2017-02-27 14:14:28 (GMT) |
commit | ded616bdad46a445ea7ae05d47ae8f32026b13b5 (patch) | |
tree | ba3a048d94b1aadb5fb728885fbd9b02bc691ba9 /Tests/RunCMake/CommandLine | |
parent | 32cb4172bd6b98810f9638076e978a6bc569f6ae (diff) | |
download | CMake-ded616bdad46a445ea7ae05d47ae8f32026b13b5.zip CMake-ded616bdad46a445ea7ae05d47ae8f32026b13b5.tar.gz CMake-ded616bdad46a445ea7ae05d47ae8f32026b13b5.tar.bz2 |
cmListFileLexer: bail out on seek-errors
If we are given a FIFO, for example, we cannot seek back after trying to
read a Byte-Order-Mark.
Closes: #16607
Diffstat (limited to 'Tests/RunCMake/CommandLine')
-rw-r--r-- | Tests/RunCMake/CommandLine/RunCMakeTest.cmake | 13 | ||||
-rw-r--r-- | Tests/RunCMake/CommandLine/reject_fifo-result.txt | 1 | ||||
-rw-r--r-- | Tests/RunCMake/CommandLine/reject_fifo-stderr.txt | 2 |
3 files changed, 16 insertions, 0 deletions
diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake index 0c4f71c..b213ee2 100644 --- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake +++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake @@ -1,3 +1,5 @@ +cmake_minimum_required(VERSION 3.1) + include(RunCMake) run_cmake_command(NoArgs ${CMAKE_COMMAND}) @@ -301,3 +303,14 @@ set(CMAKE_RELATIVE_PATH_TOP_BINARY \"${RunCMake_TEST_BINARY_DIR}\") ) endfunction() run_cmake_depends() + +function(reject_fifo) + find_program(BASH_EXECUTABLE bash) + if(BASH_EXECUTABLE) + set(BASH_COMMAND_ARGUMENT "'${CMAKE_COMMAND}' -P <(echo 'return()')") + run_cmake_command(reject_fifo ${BASH_EXECUTABLE} -c ${BASH_COMMAND_ARGUMENT}) + endif() +endfunction() +if(CMAKE_HOST_UNIX AND NOT CMAKE_SYSTEM_NAME STREQUAL "CYGWIN") + reject_fifo() +endif() diff --git a/Tests/RunCMake/CommandLine/reject_fifo-result.txt b/Tests/RunCMake/CommandLine/reject_fifo-result.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Tests/RunCMake/CommandLine/reject_fifo-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/CommandLine/reject_fifo-stderr.txt b/Tests/RunCMake/CommandLine/reject_fifo-stderr.txt new file mode 100644 index 0000000..7a335c3 --- /dev/null +++ b/Tests/RunCMake/CommandLine/reject_fifo-stderr.txt @@ -0,0 +1,2 @@ +CMake Error in .* + Error while reading Byte-Order-Mark\. File not seekable\? |