summaryrefslogtreecommitdiff
path: root/Tests
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-02-23 15:59:07 -0500
committerBrad King <brad.king@kitware.com>2009-02-23 15:59:07 -0500
commit5b49f22cafba29e044737fbfafa38fdfebd9d8e2 (patch)
tree2260b14efc970e62218609ffdf198328f9c916e0 /Tests
parenta16c857c30357d2ec03c975f64abb19ff78dd77d (diff)
downloadcmake-5b49f22cafba29e044737fbfafa38fdfebd9d8e2.tar.gz
ENH: Enhance CTest.UpdateCVS/SVN tests
This adds a source tree subdirectory to the content of the test projects. It also smoke tests more than one revision worth of changes.
Diffstat (limited to 'Tests')
-rw-r--r--Tests/CTestUpdateCVS.cmake.in21
-rw-r--r--Tests/CTestUpdateCommon.cmake21
-rw-r--r--Tests/CTestUpdateSVN.cmake.in21
3 files changed, 57 insertions, 6 deletions
diff --git a/Tests/CTestUpdateCVS.cmake.in b/Tests/CTestUpdateCVS.cmake.in
index f1bfc30656..a0507dd521 100644
--- a/Tests/CTestUpdateCVS.cmake.in
+++ b/Tests/CTestUpdateCVS.cmake.in
@@ -57,7 +57,13 @@ run_child(
#-----------------------------------------------------------------------------
# Make changes in the working tree.
message("Changing content...")
-update_content(user-source files_added files_removed)
+update_content(user-source files_added files_removed dirs_added)
+if(dirs_added)
+ run_child(
+ WORKING_DIRECTORY ${TOP}/user-source
+ COMMAND ${CVSCMD} add ${dirs_added}
+ )
+endif(dirs_added)
run_child(
WORKING_DIRECTORY ${TOP}/user-source
COMMAND ${CVSCMD} add ${files_added}
@@ -76,6 +82,19 @@ run_child(
)
#-----------------------------------------------------------------------------
+# Make changes in the working tree.
+message("Changing content again...")
+change_content(user-source)
+
+#-----------------------------------------------------------------------------
+# Commit the changes to the repository.
+message("Committing revision 3...")
+run_child(
+ WORKING_DIRECTORY ${TOP}/user-source
+ COMMAND ${CVSCMD} commit -m "Changed content again"
+ )
+
+#-----------------------------------------------------------------------------
# Go back to before the changes so we can test updating.
message("Backing up to revision 1...")
run_child(
diff --git a/Tests/CTestUpdateCommon.cmake b/Tests/CTestUpdateCommon.cmake
index 4502908e45..6c2a123093 100644
--- a/Tests/CTestUpdateCommon.cmake
+++ b/Tests/CTestUpdateCommon.cmake
@@ -88,15 +88,26 @@ endfunction(create_content)
#-----------------------------------------------------------------------------
# Function to update content.
-function(update_content dir added_var removed_var)
+function(update_content dir added_var removed_var dirs_var)
file(APPEND ${TOP}/${dir}/foo.txt "foo line 2\n")
file(WRITE ${TOP}/${dir}/zot.txt "zot\n")
file(REMOVE ${TOP}/${dir}/bar.txt)
- set(${added_var} zot.txt PARENT_SCOPE)
+ file(MAKE_DIRECTORY ${TOP}/${dir}/subdir)
+ file(WRITE ${TOP}/${dir}/subdir/foo.txt "foo\n")
+ file(WRITE ${TOP}/${dir}/subdir/bar.txt "bar\n")
+ set(${dirs_var} subdir PARENT_SCOPE)
+ set(${added_var} zot.txt subdir/foo.txt subdir/bar.txt PARENT_SCOPE)
set(${removed_var} bar.txt PARENT_SCOPE)
endfunction(update_content)
#-----------------------------------------------------------------------------
+# Function to change existing files
+function(change_content dir)
+ file(APPEND ${TOP}/${dir}/foo.txt "foo line 3\n")
+ file(APPEND ${TOP}/${dir}/subdir/foo.txt "foo line 2\n")
+endfunction(change_content)
+
+#-----------------------------------------------------------------------------
# Function to write CTestConfiguration.ini content.
function(create_build_tree src_dir bin_dir)
file(MAKE_DIRECTORY ${TOP}/${bin_dir})
@@ -136,7 +147,8 @@ function(run_dashboard_command_line bin_dir)
)
# Verify the updates reported by CTest.
- check_updates(${bin_dir} foo.txt bar.txt zot.txt)
+ check_updates(${bin_dir} foo.txt bar.txt zot.txt
+ subdir/foo.txt subdir/bar.txt)
endfunction(run_dashboard_command_line)
#-----------------------------------------------------------------------------
@@ -148,7 +160,8 @@ function(run_dashboard_script name)
)
# Verify the updates reported by CTest.
- check_updates(dash-binary foo.txt bar.txt zot.txt)
+ check_updates(dash-binary foo.txt bar.txt zot.txt
+ subdir/foo.txt subdir/bar.txt)
endfunction(run_dashboard_script)
#-----------------------------------------------------------------------------
diff --git a/Tests/CTestUpdateSVN.cmake.in b/Tests/CTestUpdateSVN.cmake.in
index 48df4218bb..e3b1b5ecdd 100644
--- a/Tests/CTestUpdateSVN.cmake.in
+++ b/Tests/CTestUpdateSVN.cmake.in
@@ -58,7 +58,13 @@ run_child(
#-----------------------------------------------------------------------------
# Make changes in the working tree.
message("Changing content...")
-update_content(user-source files_added files_removed)
+update_content(user-source files_added files_removed dirs_added)
+if(dirs_added)
+ run_child(
+ WORKING_DIRECTORY ${TOP}/user-source
+ COMMAND ${SVNCMD} add ${dirs_added}
+ )
+endif(dirs_added)
run_child(
WORKING_DIRECTORY ${TOP}/user-source
COMMAND ${SVNCMD} add ${files_added}
@@ -77,6 +83,19 @@ run_child(
)
#-----------------------------------------------------------------------------
+# Make changes in the working tree.
+message("Changing content again...")
+change_content(user-source)
+
+#-----------------------------------------------------------------------------
+# Commit the changes to the repository.
+message("Committing revision 3...")
+run_child(
+ WORKING_DIRECTORY ${TOP}/user-source
+ COMMAND ${SVNCMD} commit -m "Changed content again"
+ )
+
+#-----------------------------------------------------------------------------
# Go back to before the changes so we can test updating.
message("Backing up to revision 1...")
run_child(