Teach CTest.UpdateGIT test to fake file timestamp

We wrap the git executable in a shell script that touches one source
file after 'git pull'.  This makes the file newer than the index even
though it has not actually changed.  If CTest does not refresh the index
properly then the test will fail with a bogus modified file.
This commit is contained in:
Brad King 2010-02-09 13:31:40 -05:00
parent 8bd231866a
commit 6e7e71e9b9
2 changed files with 12 additions and 0 deletions

View File

@ -25,6 +25,12 @@ set(AUTHOR_CONFIG "[user]
message("Creating test directory...")
init_testing()
if(UNIX)
set(src "@CMAKE_CURRENT_SOURCE_DIR@")
configure_file(${src}/CTestUpdateGIT.sh.in ${TOP}/git.sh @ONLY)
set(GIT ${TOP}/git.sh)
endif()
#-----------------------------------------------------------------------------
# Create the repository.
message("Creating repository...")

6
Tests/CTestUpdateGIT.sh.in Executable file
View File

@ -0,0 +1,6 @@
#!/bin/sh
if test "x$1" = "xpull"; then
"@GIT@" "$@" && sleep 1 && touch foo.txt
else
exec "@GIT@" "$@"
fi