diff options
Diffstat (limited to 'tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp')
-rw-r--r-- | tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp b/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp index e735e463ee..f7b9bcba62 100644 --- a/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp +++ b/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp @@ -47,6 +47,14 @@ #include <QtNetwork/qhostaddress.h> #include <QtNetwork/qnetworkproxy.h> +#ifdef Q_OS_WINRT +#define WINRT_EXPECT_FAILURES \ + if (type == QSsl::PrivateKey) \ + QEXPECT_FAIL("", "No support for private keys on WinRT: QTBUG-40688", Abort); \ + if (strstr(QTest::currentDataTag(), "rsa-pub-40")) \ + QEXPECT_FAIL("", "Weak public keys are not supported on WinRT", Abort); +#endif + class tst_QSslKey : public QObject { Q_OBJECT @@ -171,6 +179,10 @@ void tst_QSslKey::constructor() QFETCH(QSsl::KeyType, type); QFETCH(QSsl::EncodingFormat, format); +#ifdef Q_OS_WINRT + WINRT_EXPECT_FAILURES +#endif + QByteArray encoded = readFile(absFilePath); QSslKey key(encoded, algorithm, format, type); QVERIFY(!key.isNull()); @@ -232,6 +244,10 @@ void tst_QSslKey::length() QFETCH(int, length); QFETCH(QSsl::EncodingFormat, format); +#ifdef Q_OS_WINRT + WINRT_EXPECT_FAILURES +#endif + QByteArray encoded = readFile(absFilePath); QSslKey key(encoded, algorithm, format, type); QVERIFY(!key.isNull()); @@ -253,6 +269,10 @@ void tst_QSslKey::toPemOrDer() QFETCH(QSsl::KeyType, type); QFETCH(QSsl::EncodingFormat, format); +#ifdef Q_OS_WINRT + WINRT_EXPECT_FAILURES +#endif + QByteArray encoded = readFile(absFilePath); QSslKey key(encoded, algorithm, format, type); QVERIFY(!key.isNull()); @@ -297,6 +317,10 @@ void tst_QSslKey::toEncryptedPemOrDer() QFETCH(QSsl::EncodingFormat, format); QFETCH(QString, password); +#ifdef Q_OS_WINRT + WINRT_EXPECT_FAILURES +#endif + QByteArray plain = readFile(absFilePath); QSslKey key(plain, algorithm, format, type); QVERIFY(!key.isNull()); @@ -374,6 +398,9 @@ void tst_QSslKey::passphraseChecks() QSslKey key(&keyFile,QSsl::Rsa,QSsl::Pem, QSsl::PrivateKey, "WRONG!"); QVERIFY(key.isNull()); // wrong passphrase => should not be able to decode key } +#ifdef Q_OS_WINRT + QEXPECT_FAIL("", "The WinRT backend does not support private key imports: QTBUG-40688", Abort); +#endif { if (!keyFile.isOpen()) keyFile.open(QIODevice::ReadOnly); |