diff options
author | Michal Klocek <michal.klocek@qt.io> | 2022-12-05 15:36:43 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-01-04 07:35:57 +0000 |
commit | 8cc8e98c64f7fdea58593b4d1344bef2686c5ed1 (patch) | |
tree | efdbaa0458909972f27cdbfaaed1f7375800acc2 | |
parent | 0b326ac057d8277b2e94cb90e9e80207cc174de9 (diff) |
Fix creation of nssdb for certificate store unit test
In case there is no nssdb in system create empty database.
This got unnoticed as running webengine creates one, however when
doing test configuration on fresh system without one pk12utils fails.
Move 'nickname' to certificate otherwise clean job does not work.
Task-number: QTBUG-109179
Change-Id: I401ffab62dd13d7aa1459672b1170afcde3cde83
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
(cherry picked from commit b3b4aef1d67096632c703adca6fdfb2b676bdc0a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | tests/auto/core/qwebengineclientcertificatestore/CMakeLists.txt | 20 | ||||
-rw-r--r-- | tests/auto/core/qwebengineclientcertificatestore/resources/client2.p12 | bin | 2549 -> 2710 bytes |
2 files changed, 13 insertions, 7 deletions
diff --git a/tests/auto/core/qwebengineclientcertificatestore/CMakeLists.txt b/tests/auto/core/qwebengineclientcertificatestore/CMakeLists.txt index 7ecc71637..ee5473348 100644 --- a/tests/auto/core/qwebengineclientcertificatestore/CMakeLists.txt +++ b/tests/auto/core/qwebengineclientcertificatestore/CMakeLists.txt @@ -36,35 +36,41 @@ if(LINUX AND NOT CMAKE_CROSSCOMPILING) get_filename_component(homePath $ENV{HOME} ABSOLUTE) find_program(pk12util_EXECUTABLE NAMES pk12util) + find_program(certutil_EXECUTABLE NAMES certutil) - if(pk12util_EXECUTABLE) + if(pk12util_EXECUTABLE AND certutil_EXECUTABLE) add_custom_command( DEPENDS resources/client2.p12 - COMMAND ${pk12util_EXECUTABLE} - -d sql:"${homePath}/.pki/nssdb" - -n qwebengineclientcertificatestore + COMMAND test -e "${homePath}/.pki/nssdb" || ${CMAKE_COMMAND} -E make_directory + "${homePath}/.pki/nssdb" + COMMAND test -e "${homePath}/.pki/nssdb/cert9.db" || ${certutil_EXECUTABLE} + -N --empty-password -d sql:${homePath}/.pki/nssdb + COMMAND test -e "${homePath}/.pki/nssdb/cert9.db" && ${pk12util_EXECUTABLE} + -d sql:${homePath}/.pki/nssdb -i "${CMAKE_CURRENT_LIST_DIR}/resources/client2.p12" - -W \"\" + -W "" COMMAND ${CMAKE_COMMAND} -E touch pk12util.stamp OUTPUT pk12util.stamp + VERBATIM + USES_TERMINAL ) add_custom_target( add-user-personal-certificate DEPENDS pk12util.stamp ) qt_internal_extend_target(tst_qwebengineclientcertificatestore DEFINES TEST_NSS) - add_dependencies(tst_qwebengineclientcertificatestore add-user-personal-certificate) + add_dependencies(tst_qwebengineclientcertificatestore add-user-personal-certificate) endif() find_program(certutil_EXECUTABLE NAMES certutil) if(certutil_EXECUTABLE) add_custom_target(remove-user-personal-certificate + COMMAND ${CMAKE_COMMAND} -E remove pk12util.stamp COMMAND ${certutil_EXECUTABLE} -d sql:"${homePath}/.pki/nssdb" -D -n qwebengineclientcertificatestore - COMMAND ${CMAKE_COMMAND} -E remove pk12util.stamp ) endif() endif() diff --git a/tests/auto/core/qwebengineclientcertificatestore/resources/client2.p12 b/tests/auto/core/qwebengineclientcertificatestore/resources/client2.p12 Binary files differindex feccd77e1..81e7eb624 100644 --- a/tests/auto/core/qwebengineclientcertificatestore/resources/client2.p12 +++ b/tests/auto/core/qwebengineclientcertificatestore/resources/client2.p12 |