diff options
author | Ingo Klöcker <[email protected]> | 2020-08-14 09:11:23 +0000 |
---|---|---|
committer | Ingo Klöcker <[email protected]> | 2020-08-14 09:11:23 +0000 |
commit | f66f856c89b7c02e368afe2343de7cce50e6109e (patch) | |
tree | 7a49ff36dd54043a28de0b8d4e50efc45f71c852 /lang/qt/tests/t-various.cpp | |
parent | qt: Support changing expiry of subkeys (diff) | |
download | gpgme-f66f856c89b7c02e368afe2343de7cce50e6109e.tar.gz gpgme-f66f856c89b7c02e368afe2343de7cce50e6109e.zip |
core: Add error handling to setexpire
* src/genkey.c (setexpire, gpgme_op_setexpire_start,
gpgme_op_setexpire): Move to ...
* src/setexpire.c: New.
* src/Makefile.am (main_sources): Add that file.
* src/context.h (ctx_op_data_id_t): Add OPDATA_SETEXPIRE.
* lang/qt/tests/t-various.cpp (testSetExpire): Test error handling.
--
Errors (and failures) emitted via status-fd need to be handled
explicitly, i.e. we need to provide an appropriate status handler with
corresponding op_data_t. Additionally, we need to set a passphrase
command handler if a passphrase callback is set in the context, e.g.
during tests.
GnuPG-bug-id: 4395
Diffstat (limited to 'lang/qt/tests/t-various.cpp')
-rw-r--r-- | lang/qt/tests/t-various.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lang/qt/tests/t-various.cpp b/lang/qt/tests/t-various.cpp index dc5a2d1c..1e6bba41 100644 --- a/lang/qt/tests/t-various.cpp +++ b/lang/qt/tests/t-various.cpp @@ -222,6 +222,15 @@ private Q_SLOTS: QVERIFY (key.subkey(0).expirationTime() == keyExpiration); QVERIFY (key.subkey(1).expirationTime() != subkeyExpiration); + + // test error handling: calling setExpire() with the primary key as + // subkey should fail with "subkey <primary key fpr> not found" + ctx = Context::createForProtocol(key.protocol()); + std::vector<Subkey> primaryKey; + primaryKey.push_back(key.subkey(0)); + const auto err = ctx->setExpire(key, 3000, primaryKey); + QCOMPARE(err.code(), GPG_ERR_NOT_FOUND); + delete ctx; } void testVersion() |