From 5f686b8a6b5258f6c5aafbb33d7db36b38a3f06d Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Tue, 31 Mar 2015 15:04:39 -0400 Subject: [PATCH] Tests: Add case for CPack source package with symlinks --- Tests/RunCMake/CMakeLists.txt | 5 +++++ .../RunCMake/CPackSymlinks/RunCMakeTest.cmake | 20 ++++++++++++++++++ .../CPackSymlinks/SrcSymlinksTar-stdout.txt | 10 +++++++++ Tests/RunCMake/CPackSymlinks/testcpacksym.tar | Bin 0 -> 10240 bytes 4 files changed, 35 insertions(+) create mode 100644 Tests/RunCMake/CPackSymlinks/RunCMakeTest.cmake create mode 100644 Tests/RunCMake/CPackSymlinks/SrcSymlinksTar-stdout.txt create mode 100644 Tests/RunCMake/CPackSymlinks/testcpacksym.tar diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 7b9c81070f..12423325d9 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -203,6 +203,11 @@ add_RunCMake_test(install) add_RunCMake_test(CPackInstallProperties) add_RunCMake_test(ExternalProject) add_RunCMake_test(CTestCommandLine) +# Only run this test on unix platforms that support +# symbolic links +if(UNIX) + add_RunCMake_test(CPackSymlinks) +endif() set(IfacePaths_INCLUDE_DIRECTORIES_ARGS -DTEST_PROP=INCLUDE_DIRECTORIES) add_RunCMake_test(IfacePaths_INCLUDE_DIRECTORIES TEST_DIR IfacePaths) diff --git a/Tests/RunCMake/CPackSymlinks/RunCMakeTest.cmake b/Tests/RunCMake/CPackSymlinks/RunCMakeTest.cmake new file mode 100644 index 0000000000..439d95e617 --- /dev/null +++ b/Tests/RunCMake/CPackSymlinks/RunCMakeTest.cmake @@ -0,0 +1,20 @@ +include(RunCMake) + +function(run_cpack_symlink_test) + set(RunCMake_TEST_NO_CLEAN TRUE) + set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/SrcSymlinks-build") + set(RunCMake_TEST_SOURCE_DIR "${RunCMake_BINARY_DIR}/SrcSymlinks") + file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}") + file(REMOVE_RECURSE "${RunCMake_TEST_SOURCE_DIR}") + file(MAKE_DIRECTORY "${RunCMake_TEST_SOURCE_DIR}") + run_cmake_command(SrcSymlinksTar + ${CMAKE_COMMAND} -E chdir ${RunCMake_TEST_SOURCE_DIR} + ${CMAKE_COMMAND} -E tar xvf ${RunCMake_SOURCE_DIR}/testcpacksym.tar + ) + run_cmake(SrcSymlinksCMake) + run_cmake_command(SrcSymlinksCPack + ${CMAKE_CPACK_COMMAND} --config CPackSourceConfig.cmake + ) +endfunction() + +run_cpack_symlink_test() diff --git a/Tests/RunCMake/CPackSymlinks/SrcSymlinksTar-stdout.txt b/Tests/RunCMake/CPackSymlinks/SrcSymlinksTar-stdout.txt new file mode 100644 index 0000000000..24ad124720 --- /dev/null +++ b/Tests/RunCMake/CPackSymlinks/SrcSymlinksTar-stdout.txt @@ -0,0 +1,10 @@ +^x CMakeLists.txt +x cygwin/ +x cygwin/build.sh +x cygwin/setup.patch +x include/ +x include/src.h +x link.h +x real.h +x src/ +x src/src.h$ diff --git a/Tests/RunCMake/CPackSymlinks/testcpacksym.tar b/Tests/RunCMake/CPackSymlinks/testcpacksym.tar new file mode 100644 index 0000000000000000000000000000000000000000..a44c656e899de1b7730f1baab9e3d64e6b185e58 GIT binary patch literal 10240 zcmeHMU2mH(6y-U;f@yn5UcfdGKc|#!s0oQ6>9i+AfHo|FWqfF>rv3L_C#_1eEMY3H z)M28?G1pwoIX?GZ9CH$^<8e}yg;M?~B`yboW2oyAG?*Hw-ZB%?ks)DXAZlQwVX#BT zFeDjqnazRIswjh8mZf!)-7XJo_3k-)ee5gx9j3s)pC(z7R;i!I->M{!qyDw!diK`WbN&@1AyZ_Y;Mm2ZCj@X2=k*=TNl^qs}z!g6K& z*8%VCu_eFzX--C0mTxXx*K+2*H(j`<-Yep(?Wx`a-L~5&{+Pxo2pXEB`iJv-{UZ$0 zC!l|Hk#y_Za^nO`sv@U(>0m|JomvLuGYh+;dDj{wd`32K66Qh`>M4PbHZsiVE{$Uv6`gI$r;=w>f^` z?pMt}@o%vDpAZcCCwUxfcu%h5{J#XmjQ^AQAIRR<{}>SvKE!{FK>uR@=Q&Zg*|kN) zJ~uZ}AzlEQA@+ZbV)>Q#6Yb)Eqx~Ov|EFyK7Yzv#^&f9un1Al|72M-&{IAvjM1%hc qFg95IFXI18tN?Kjfq+0jARrJB2nYlO0s;YnfIvVXAQ0#R0>1$bB`aM3 literal 0 HcmV?d00001