mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-07 23:59:41 -06:00
Merge topic 'test-RunCPack'
3b8f32c60aTests: Add RunCMake.CPack_{DEB,RPM} cases using RunCPack infrastructure76249af81eTests: Comment where RunCPack keeps sample projects for `RunCMake.CPack_*`422d624764Tests: Add option to enable CPack RPM generator tests explicitly73aa35427bTests: Add option to enable CPack DEB generator tests explicitly Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11512
This commit is contained in:
@@ -157,24 +157,38 @@ if(BUILD_TESTING)
|
||||
# Look for git to use for tests.
|
||||
find_program(GIT_EXECUTABLE NAMES git)
|
||||
|
||||
# Look for rpmbuild to use for tests.
|
||||
# The tool does not work with spaces in the path.
|
||||
if(NOT CMAKE_CURRENT_BINARY_DIR MATCHES " ")
|
||||
find_program(RPMBUILD_EXECUTABLE NAMES rpmbuild)
|
||||
else()
|
||||
set(RPMBUILD_EXECUTABLE "RPMBUILD_EXECUTABLE-NOTFOUND")
|
||||
if(NOT DEFINED CMake_TEST_CPACK_RPM)
|
||||
# Look for rpmbuild to use for tests.
|
||||
# The tool does not work with spaces in the path.
|
||||
if(NOT CMAKE_CURRENT_BINARY_DIR MATCHES " ")
|
||||
find_program(RPMBUILD_EXECUTABLE NAMES rpmbuild)
|
||||
else()
|
||||
set(RPMBUILD_EXECUTABLE "RPMBUILD_EXECUTABLE-NOTFOUND")
|
||||
endif()
|
||||
if(RPMBUILD_EXECUTABLE)
|
||||
set(CMake_TEST_CPACK_RPM 1)
|
||||
else()
|
||||
set(CMake_TEST_CPACK_RPM 0)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(RPMBUILD_EXECUTABLE)
|
||||
if(CMake_TEST_CPACK_RPM)
|
||||
set(CPACK_BINARY_RPM ON)
|
||||
else()
|
||||
set(CPACK_BINARY_RPM OFF)
|
||||
endif()
|
||||
|
||||
# Look for dpkg to use for tests.
|
||||
find_program(DPKG_EXECUTABLE NAMES dpkg)
|
||||
if(NOT DEFINED CMake_TEST_CPACK_DEB)
|
||||
# Look for dpkg to use for tests.
|
||||
find_program(DPKG_EXECUTABLE NAMES dpkg)
|
||||
if(DPKG_EXECUTABLE)
|
||||
set(CMake_TEST_CPACK_DEB 1)
|
||||
else()
|
||||
set(CMake_TEST_CPACK_DEB 0)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(DPKG_EXECUTABLE)
|
||||
if(CMake_TEST_CPACK_DEB)
|
||||
set(CPACK_BINARY_DEB ON)
|
||||
else()
|
||||
set(CPACK_BINARY_DEB OFF)
|
||||
@@ -1205,7 +1219,7 @@ if(BUILD_TESTING)
|
||||
endforeach()
|
||||
|
||||
# debian specific
|
||||
if(DPKG_EXECUTABLE)
|
||||
if(CMake_TEST_CPACK_DEB)
|
||||
unset(CPackRun_CPackDEBConfiguration_ALL_CONFIGS)
|
||||
set(DEB_TEST_NAMES "CPackComponentsDEB")
|
||||
set(DEB_CONFIGURATIONS_TO_TEST "components-lintian-dpkgdeb-checks"
|
||||
|
||||
@@ -1321,6 +1321,14 @@ if(CMake_TEST_CPACK_APPIMAGE)
|
||||
)
|
||||
endif()
|
||||
|
||||
if(CMake_TEST_CPACK_DEB)
|
||||
add_RunCMake_test(CPack_DEB)
|
||||
endif()
|
||||
|
||||
if(CMake_TEST_CPACK_RPM)
|
||||
add_RunCMake_test(CPack_RPM)
|
||||
endif()
|
||||
|
||||
if(CMake_TEST_CPACK_WIX3 OR CMake_TEST_CPACK_WIX4)
|
||||
add_RunCMake_test(CPack_WIX
|
||||
-DCMake_TEST_CPACK_WIX3=${CMake_TEST_CPACK_WIX3}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
include(RunCPack)
|
||||
include(RunCPack) # Uses sample projects from `../RunCPack/*`
|
||||
|
||||
set(RunCPack_GENERATORS AppImage)
|
||||
|
||||
|
||||
8
Tests/RunCMake/CPack_DEB/Basic-cpack-DEB-stdout.txt
Normal file
8
Tests/RunCMake/CPack_DEB/Basic-cpack-DEB-stdout.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
CPack: Create package using DEB
|
||||
CPack: Install projects(
|
||||
CPack: - Run preinstall target for: Basic)?
|
||||
CPack: - Install project: Basic \[Release\]
|
||||
CPack: Create package
|
||||
-- CPACK_DEBIAN_PACKAGE_DEPENDS not set, the package will have no dependencies\.
|
||||
CPack: - package: [^
|
||||
]*/Tests/RunCMake/CPack_DEB/Basic-build/Basic-1\.2\.3-[A-Za-z]+\.deb generated\.
|
||||
14
Tests/RunCMake/CPack_DEB/Basic-verify-stdout.txt
Normal file
14
Tests/RunCMake/CPack_DEB/Basic-verify-stdout.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
-- Basic-1\.2\.3-[A-Za-z]+\.deb
|
||||
-- dpkg-deb --info(
|
||||
[^
|
||||
]+)*
|
||||
Maintainer: somebody@cmake\.org(
|
||||
[^
|
||||
]+)*
|
||||
-- dpkg-deb --contents
|
||||
d[rwx-]+ root/root 0 [0-9-]+ [0-9:]+ \./usr/
|
||||
d[rwx-]+ root/root 0 [0-9-]+ [0-9:]+ \./usr/share/
|
||||
d[rwx-]+ root/root 0 [0-9-]+ [0-9:]+ \./usr/share/doc/
|
||||
d[rwx-]+ root/root 0 [0-9-]+ [0-9:]+ \./usr/share/doc/basic/
|
||||
-[rwx-]+ root/root 0 [0-9-]+ [0-9:]+ \./usr/share/doc/basic/basic\.txt
|
||||
--
|
||||
7
Tests/RunCMake/CPack_DEB/RunCMakeTest.cmake
Normal file
7
Tests/RunCMake/CPack_DEB/RunCMakeTest.cmake
Normal file
@@ -0,0 +1,7 @@
|
||||
include(RunCPack)
|
||||
|
||||
set(RunCPack_GENERATORS DEB)
|
||||
set(RunCPack_GLOB *.deb)
|
||||
set(RunCPack_VERIFY ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_LIST_DIR}/verify.cmake --)
|
||||
|
||||
run_cpack(Basic)
|
||||
4
Tests/RunCMake/CPack_DEB/verify.cmake
Normal file
4
Tests/RunCMake/CPack_DEB/verify.cmake
Normal file
@@ -0,0 +1,4 @@
|
||||
message(STATUS "dpkg-deb --info")
|
||||
execute_process(COMMAND dpkg-deb --info ${CMAKE_ARGV4})
|
||||
message(STATUS "dpkg-deb --contents")
|
||||
execute_process(COMMAND dpkg-deb --contents ${CMAKE_ARGV4})
|
||||
@@ -1,4 +1,4 @@
|
||||
include(RunCPack)
|
||||
include(RunCPack) # Uses sample projects from `../RunCPack/*`
|
||||
|
||||
set(env_PATH "$ENV{PATH}")
|
||||
|
||||
|
||||
2
Tests/RunCMake/CPack_RPM/Basic-cpack-RPM-stderr.txt
Normal file
2
Tests/RunCMake/CPack_RPM/Basic-cpack-RPM-stderr.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
CPackRPM: Will use GENERATED spec file: [^
|
||||
]*/Tests/RunCMake/CPack_RPM/Basic-build/_CPack_Packages/[A-Za-z]+/RPM/SPECS/basic\.spec
|
||||
7
Tests/RunCMake/CPack_RPM/Basic-cpack-RPM-stdout.txt
Normal file
7
Tests/RunCMake/CPack_RPM/Basic-cpack-RPM-stdout.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
CPack: Create package using RPM
|
||||
CPack: Install projects(
|
||||
CPack: - Run preinstall target for: Basic)?
|
||||
CPack: - Install project: Basic \[Release\]
|
||||
CPack: Create package
|
||||
CPack: - package: [^
|
||||
]*/Tests/RunCMake/CPack_RPM/Basic-build/Basic-1\.2\.3-[A-Za-z]+\.rpm generated\.
|
||||
2
Tests/RunCMake/CPack_RPM/Basic-verify-stderr.txt
Normal file
2
Tests/RunCMake/CPack_RPM/Basic-verify-stderr.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
^(error: can't create transaction lock[^
|
||||
]*)?$
|
||||
4
Tests/RunCMake/CPack_RPM/Basic-verify-stdout.txt
Normal file
4
Tests/RunCMake/CPack_RPM/Basic-verify-stdout.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
-- Basic-1\.2\.3-[A-Za-z]+\.rpm
|
||||
/usr/share/doc/basic
|
||||
/usr/share/doc/basic/basic\.txt
|
||||
--
|
||||
7
Tests/RunCMake/CPack_RPM/RunCMakeTest.cmake
Normal file
7
Tests/RunCMake/CPack_RPM/RunCMakeTest.cmake
Normal file
@@ -0,0 +1,7 @@
|
||||
include(RunCPack)
|
||||
|
||||
set(RunCPack_GENERATORS RPM)
|
||||
set(RunCPack_GLOB *.rpm)
|
||||
set(RunCPack_VERIFY rpm -qlp)
|
||||
|
||||
run_cpack(Basic)
|
||||
@@ -1,4 +1,4 @@
|
||||
include(RunCPack)
|
||||
include(RunCPack) # Uses sample projects from `../RunCPack/*`
|
||||
|
||||
set(env_PATH "$ENV{PATH}")
|
||||
|
||||
|
||||
7
Tests/RunCMake/RunCPack/Basic/CMakeLists.txt
Normal file
7
Tests/RunCMake/RunCPack/Basic/CMakeLists.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
cmake_minimum_required(VERSION 4.2)
|
||||
project(Basic LANGUAGES NONE VERSION "1.2.3")
|
||||
|
||||
install(FILES basic.txt DESTINATION share/doc/basic)
|
||||
|
||||
set(CPACK_PACKAGE_CONTACT "somebody@cmake.org")
|
||||
include(CPack)
|
||||
0
Tests/RunCMake/RunCPack/Basic/basic.txt
Normal file
0
Tests/RunCMake/RunCPack/Basic/basic.txt
Normal file
Reference in New Issue
Block a user