summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2022-12-05 15:36:43 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-01-04 07:35:57 +0000
commit8cc8e98c64f7fdea58593b4d1344bef2686c5ed1 (patch)
treeefdbaa0458909972f27cdbfaaed1f7375800acc2
parent0b326ac057d8277b2e94cb90e9e80207cc174de9 (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.txt20
-rw-r--r--tests/auto/core/qwebengineclientcertificatestore/resources/client2.p12bin2549 -> 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
index feccd77e1..81e7eb624 100644
--- a/tests/auto/core/qwebengineclientcertificatestore/resources/client2.p12
+++ b/tests/auto/core/qwebengineclientcertificatestore/resources/client2.p12
Binary files differ