summaryrefslogtreecommitdiff
path: root/Tests/RunCMake/CommandLine
diff options
context:
space:
mode:
authorRobert Maynard <rmaynard@nvidia.com>2022-02-14 10:23:46 -0500
committerBrad King <brad.king@kitware.com>2022-02-16 12:11:33 -0500
commitf73457ca2ecb7abe66050910d74a37f80d10de2e (patch)
treee629aff9fdbe7956852b94746d22c690ed21597c /Tests/RunCMake/CommandLine
parent67f97f54789413f47a0f03a36c3bb32518a2e922 (diff)
downloadcmake-f73457ca2ecb7abe66050910d74a37f80d10de2e.tar.gz
cmake: Ignore any empty "" command line arguments
Don't treat empty quote arguments("") as the current working directory but instead ignore them. Fixes #23217
Diffstat (limited to 'Tests/RunCMake/CommandLine')
-rw-r--r--Tests/RunCMake/CommandLine/B-S-extra-path-stderr.txt2
-rw-r--r--Tests/RunCMake/CommandLine/B-no-arg3-result.txt1
-rw-r--r--Tests/RunCMake/CommandLine/B-no-arg3-stderr.txt1
-rw-r--r--Tests/RunCMake/CommandLine/C-no-arg2-result.txt1
-rw-r--r--Tests/RunCMake/CommandLine/C-no-arg2-stderr.txt2
-rw-r--r--Tests/RunCMake/CommandLine/C-no-arg3-result.txt1
-rw-r--r--Tests/RunCMake/CommandLine/C-no-arg3-stderr.txt1
-rw-r--r--Tests/RunCMake/CommandLine/RunCMakeTest.cmake8
-rw-r--r--Tests/RunCMake/CommandLine/S-B-extra-path-stderr.txt2
-rw-r--r--Tests/RunCMake/CommandLine/S-B-non-path-stderr.txt2
-rw-r--r--Tests/RunCMake/CommandLine/S-B-non-path2-stderr.txt2
-rw-r--r--Tests/RunCMake/CommandLine/S-no-arg3-result.txt1
-rw-r--r--Tests/RunCMake/CommandLine/S-no-arg3-stderr.txt1
13 files changed, 23 insertions, 2 deletions
diff --git a/Tests/RunCMake/CommandLine/B-S-extra-path-stderr.txt b/Tests/RunCMake/CommandLine/B-S-extra-path-stderr.txt
index 8794f74bb2..e168a1b4e7 100644
--- a/Tests/RunCMake/CommandLine/B-S-extra-path-stderr.txt
+++ b/Tests/RunCMake/CommandLine/B-S-extra-path-stderr.txt
@@ -1,4 +1,4 @@
^CMake Warning:
Ignoring extra path from command line:
- /extra/path/$
+ "/extra/path/"$
diff --git a/Tests/RunCMake/CommandLine/B-no-arg3-result.txt b/Tests/RunCMake/CommandLine/B-no-arg3-result.txt
new file mode 100644
index 0000000000..d00491fd7e
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/B-no-arg3-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CommandLine/B-no-arg3-stderr.txt b/Tests/RunCMake/CommandLine/B-no-arg3-stderr.txt
new file mode 100644
index 0000000000..cf63fdd3a9
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/B-no-arg3-stderr.txt
@@ -0,0 +1 @@
+^CMake Error: No build directory specified for -B
diff --git a/Tests/RunCMake/CommandLine/C-no-arg2-result.txt b/Tests/RunCMake/CommandLine/C-no-arg2-result.txt
new file mode 100644
index 0000000000..d00491fd7e
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/C-no-arg2-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CommandLine/C-no-arg2-stderr.txt b/Tests/RunCMake/CommandLine/C-no-arg2-stderr.txt
new file mode 100644
index 0000000000..5992dcd613
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/C-no-arg2-stderr.txt
@@ -0,0 +1,2 @@
+^CMake Error: -C must be followed by a file name.
+CMake Error: Run 'cmake --help' for all supported options.$
diff --git a/Tests/RunCMake/CommandLine/C-no-arg3-result.txt b/Tests/RunCMake/CommandLine/C-no-arg3-result.txt
new file mode 100644
index 0000000000..d00491fd7e
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/C-no-arg3-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CommandLine/C-no-arg3-stderr.txt b/Tests/RunCMake/CommandLine/C-no-arg3-stderr.txt
new file mode 100644
index 0000000000..e80d89f0e4
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/C-no-arg3-stderr.txt
@@ -0,0 +1 @@
+^CMake Error: No file name specified for -C
diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
index 033fbe6be5..5944d2d6f3 100644
--- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
@@ -7,6 +7,10 @@ run_cmake_command(InvalidArg1 ${CMAKE_COMMAND} -invalid)
run_cmake_command(InvalidArg2 ${CMAKE_COMMAND} --invalid)
run_cmake_command(Wizard ${CMAKE_COMMAND} -i)
run_cmake_command(C-no-arg ${CMAKE_COMMAND} -B DummyBuildDir -C)
+run_cmake_command(C-no-arg2 ${CMAKE_COMMAND} -B DummyBuildDir -C -T)
+set(RunCMake_TEST_RAW_ARGS [[-C ""]])
+run_cmake_command(C-no-arg3 ${CMAKE_COMMAND} -B DummyBuildDir)
+unset(RunCMake_TEST_RAW_ARGS)
run_cmake_command(C-no-file ${CMAKE_COMMAND} -B DummyBuildDir -C nosuchcachefile.txt)
run_cmake_command(Cno-file ${CMAKE_COMMAND} -B DummyBuildDir -Cnosuchcachefile.txt)
run_cmake_command(cache-no-file ${CMAKE_COMMAND} nosuchsubdir/CMakeCache.txt)
@@ -158,8 +162,11 @@ endif()
run_cmake_with_options(S-arg-reverse-order ${binary_dir} -S${source_dir} )
run_cmake_with_options(S-no-arg -S )
run_cmake_with_options(S-no-arg2 -S -T)
+ run_cmake_with_raw_args(S-no-arg3 [[-S ""]])
run_cmake_with_options(S-B -S ${source_dir} -B ${binary_dir})
run_cmake_with_options(S-B-extra-path -S ${source_dir} -B ${binary_dir} /extra/path/)
+ run_cmake_with_raw_args(S-B-non-path "-S \"${source_dir}\" -B \"${binary_dir}\" \"\"")
+ run_cmake_with_raw_args(S-B-non-path2 "-S \"${source_dir}\" \"\" -B \"${binary_dir}\"")
# make sure that -B can explicitly construct build directories
file(REMOVE_RECURSE "${binary_dir}")
@@ -168,6 +175,7 @@ endif()
run_cmake_with_options(B-arg-reverse-order ${source_dir} -B${binary_dir})
run_cmake_with_options(B-no-arg -B )
run_cmake_with_options(B-no-arg2 -B -T)
+ run_cmake_with_raw_args(B-no-arg3 [[-B ""]])
file(REMOVE_RECURSE "${binary_dir}")
run_cmake_with_options(B-S -B${binary_dir} -S${source_dir})
run_cmake_with_options(B-S-extra-path -B${binary_dir} -S${source_dir} /extra/path/)
diff --git a/Tests/RunCMake/CommandLine/S-B-extra-path-stderr.txt b/Tests/RunCMake/CommandLine/S-B-extra-path-stderr.txt
index 8794f74bb2..e168a1b4e7 100644
--- a/Tests/RunCMake/CommandLine/S-B-extra-path-stderr.txt
+++ b/Tests/RunCMake/CommandLine/S-B-extra-path-stderr.txt
@@ -1,4 +1,4 @@
^CMake Warning:
Ignoring extra path from command line:
- /extra/path/$
+ "/extra/path/"$
diff --git a/Tests/RunCMake/CommandLine/S-B-non-path-stderr.txt b/Tests/RunCMake/CommandLine/S-B-non-path-stderr.txt
new file mode 100644
index 0000000000..6fa434126c
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/S-B-non-path-stderr.txt
@@ -0,0 +1,2 @@
+^CMake Warning:
+ Ignoring empty string \(""\) provided on the command line\.$
diff --git a/Tests/RunCMake/CommandLine/S-B-non-path2-stderr.txt b/Tests/RunCMake/CommandLine/S-B-non-path2-stderr.txt
new file mode 100644
index 0000000000..6fa434126c
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/S-B-non-path2-stderr.txt
@@ -0,0 +1,2 @@
+^CMake Warning:
+ Ignoring empty string \(""\) provided on the command line\.$
diff --git a/Tests/RunCMake/CommandLine/S-no-arg3-result.txt b/Tests/RunCMake/CommandLine/S-no-arg3-result.txt
new file mode 100644
index 0000000000..d00491fd7e
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/S-no-arg3-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CommandLine/S-no-arg3-stderr.txt b/Tests/RunCMake/CommandLine/S-no-arg3-stderr.txt
new file mode 100644
index 0000000000..d4fe65e903
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/S-no-arg3-stderr.txt
@@ -0,0 +1 @@
+^CMake Error: No source directory specified for -S